2016-12-08 17:23 +0000 Asterisk Development Team * asterisk 11.25.1 Released. 2016-12-08 11:22 +0000 [370f5cdc46] Kevin Harwell * Update for 11.25.1 2016-11-30 09:31 +0000 [7c01f1977a] Walter Doekes * chan_sip: Do not allow non-SP/HTAB between header key and colon. RFC says SIP headers look like: HCOLON = *( SP / HTAB ) ":" SWS SWS = [LWS] ; sep whitespace LWS = [*WSP CRLF] 1*WSP ; linear whitespace WSP = SP / HTAB ; from rfc2234 chan_sip implemented this: HCOLON = *( LOWCTL / SP ) ":" SWS LOWCTL = %x00-1F ; CTL without DEL This discrepancy meant that SIP proxies in front of Asterisk with chan_sip could pass on unknown headers with \x00-\x1F in them, which would be treated by Asterisk as a different (known) header. For example, the "To\x01:" header would gladly be forwarded by some proxies as irrelevant, but chan_sip would treat it as the relevant "To:" header. Those relying on a SIP proxy to scrub certain headers could mistakenly get unexpected and unvalidated data fed to Asterisk. This change fixes so chan_sip only considers SP/HTAB as valid tokens before the colon, making it agree on the headers with other speakers of SIP. ASTERISK-26433 #close AST-2016-009 Change-Id: I78086fbc524ac733b8f7f78cb423c91075fd489b (cherry picked from commit 26dd464dbd0ad7439bc29ce59ec55903d518ec6e) 2016-11-22 17:16 +0000 Asterisk Development Team * asterisk 11.25.0 Released. 2016-11-18 18:52 +0000 Asterisk Development Team * asterisk 11.25.0-rc1 Released. 2016-10-26 07:51 +0000 [5fc23415ec] Joshua Colp * app_voicemail: Clear voice mailbox in MailboxExists and MAILBOX_EXISTS. When executing the MailboxExists dialplan application and MAILBOX_EXISTS dialplan function the passed in temporary voice mailbox was not cleared, causing it to try to free garbage. ASTERISK-26503 #close Change-Id: Ie21ccfa1b80b9c59318e596f6b8e17da2b5a7cb3 2016-10-25 04:09 +0000 [304f3278b5] Walter Doekes * chan_iax2: Fix use of uninited memory in try_transfer. - if newip contained the right stack garbage, it would overwrite the correct IP - memmove was unnecessary Reported by: saltsa (on IRC) Change-Id: I9375589f832b08cdff5b05ba975f3c62eef80619 2016-10-18 03:01 +0000 [bce0fd4179] Alexander Traud * cli: Auto-complete File not Module for core set debug. Since Asterisk 1.8, the command "core set debug" on the command-line interface asks not for a file (.c) but a module name. This change shows modules (.so) on the auto-completion via a tabulator or the question mark. Now, when you partially type a module name, TAB or ?, you get the correct candidiates. ASTERISK-26480 Change-Id: I1213f1dd409bd4ff8de08ad80cb0c73cafb1bae0 2016-09-11 10:13 +0000 [4e2c7776ee] Tzafrir Cohen * menuselect: invalid test for GTK2 configuire.ac was only checking for the existence of pkg-config and not the gtk2 package itself. Now it calls AST_PKG_CONFIG_CHECK for gtk+-2.0. ASTERISK-26356 #close Change-Id: I8079d515d6ea99f9ab320a7eaa71c2aaa101ccd5 2016-10-13 14:09 +0000 [32d63e016f] Leandro Dardini * app_queue: Added initialization for "context" parameter When using Asterisk Realtime Architecture, empty fields are skipped and the default values are used. If the "context" parameter in queue was set and then cleared from the database, the old value remains in memory and it continues to be used. This change initialize the "context" parameter with an empty value, allowing clearing the parameter. ASTERISK-26462 #close Change-Id: I64be73d5044ce38dd02408bd0e53de965ef65905 2016-10-11 06:55 +0000 [68c8373a0e] Alexander Traud * chan_sip: Support nat=auto_comedia or nat=force_rport,auto_comedia. In the SIP channel driver chan_sip, auto_comedia was expected to be used in tandem with auto_force_rport. Or stated differently: Only when auto_force_rport was chosen (the default), auto_comedia worked. This change allows auto_comedia to be set independently of the state of (auto_)force_rport. For example, nat=force_rport,auto_comedia is useful for IPv4/IPv6 Dual Stack deployments when IPv6 clients are behind a Firewall. ASTERISK-26457 #close Change-Id: Ib29d66c6dbb61648e371e01fc36c6978ddae5bc2 2016-10-17 16:24 +0000 Asterisk Development Team * asterisk 11.24.0-rc1 Released. 2016-10-15 04:58 +0000 [3f1df969ee] Michael Kuron * chan_sip: Only send video on outgoing channel if incoming channel supports it Previously, the settings videosupport=always and videosupport=yes behaved identically and unconditionally caused a video offer to be sent in the SDP on an outgoing call. This was a regression introduced with commit 5a1d90e1fbfc4b48927aad55311f3b38efbf1f54 in Asterisk 1.6.1. This commit restores correct behavior: videosupport=always causes a video offer to be sent unconditionally, while videosupport=yes will only offer video on an outbound channel if the incoming channel it is bridged to also supports video. That way, the device receiving the outgoing call can display the correct user interface elements for audio or video and will not unnecessarily show a blank video window on an audio-only call. ASTERISK-17470 #close Change-Id: I782f4409d436114dbc97061c3570c0cd24f7c3ae 2016-09-29 13:08 +0000 [c0c041d9c7] Torrey Searle * res_fax: Fix a tight race condition causing fax to crash in audio fallback When T.38 gets rejected and G711 failback occurs there is a period of time where neither AST_FAX_TECH_T38 nor AST_FAX_TECH_AUDIO is set, leading to a crash. Change-Id: Icc3f457b2292d48a9d7843dac0028347420cc982 2016-09-29 12:52 +0000 [847ead5a9a] Torrey Searle * res_rtp_asterisk: Fix infinite DTMF issue when switching to P2P bridge If a bridge switched to P2P when a DTMF was in progress it was possible for the DTMF to continue being sent indefinitely. Change-Id: I7e2a3efe0d59d4b214ed50cd0b5d0317e2d92e29 2016-10-09 21:53 +0000 [b39763c6d5] Badalyan Vyacheslav * cel_odbc: Fix memory leak on module unload Change-Id: Ic7a1236eba2408090fdabb5f717b5fa455ead715 2016-10-05 04:42 +0000 [94bcc8b705] Alexander Traud * chan_sip: Honor support of Symmetric Response (rport) for SIP requests. In the SIP channel driver chan_sip, the default is "auto_force_rport". When no NAT was detected, for example in case of IPv6, Asterisk uses the IP address from the headers within the SIP-REGISTER for subsequent SIP signaling. When the remote party specifies support for Symmetric Response (RFC 3581) via the parameter "rport", Asterisk should not extract the port from the SIP headers but reuse the port of the transport. This did not happen because of a typo. ASTERISK-26438 #close Change-Id: If6e7891848aaf96666dee5305695f7c6667cd5a6 2016-09-23 09:54 +0000 [69fb442890] Alessandro Crespi * chan_sip: Resolve externhost not to IPv6; instead go for IPv4. For the channel driver chan_sip, you specify externhost=example.com in sip.conf when your Asterisk is behind a NAT and your IP address is assigned dynamically. Or stated differently: You do not have a static IP address to use "externaddr" directly. This NAT support is quite handy but just about IPv4. Previously, Asterisk resolved "externhost" to any IP version. When the first DNS answer resolved to an IPv6, Asterisk sent an IPv6 in SIP/SDP for origin (o=) and connection (c=). This happened in outgoing SIP-REGISTER and while answering SIP-INVITE. If the remote peer is IPv4-only, it might not handle o=/c= with an IPv6. This change makes sure, no IPv6 is resolved anymore for "externhost". ASTERISK-18232 #close Reported by: Jacek Kowalski Tested by: Alexander Traud patches: changes.patch submitted by Alessandro Crespi Change-Id: If68eedbeff65bd1c1d8a9ed921c02ba464b32dac 2016-09-12 07:37 +0000 [c5a420d5d7] Tzafrir Cohen * cdr_mysql: fix UTC support * Make 'cdrzone=UTC' work properly. * Fix the documentation of cdr_mysql.conf: it's cdrzone and not timezone ASTERISK-26359 #close Change-Id: I2a6f67b71bbbe77cac31a34d0bbfb1d67c933778 (cherry picked from commit d3ddf4b0fdaf3e9562ede947c2367031434b3b5e) 2016-09-20 10:05 +0000 [86c72602f3] Corey Farrell * logger: Fix default console settings. When logger.conf is missing or invalid we should be printing notices, warnings and errors to the console. The logmask was incorrectly calculated. Change-Id: Ibaa9465a8682854bc1a5e9ba07079bea1bfb6bb3 2016-09-19 14:21 +0000 [b4ed4e7654] Walter Doekes * asterisk.c: Non-root users also get the astcanary after core restart. Without this change, a 'core restart' would kill the astcanary forever if you're not running as root. Both with and without this patch, the scheduling priority was still SCHED_RR after restart. Additionally, the astcanary is now spawned if you start with high priority and Asterisk doesn't get a chance to lower it. For example through: `chrt -r 10 sudo -u asterisk asterisk -c` Also reap killed astcanary processes on core restart. ASTERISK-26352 #close Change-Id: Iacb49f26491a0717084ad46ed96b0bea5f627a55 2016-09-19 14:26 +0000 [899546979a] Walter Doekes * asterisk.c: When astcanary dies on linux, reset priority on all threads. Previously only the canary checking thread itself had its priority set to SCHED_OTHER. Now all threads are traversed and adjusted. ASTERISK-19867 #close Reported by: Xavier Hienne Change-Id: Ie0dd02a3ec42f66a78303e9c1aac28f7ed9aae39 2016-09-09 06:35 +0000 [63d3d393b2] Timo Teräs * Fix showing of swap details when sysinfo() is available If sysinfo() is available, but not sysctl() or swapctl() the printing code for swap buffer sizes is incorrectly omitted. The above condition happens with musl c-library. Fix #if rule to consider defined(HAVE_SYSINFO). And also remove the redundant || defined(HAVE_SYSCTL) which was incorrectly there to start with. Now swap information is displayed only if an actual libc function to get it is available. This also fixes warnings previously seen with musl libc: [CC] asterisk.c -> asterisk.o asterisk.c: In function 'handle_show_sysinfo': asterisk.c:773:6: warning: variable 'totalswap' set but not used [-Wunused-but-set-variable] int totalswap = 0; ^~~~~~~~~ asterisk.c:770:11: warning: variable 'freeswap' set but not used [-Wunused-but-set-variable] uint64_t freeswap = 0; ^~~~~~~~ Change-Id: I1fb21dad8f27e416c60f138c6f2bff03fb626eca 2016-09-13 05:34 +0000 [c53dcd2c50] Steve Davies * chan_sip: Fix session timeout on retransmit of non-UDP packets Change-Id I1cd33453c77c56c8e1394cd60a6f17bb61c1d957 Enable Session-Timers for SIP over TCP (and TLS) also disables SIP retransmits in chan_sip for non-UDP connections, allowing the TCP layer to handle the retransmits. Unfortunately, this caused sessions to be terminated with a retransmit timeout becasue it stopped at the point of the first retrans call. This patch waits for the 64*T1 timer to expire instead. ASTERISK-19968 Change-Id: I844f26801aada10bc94e9bebe6e151f0a8443204 2016-09-12 12:25 +0000 [b1b406cb12] Richard Mudgett * app_queue: Fix CLI "queue show" and AMI Queues action output truncation. The output of CLI "queue show" and AMI Queues action is truncated and "failed to extend from 240 to 327" messages are generated if the queue member and interface names are lengthy. * Increase the string buffer size from 240 to 512 in order to accommodate for more information fields added to the output since v1.8. ASTERISK-26360 #close Reported by: Richard Mudgett Change-Id: Id99c03cf5362453b80491a4b3b0434cb67aa966d 2016-09-12 03:28 +0000 [53cb0f9e84] Walter Doekes * chan_sip: Allow target refresh (Contact update) on re-INVITE. Previously, the Contact was stored only on initial INVITE and on any 18X and 200. That meant that after re-INVITEs from *us* the Contact could get updated, but after re-INVITEs from the *peer*, it did not. This changeset fixes this inconsistency, properly allowing target refreshes through re-INVITES (RFC3261, 12.2). If your strictrtp setting allows it, this change allows you to switch the source IP of a connected/calling device mid-call with a simple re-INVITE from the new IP. ASTERISK-26358 #close Change-Id: Ibb8512054ab27c8c3d2514022568fde943bf2435 2016-09-09 06:26 +0000 [7be40a2091] Walter Doekes * contrib: Let safe_asterisk script continue without /dev/tty9. If you use the safe_asterisk script, it uses hardcoded defaults before running configurable values from /etc/asterisk/startup.d. The hardcoded default has TTY=9. Some containerized environments don't have such a TTY, and safe_asterisk would stop. The custom configuration from /etc/asterisk/startup.d/* isn't read until after it stopped, so changing TTY in a custom config did not help. This changeset changes safe_asterisk to continue if the TTY setting was untouched and /dev/tty9 and /dev/vc/9 aren't found. Change-Id: I2c7cdba549b77f418a0af4cb1227e8e6fe4148fc 2016-08-23 06:31 +0000 [e5c409da6e] Corey Farrell (license 5909) * chan_sip: Don't allocate new RTP instances on top of old ones. In some scenarios dialog_initialize_rtp can be called multiple times on the same dialog. This can cause RTP instances to be leaked along with multiple file descriptors for each instance. This change makes it so the existing RTP instances are destroyed and not overwritten, stopping the memory leak. ASTERISK-26272 #close patches: ASTERISK-26272-11.patch submitted by Corey Farrell (license 5909) Change-Id: I3c1d94dea8594fe0702168cb979b898ae0f5fc5d 2016-08-11 12:10 +0000 [d25391e11a] Tzafrir Cohen * followme: initialize all config items on reload Some configuration directives were not initialized on reload, and hence were not reset to default if they were removed from followme.conf. ASTERISK-26288 #close Change-Id: Ief829e16374ad1e0ecfd63e6ee4923b5a1d1c150 2016-09-06 03:04 +0000 [6581cd5404] Walter Doekes * chan_sip: Don't refuse calls with "optional crypto"; fall back to RTP. Certain SNOM phones send so-called "optional crypto" in their SDP body. Regular SRTP setup looks like this: m=audio 64620 RTP/SAVP 8 0 9 99 3 18 4 101 a=crypto:1 AES_CM_128_HMAC_SHA1_32 inline:... SNOM-style "optional crypto" looks like this: m=audio 61438 RTP/AVP 8 0 9 99 3 18 4 101 a=crypto:1 AES_CM_128_HMAC_SHA1_32 inline:... A crypto line is supplied, but the m-line does not have SAVP. When res_srtp.so is *not* loaded, then chan_sip.so treats the optional crypto as regular RTP, but when res_srtp.so *is* loaded, it refuses the incoming call with the following message: WARNING: process_sdp: Failed to receive SDP offer/answer with required SRTP crypto attributes for audio For platforms that want to start providing SRTP this presents a compatibility problem. This changeset lets chan_sip handle the SDP as if no crypto-line was supplied: i.e. accept the call as regular RTP, just like it did before res_srtp was loaded. Now you'll get this informative warning instead: WARNING: Ignoring crypto attribute in SDP because RTP transport is insecure ASTERISK-23989 #close Reported by: Olle Johansson Change-Id: I91a15ae05a0296e398d6b65f53bb11afde1d80e2 2016-08-31 12:23 +0000 [428c964373] Michael Kuron * app_mp3: Use correct buffer size and the same sample rate as the channel Previously, the buffer used for MP3 streamed from HTTP servers had a size of 1 MB. For 8 kHz mono audio at 16 bit resolution, such a buffer covers about 1 minute. Only when the buffer is full does audio start to play. For MP3 files streamed from a server, that is usually not a big deal as long as the connection to the server is fast enough to supply that much data within a second or two. For MP3 live streams however, it takes 1 minute to download 1 minute of audio, so without this change, app_mp3 wasn't really usable for MP3 live streams. This commit changes the buffer size so that it covers 6 seconds of an MP3 file streamed from a server and 0.5 seconds of an MP3 live stream. The latter is identified by the use of a .m3u file extension. app_mp3 so far only supported 8 kHz audio. Now it always runs at the sample rate of the channel. ASTERISK-26085 #close Change-Id: Id1ee274733cd804a0edecf7450329b72f1235af0 2016-08-17 02:51 +0000 [7041f9ca96] chris de rock * app_macro: Consider '~~s~~' as a macro start extension. As described in issue ASTERISK-26282 the AEL parser creates macros with extension '~~s~~'. app_macro searches only for extension 's' so the created extension cannot be found. with this patch app_macro searches for both extensions and performs the right extension. ASTERISK-26282 #close Change-Id: I939aa2a694148cc1054dd75ec0c47c47f47c90fb 2016-08-29 07:11 +0000 [1819cbebf3] Etienne Lessard * pbx.c: Prevent infinite recursion in manager_show_dialplan_helper. Previously, if context A was including context B and context B was including context A, i.e. if there was a circular dependency between contexts, then calling manager_show_dialplan_helper could lead to an infinite recursion, resulting in a crash. This commit applies the same solution as the one implemented in the show_dialplan_helper function. The manager_show_dialplan_helper and show_dialplan_helper functions contain lots of code in common, but the former was missing the "infinite recursion avoidance" code. ASTERISK-26226 #close Change-Id: I1aea85133c21787226f4f8442253a93000aa0897 2016-08-25 07:06 +0000 [f7303ac633] Joshua Colp * app_queue: Ensure member is removed from pending when hanging up. When dialing channels it is possible that they may not ever leave the not in use state (Local channels in particular) by the time we cancel them. If this occurs but we know they were dialed we explicitly remove them from the pending members container so that subsequent call attempts occur. ASTERISK-26299 #close Change-Id: I6ad0d17c36480c92cebf840626228ce3f7e4bd65 2016-08-26 08:41 +0000 [3cf76eaf45] Alexander Traud * channel: No hung-up on failing security requirements. In your Diaplan, if you specify same => n,Set(CHANNEL(secure_bridge_media)=1) same => n,Set(CHANNEL(secure_bridge_signaling)=1) only the SIP channel driver chan_sip supports this. All other channels drivers like res_pjsip fail. In case of failure, the original sRTP source code released the whole channel, even if not hung-up, yet. This change does not release the channel but instead hangs-up the channel. ASTERISK-26306 Change-Id: I0489f0cb660fab6673b0db8af027d116e70a66db 2016-08-23 11:02 +0000 [76e5c36c29] Richard Mudgett * res_fax: Fix deadlock in ast_channel_get_t38_state(). ast_channel_get_t38_state() calls ast_channel_queryoption() with AST_OPTION_T38_STATE. If the passed in channel is a local channel then a deadlock can happen if a channel lock is held when called. * Made ast_channel_get_t38_state() callers not hold a channel lock before calling. * Update ast_channel_get_t38_state() doxygen to note that no channel locks can be held when calling the function. ASTERISK-26203 #close Reported by: Etienne Lessard ASTERISK-24822 #close Reported by: David Brillert ASTERISK-22732 #close Reported by: Richard Mudgett Change-Id: I49fd76fa9af628b4198009b5c0b82c8b03681214 2016-08-23 15:57 +0000 [2e7ad40f41] Richard Mudgett * res_fax.c, res_fax_spandsp.c: Misc deadlock fixes. * Fixed locking inconsistency in fax_gateway_start() when calling the gateway technology start_session callback. The callback was called with and without the channel lock held. Calling the callback with the channel lock held could deadlock in spandsp_fax_gateway_start() which calls ast_channel_get_t38_state(). * Fixed deadlock potential in fax_detect_framehook() when calling ast_channel_make_compatible(). ASTERISK-26203 Reported by: Etienne Lessard ASTERISK-24822 Reported by: David Brillert ASTERISK-22732 Reported by: Richard Mudgett Change-Id: I5a7b8e9e7b198802df06dff0ea48d96bd6d7b912 2016-08-22 12:31 +0000 [8015550116] Richard Mudgett * res_fax.c: Fix deadlock in fax_gateway_indicate_t38(). fax_gateway_indicate_t38() calls ast_indicate_data() which cannot be called with any channel locks already held. A deadlock can happen if the function is operating on a local channel. * Made fax_gateway_indicate_t38() unlock the channel before calling ast_indicate_data() since fax_gateway_indicate_t38() is always called with the channel locked. * Made fax_gateway_indicate_t38() return void since nothing cared about its return value. ASTERISK-26203 Reported by: Etienne Lessard ASTERISK-24822 Reported by: David Brillert ASTERISK-22732 Reported by: Richard Mudgett Change-Id: I701ff2d26c5fc23e0d5a48a3fd98759a9fd09407 2016-08-23 11:16 +0000 [e79bf5539f] Richard Mudgett * res_fax.c: Add chan locked precondition comments. Change-Id: Ic10ae434536bbf7fb7055d6ab36cc50b8748a4e7 2016-08-23 10:42 +0000 [6429a27b88] Richard Mudgett * ast_framehook_detach() must be called with the channel locked. The framehook container could become corrupted if the channel lock is not held before calling. Change-Id: If0a1c7ba0484ed3a191106a7516526b905952584 2015-04-17 18:05 +0000 [258705cfcd] Richard Mudgett * res_fax: Fix latent bug exposed by ASTERISK-24841 changes. Three fax related tests started failing as a result of changes made for ASTERISK-24841: tests/fax/pjsip/gateway_t38_g711 tests/fax/sip/gateway_mix1 tests/fax/sip/gateway_mix3 Historically, ast_channel_make_compatible() did nothing if the channels were already "compatible" even if they had a sub-optimal translation path already setup. With the changes from ASTERISK-24841 this is no longer true in order to allow the best translation paths to always be picked. In res_fax.c:fax_gateway_framehook() code manually setup the channels to go through slin and then called ast_channel_make_compatible(). With the previous version of ast_channel_make_compatible() this was always a no-operation. * Remove call to ast_channel_make_compatible() in fax_gateway_framehook() that now undoes what was just setup when the framehook is attached. * Fixed locking around saving the channel formats in fax_gateway_framehook() to ensure that the formats that are saved are consistent. * Fix copy pasta errors in fax_gateway_framehook() that confuses read and write when dealing with saved channel formats. ASTERISK-24841 Reported by: Matt Jordan Backported from v13 revision 82bc0fd3ade77394e13062b6097732c224e77eaa mainly to get the diff between v11 and v13 smaller but this also fixes a potential deadlock when dealing with the chan and the peer together. Change-Id: I6fda0877104a370af586a5e8cf9e161a484da78d 2015-01-15 11:35 +0000 [dd600f60be] Richard Mudgett * res_fax.c: Remove redundant locking. When FAX was developed, apparently the faxregistry.container used to be a linked list that was converted to an ao2 container. Some of the replacement ao2 container operations still had explicit lock/unlocks around them. Two off nominal code paths in res_fax.c unlock the channel even though the routine did not lock the channel and other code paths in the routine do not unlock the channel. Review: https://reviewboard.asterisk.org/r/4340/ Backported from v13 revision fa80d9658df8aff71a8975ab7d1fe477ea3f99b9. Change-Id: I59a1b95a91dac8375e0db568ddb217bcd6d7d2fa 2015-01-15 11:18 +0000 [350c866eb5] Richard Mudgett * res_fax: Fix some curlies on the end of function definitions. Backported from v13 revision 6c426e86bd470c3a2f3b73b3a070583c92c19af4. Change-Id: Iaa561a17c88d4383971f4b4fc8cee24318e779c4 2016-08-19 18:19 +0000 [fec12a91d2] Corey Farrell * Fix checks for allocation debugging. MALLOC_DEBUG should not be used to check if debugging is actually enabled, __AST_DEBUG_MALLOC should be used instead. MALLOC_DEBUG only indicates that debugging is requested, __AST_DEBUG_MALLOC indicates it is active. Change-Id: I3ce9cdb6ec91b74ee1302941328462231be1ea53 2016-08-18 09:25 +0000 [0296b90b29] Alexander Traud * sip.conf: tlsclientmethod is using sslv23 as default. When 'tlsclientmethod' is not specified in sip.conf, chan_sip uses the OpenSSL SSLv23_method. This was documented incorrectly in the file sip.conf.sample. SSLv23_method got its name in the 90s. Today, with OpenSSL 1.0.2, this method enables (just) the secure TLSv1.0 and TLSv1.2. Or stated differently, that function should have been called 'secure_method' or 'automatic_method' back in the 90s. Consequently please, specify 'tlsclientmethod=tlsv1' in your sip.conf only if you face a server which has problems like not falling back to TLSv1.0 automatically. ASTERISK-24425 Change-Id: I502ce6146b4504cadfd3973af8d6ec3994f54fa3 2016-08-17 16:40 +0000 [7b4db45cb7] Tzafrir Cohen (license 5035) * pbx.c: Crash in handle_hint_change due to uninitialized values handle_hint_change calls extension_presence_state_helper, which returns the presence state subtype and message when a valid state is available. If the state is invalid then those values are not filled. If they have not been properly initialized to NULL then when ast_free is later called on them Asterisk crashes. This patch initializes the subtype and message to NULL. ASTERISK-25706 #close patches: 0008-handle_hint_change-initialize-presence_state.patch submitted by Tzafrir Cohen (license 5035) Change-Id: I2eb08c68951b327c42df0798de60484c3a225a50 2016-08-11 23:30 +0000 [3e0eafa710] Corey Farrell * pbx.c: Additional fixes to ast_context_remove_extension_callerid2. Do not check registrar of the first extension head. We should only check the registrar when we match the priority. Additionally fix a couple calls to strcmp which used the input callerid instead of the clean version ex.cidmatch. ASTERISK-26233 Change-Id: I17ea6881a18f40840ae9c1f5394aab1fbb3769f1 2016-08-11 22:11 +0000 [4725de7aae] Corey Farrell * Run mandatory cleanup when startup fails. Errors during startup result in an exit. These error branches should be calling ast_run_atexit(0) to ensure mandatory cleanup is run. ASTERISK-26267 #close Change-Id: If226f2326ae2df7add20040696132214cf2bb680 2016-08-03 15:38 +0000 [52bd5e9eeb] Corey Farrell * Add missing checks during startup. This ensures startup is canceled due to allocation failures from the following initializations. * channel.c: ast_channels_init * format.c: ast_format_attr_init and ast_format_list_init ASTERISK-26265 #close Change-Id: I911ed08fa2a3be35de55903e0225957bcdbe9611 2016-07-26 17:42 +0000 [f0e8af0487] Corey Farrell * pbx.c: Fix handling of '-' in extension name and callerid This adds a two strings to ast_exten. name to go with exten and cidmatch_display to go with cidmatch. The new fields contain input used to add the extension in the first place. The existing fields now contain stripped input that excludes insignificant spaces and dashes. These stripped fields should always be used for comparisons. The unstripped fields should normally be used for display, but displaying stripped values will not cause runtime errors. Note the actual string is only stored twice if it contains dashes. If no dashes are found then both 'char *' fields point to the same memory. So this change has a minimum effect on memory usage. The existing functions ast_get_extension_name and ast_get_extension_cidmatch return unstripped values as they did before this change. Other similar bugs likely still exist where unstripped extensions are saved outside pbx.c then passed back in. ASTERISK-26233 #close Change-Id: I6cd61ce57acc1570ca6cc14960c4c3b0a9eb837f 2016-07-27 17:17 +0000 [6c332e1dd7] Richard Mudgett * pbx.c: Allow dangerous functions when adding a hint to dialplan. We can allow dangerous functions when adding a hint since altering dialplan is itself a privileged activity. Otherwise, we could never execute dangerous functions. ASTERISK-25996 #close Reported by: Andrew Nagy Change-Id: I4929ff100ad1200a0198262d069a34f2296e77ba 2016-07-25 21:18 +0000 [5a494b5e1d] Richard Mudgett * dsp.c: Correct DTMF twist dsp.conf documentation. Change-Id: Idf97e3a72f1edc5fca58f2fa7b20785922be0cae 2016-07-21 22:28 +0000 [6e2976002d] Richard Mudgett * dsp.c: Fix erroneous fax tone detection. The Goertzel calculations get less accurate the lower the signal level being worked with becomes because there is less resolution remaining. If it is too low we can erroneously detect a tone where none really exists. The searched for fax frequencies not only need to be so much stronger than the background noise they must also be a minimum strength. * Add needed minimum threshold test to tone_detect(). * Set TONE_THRESHOLD to allow low volume frequency spread detection. ASTERISK-26237 #close Reported by: Richard Mudgett Change-Id: I84dbba7f7628fa13720add6a88eae3b129e066fc 2016-07-19 06:30 +0000 [c87e7bebea] Alexander Traud * chan_sip: Enable Session-Timers for SIP over TCP (and TLS). Asterisk defaults to timers=accept/refresher=uas. In that scenario, only in that scenario, Sessions-Timers (RFC 4028) had no effect via TCP. This change enables Session-Timers for SIP over TCP (and for SIP over TLS). However with longer international calls via TCP, the SIP channel might break, because all hops on the Internet route must stay online (have not a single power outage, for example). Therefore with Session-Timers enabled (which are enabled at default), you might see dropped calls. Consequently even with this change, you might be better-off going for session-timers=refuse in your sip.conf. ASTERISK-19968 #close Change-Id: I1cd33453c77c56c8e1394cd60a6f17bb61c1d957 2016-07-21 09:05 +0000 [4dc56691cb] gtjoseph * chan_sip: Prevent deadlock when issuing "sip show channels" sip_show_channels locks the dialogs container first then locks each sip_pvt so it can spit out the details. The rest of sip dialog processing locks the sip_pvt first then locks the dialogs container if it needs to. Both lock in the order they need but deadlocks can result. To fix, sip_show_channels and sip_show_channelstats have been converted to use an iterator rather than ao2_callback. This way the container is locked only while getting the next entry and is unlocked when the callback is called. ASTERISK-23013 #close Change-Id: Id9980419909e811f89484950ed46ef117b9eb990 2016-07-19 22:37 +0000 [c9a1e7815d] Corey Farrell * Add conditional support for noreturn functions. This adds support for tagging functions with the noreturn attribute. If DO_CRASH is enabled then ast_do_crash never returns. If AST_DEVMODE and DO_CRASH are enabled then failed assertions never return. This can resolve a large number of false positives with static analyzers. ASTERISK-26220 #close Change-Id: Icfb61e5fe54574eced4c3e88b317244f467ec753 2016-07-18 18:36 +0000 [238a55b126] Corey Farrell * Unit tests: Use AST_TEST_DEFINE in conditional code only. If AST_TEST_DEFINE is not conditional to TEST_FRAMEWORK it produces dead code. This places all existing unit tests into a conditional block if they weren't already. ASTERISK-26211 #close Change-Id: I8ef83ee11cbc991b07b7a37ecb41433e8c734686 2016-07-18 05:13 +0000 [cdc1af48e6] Alexander Traud * res_rtp_asterisk: Count a roll-over of the sequence number even on lost packets. With this change, the initial RTP sequence number is randomly chosen not between 0 and 65535 (0xffff) but 0 and 32767 (0x7fff). This assures, the roll-over counter (ROC) synchronization is not lost for sRTP, when the very first RTP packets get lost; see http://srtp.sourceforge.net/faq.html#Q6 ASTERISK-26207 #close Change-Id: I9a527e3aa3ce8f3becc5131d7ba32b57b5845464 2016-07-18 04:35 +0000 [e9326d92fb] Alexander Traud * Makefile: Suppress echoing of target 'config' again. ASTERISK-26038 #close Change-Id: I5746cf639f3fdc6332e8a97cf01f979e30bf403f 2016-07-14 07:45 +0000 [8a45461465] Richard Miller (license 5685) * app_queue: Only remove queue member from pending when state changes. It is possible for a not in use state change to occur multiple times causing a queue member to be removed from the pending call container prematurely. The first not in use state change will remove the queue member from the container. At this moment the member may be called and placed in the pending container. After this another not in use state change can be received which will remove it from the container. Despite being called at this point the code will incorrectly see that there are no pending calls to it. This change only removes it from the pending container if the state has actually changed. ASTERISK-26133 #close patches: app_queue.diff submitted by Richard Miller (license 5685) Change-Id: Ie5a7f17a44f98e9159e9b85009ce3f8393aa78c0 2016-07-14 02:40 +0000 [877c23222d] Corey Farrell * pbx: Fix leak of timezone for time based includes. Create include_free to run ast_destroy_timing and ast_free, use that in all places that freed an ast_include structure. This fixes a couple of paths that previously did not run ast_destroy_timing. ASTERISK-26196 #close Change-Id: I1671bd111bef0dc113e8bf8f77f89fcfc395d838 2016-06-22 07:29 +0000 [8653da4fa2] Eugene Voityuk ,Alexander Traud * res_rtp_asterisk: Enable Forward Secrecy (PFS) for DTLS. Since July 2014, TLS based protocols (SIP over TLS, Secure WebSockets, HTTPS) support PFS thanks to ASTERISK-23905. In July 2015, the same feature was added for DTLS. The source code from main/tcptls.c should have been re-used to ease security audits. Therefore, this change rolls back the change from July 2015 and re-uses the code from July 2014. This has the additional benefits to work under CentOS 7 and enabling not just ECDHE but DHE based cipher suites as well. ASTERISK-25659 #close Reported by: StefanEng86, urbaniak, pay123 Tested by: sarumjanuch, traud patches: res_rtp_asterisk.patch submitted by sarumjanuch dtls_centos_step_1.patch submitted by traud dtls_centos_step_2.patch submitted by traud Change-Id: I537cadf4421f092a613146b230f2c0ee1be28d5c 2016-07-13 08:57 +0000 [7e3dd7e726] Alexander Traud * BuildSystem: Avoid obsolete warning with pthread.m4 on autoconf. Updated the macro-set autoconf/ax_pthread.m4 to its latest upstream version. ASTERISK-26046 #close Change-Id: I11abc11d17acd2b6a8a5a5be8ae8e0949dab9cc7 2016-07-12 03:50 +0000 [1a409c4d10] Alexander Traud * BuildSystem: Allow own CFLAGS on ./configure. Before this change, make failed with the error Unknown value '' found in build_tools/menuselect-deps for NATIVE_ARCH when CFLAGS were supplied to the configure script. This was introduced with which disabled BUILD_NATIVE when CFLAGS were supplied. Those who need different -march= values, please, go for ./configure make menuselect.makeopts or make menuselect ./menuselect/menuselect --disable BUILD_NATIVE ASTERISK-25289 #close Change-Id: Ic6365d5a97bb9b3556858f06432a8d1cfa83eebc 2016-07-11 13:42 +0000 [0bc1206299] Richard Mudgett * ast_expr2: Fix off-nominal memory leak. Thanks to ibercom for pointing out a memory leak that was missed in the earlier patch for the issue. ASTERISK-26119 Reported by: Alexei Gradinari Change-Id: I9a151f5c4725d97fb82a9e938bc73dc659532b71 2016-07-07 10:38 +0000 [dddca49615] Joshua Colp * chan_sip: Handle a request to negotiate T.38 after it is enabled. Some T.38 implementations may send another re-invite after the initial one which adds additional negotiation details (such as the max bitrate). Currently this will fail when passthrough is being done in chan_sip as we do nothing if T.38 is already active. Other handlers of T.38 inside of Asterisk (such as res_fax) handle this scenario so this change adds support for it to chan_sip. If a request to negotiate is received while T.38 is already enabled a new re-INVITE is sent and negotiation is done again. ASTERISK-26179 #close Change-Id: I0298494d3da6df3219bbfa4be9aa04015043145c 2016-07-04 05:58 +0000 [90c93bb23a] Alexander Traud * BuildSystem: Avoid obsolete warning with libcurl.m4 on autoconf. Updated the macro-set autoconf/libcurl.m4 to its latest upstream version. This avoids a warning about an obsolete macro on AC_HELP_STRING, because Asterisk is using AS_HELP_STRING everywhere else already. ASTERISK-26046 Change-Id: I8299faf504ceaeee3e39930c59293809e116c631 2016-06-28 08:22 +0000 [95d8b05760] gtjoseph * BuildSystem: Fix a few issues hightlighted by gcc 6.x gcc 6.1.1 caught a few more issues. Made sure the unit tests still pass for the func_env and stdtime issues. ASTERISK-26157 #close Change-Id: I6664d8f34a45bc1481d2a854481c7878b0c1cf8e 2016-06-23 04:33 +0000 [a9cd0f6738] Alexander Traud * BuildSystem: Avoid obsolete warning with AC_TYPE_SIGNAL on autoconf. Removed the obsolete macro AC_TYPE_SIGNAL because Asterisk does not use K&R C but requires ANSI C anyway. ASTERISK-26046 Change-Id: I914c014385e1862102d90fe7650621def78db02e 2016-06-23 14:14 +0000 Asterisk Development Team * asterisk 11.23.0-rc1 Released. 2016-06-23 09:13 +0000 [638b840510] Mark Michelson * Release summaries: Add summaries for 11.23.0-rc1 2016-06-23 09:12 +0000 [6615d6f90e] Mark Michelson * .version: Update for 11.23.0-rc1 2016-06-23 09:12 +0000 [e97ccd7e0c] Mark Michelson * .lastclean: Update for 11.23.0-rc1 2016-06-22 15:04 +0000 [d4f0cc5ec5] Corey Farrell * res_fax: Fix reference leak in fax_v21_session_new. fax_v21_session_new created a session details object but only released the allocation reference during error conditions. fax_session_new adds it's own reference to details if needed so the caller is always responsible for cleaning it's own reference. ASTERISK-26141 #close Change-Id: Ie7fc52a83b6596ce9ce2d5a2bd9f3e204f48fc88 2016-06-22 13:41 +0000 [9548ccca0e] gtjoseph * res_rtp_asterisk: Fix a self-comparison identified by gcc 6 gcc 6 caught a previously unidentified self-comparison in ice_candidate_cmp. Fixed it and re-ordered the predicates for better short-circuiting. ASTERISK-26140 #close Change-Id: I3da713c568e24064430257b3502fbdafd35af7a7 2016-06-22 10:37 +0000 [de169f14e6] gtjoseph * chan_unistim: Fix memcpy in get_to_address A code block only enabled when HAVE_PKTINFO is not defined (FreeBSD) was using a pointer to a pointer as the destination of a memcpy and a '&' instead of '*' in the sizeof. ASTERISK-26138 #close Change-Id: Id4927ff256c0e470bdf7bcfc025146a2f656e708 2016-06-22 10:55 +0000 [877502a396] Alexander Traud * BuildSystem: Avoid obsolete warning with AC_FUNC_SETVBUF_REVERSED on autoconf. Removed the obsolete macro AC_FUNC_SETVBUF_REVERSED because Asterisk does not support the platform SVR2 from the year 1987 anymore. ASTERISK-26046 Change-Id: I28161b037feb2d29ab46ed20e785928460226c22 2016-06-21 06:52 +0000 [63f041dc6b] Torrey Searle * res_rtp_asterisk: fix memory leak in dtls ensure that cert bios get freed after creating the fingerprint ASTERISK-26129 #close Change-Id: I44d23aea07dce80176ca1ff877c5ace9452ef451 2016-06-21 07:05 +0000 [eeae30db50] Alexander Traud * res_rtp_asterisk: Use latest DTLS version available by underlying platform. Do not use DTLSv1_method() but DTLS_method() when available in OpenSSL of the underlying platform. This change enables DTLS 1.2 since OpenSSL 1.0.2, for WebRTC (DTLS-SRTP via SIP-over-WebSockets). This change enables AEAD-based cipher-suites. ASTERISK-26130 #close Change-Id: I41f24448d6d2953e8bdb97c9f4a6bc8a8f055fd0 2016-06-21 08:01 +0000 [6fb6ed3c53] Alexander Traud * BuildSystem: Avoid obsolete warning with HELP_STRING on autoconf. Some configure scripts used both AC_HELP_STRING and its replacement AS_HELP_STRING. For consistency and to avoid obsolete warnings, those were changed to AS_HELP_STRING. ASTERISK-26046 Change-Id: I8aad4fd2bdee40aa2a31ce3339a1eb33ff4f5b0f 2016-06-20 15:09 +0000 [7133572cf8] Alexei Gradinari * fix: memory and resource leaks ASTERISK-26119 #close Change-Id: Iecbf7d0f360a021147344c4e83ab242fd1e7512c 2016-06-20 08:05 +0000 [0c69337405] Alexander Traud * http: leverage 'bindaddr' for TLS in http.conf The internal HTTP/WebSocket server supports both TCP and TLS, which can be activated separately via the file http.conf. The source code intends to re-use the TCP parameter 'bindaddr' for TLS, even if 'tlsbindaddr' is not specified explicitly. This did not work because of a typo. This change resolves this typo. ASTERISK-26126 #close Change-Id: I5efb0409ae12044dfb3495b6b97b6d40a8c9c51f 2016-05-31 09:10 +0000 [673fa4431e] Vasil Kolev * chan_sip: bigger buffers for headers, better failure mode Currently chan_sip can give weird messages if the contacts don't fit in the From: or To: headers. This fix changes the from,to and invite variables to use ast_str, allocates and deallocates them and resizes them if needed. ASTERISK-26069 #close Change-Id: I1b68fcbddca6f6cc7d7a92fe1cb0d5430282b2b3 2016-06-08 07:20 +0000 [769dbce0a5] Alexander Traud * core: Not the configured but granted number of possible file descriptors. With CLI "core show settings", simply the parameter maxfiles of the file asterisk.conf was shown. If that parameter was not set, nothing was displayed although the environment might have set a default number itself. Or if maxfiles were not granted (completely), still maxfiles was shown. Now, the maximum number of possible file descriptors in the environment is shown. ASTERISK-26097 Change-Id: I2df5c58863b5007b34b77adbe28b885dfcdf7e0b 2016-06-09 09:20 +0000 [fd5467ce01] gtjoseph * build: Fix ast_sockaddr initialization to be more portable A change to glibc 2.22 changed the order of the sockadddr_storage members which caused the places where we do an initialization of ast_sockaddr with '{ { 0, 0, } }' to fail compilation. Those initializers (which we shouldn't have been using anyway) have been replaced with memsets. Change-Id: Idd1b3b320903d8771bfe221f0b015685de628fa4 2016-06-08 05:58 +0000 [8598b9b267] Alexander Traud * astfd: Not maximum size of a single file but maximum file descriptors. With menuselect "DEBUG_FD_LEAKS" and CLI "core show fd", the maximum size of a single file was shown. Now, the maximum number of possible file descriptors is shown. ASTERISK-26097 Change-Id: Icf98d145774b38cac144ca76d19eaef42ce659a3 2016-06-02 14:53 +0000 [1716830c5a] Timo Teräs * Fix #include poll.h and sys/cdefs.h POSIX defines poll.h, sys/poll.h should not be used at is c-library internal header which may or may not exist. Notable in musl it generates warning of being incorrect. And add explict include of sys/cdefs.h where needed. Change-Id: I142930df53fe7585a06b854b6faddc5301e024be 2016-06-07 05:45 +0000 [effa207bc4] Alexander Traud * res_srtp: Instead of libSRTP use OpenSSL as random source. Since libSRTP 1.5, its Random Number Generator (RNG) is not maintained anymore. Therefore, the symbol RAND_bytes is used instead of crypto_get_random. ASTERISK-24436 #close Change-Id: Iea0bae4d4e3c9aa0926ea442b6484b5159789d96 2016-06-07 02:16 +0000 [8263f21cba] Alexander Traud * BuildSystem: Avoid 'ar cru' and use 'ar cr' instead. In several internal library projects, the files are archived with the help of 'ar cr'. Only the projects editline and the Objective Open H.323 stack implementation in C (ooh323c) use 'ar cru' instead. Recently, some platforms changed the default parameters of AR which creates "/usr/bin/ar: `u' modifier ignored since `D' is the default (see `U')". For consistency and to avoid this message all projects use 'ar cr' now. ASTERISK-26091 #close Change-Id: I710a9b1c01c1b5a1931a646098c044c8161ead40 2016-05-18 10:58 +0000 [9a9e34ea81] Tzafrir Cohen * Makefile: remove OSARCH check for init install There are more specific checks for the platform. Specifically this allows installing OS/X init scripts. ASTERISK-26038 #close Change-Id: If08933621145b10362a0cfe73c079301d9c13f50 Signed-off-by: Tzafrir Cohen 2016-05-21 05:42 +0000 [7e44c80715] Jesper (License 5518) * func_curl: Don't trim response text on non-ASCII characters The characters 0x80-0xFF were trimmed as well as 0x00-0x20 because of a signed comparison. ASTERISK-25669 #close Reported by: Jesper patches: strings.curl.trim.patch submitted by Jesper (License 5518) Change-Id: Ia51e169f24e3252a7ebbaab3728630138ec6f60a 2016-05-18 07:54 +0000 [1cd2f25943] gtjoseph * udptl: Don't eat sequence numbers until OK is received Scenario: Local fax -> Asterisk w/ firewall -> Provider -> Remote fax * Local fax starts rtp call to remote fax * Remote fax starts t38 call back to local fax. * Local fax sends t38 no-signal to Asterisk before sending an OK. * udptl processes the frame and increments the expected sequence number. * chan_sip drops the frame because the call isn't up so nothing goes out the external interface to open the port for incoming packets. * Local fax sends OK and Asterisk sends OK to the remote fax. * Remote fax sends t38 packets which are dropped by the firewall. * Local fax re-sends t38 no-signal with the same sequence number. * udptl drops the frame because it thinks it's a dup. * Still no outgoing packets to open the firewall. * t38 negotiation fails. The patch drops frames t38 received before udptl sequence processing when the call hasn't been answered yet. The second no-signal frame is then seen as new and is relayed out the external interface which opens the port and allows negotiation to continue. ASTERISK-26034 #close Change-Id: I11744b39748bd2ecbbe8ea84cdb4f3c5943c5af9 2016-05-17 11:14 +0000 [76787842dd] gtjoseph * chan_sip: Prevent extra Session-Expires headers from being added When chan_sip does a re-INVITE to refresh a session and authentication is required, the INVITE with the Authorization header containes a second Session-Expires header without the ";refersher=" parameter. This is causing some proxies to return a 400. Also, when Asterisk is the uas and the refresher, it is including the Session-Expires and Min-SE headers in OPTIONS messages which is not allowed per RFC4028. This patch (based on the reporter's) Checks to see if a Session-Expires header is already in the message before adding another one. It also checks that the method is INVITE or UPDATE. ASTERISK-26030 #close Change-Id: I58a7b07bab5a3177748d8a7034fb8ad8e11ce1d9 2016-05-10 08:17 +0000 [120dcdd3df] Tzafrir Cohen * followme: delete the right recorded name file FollowMe with the option a records the name of the caller and plays it to the callee. However it has failed to clean up that recorded file as it tried to delete the file name without the '.sln' extension. ASTERISK-26008 #close Change-Id: I79d7b1be7d5cde57bf076d9389e2a8a4422776ec Signed-off-by: Tzafrir Cohen 2016-05-05 16:41 +0000 [d2a2677c8d] Alexei Gradinari * logger: Add PID to syslog messages. During refactoring of this support the addition of the PID to messages was removed. This change adds it back in. ASTERISK-25538 #close Change-Id: Ie2d43b0652e59b7ac319a7dba94501540d70ba36 2016-05-10 09:20 +0000 [987ec85681] Alexei Gradinari * res_fax/t38_gateway: Peer V.21 session is created on wrong channel The channel and peer V.21 sessions are created on the same channel now. The peer V.21 session should be created only on peer channel when one of channel can handle T.38. Also this patch enable debug for T.38 gateway session if global fax debug enabled. ASTERISK-25982 Change-Id: I78387156ea521a77eb0faf170179ddd37a50430e 2016-03-17 14:29 +0000 [42ab8d8ef3] Andrew Nagy * app_voicemail: always copy dynamic struct to avoid race condition Voicemail email addresses can be corrupt or voicemail emails can end up being sent to the wrong email address if asterisk is reading voicemail.conf during a reload and processing an email at the same time. This patch always copies the struct that would otherwise only be copied once. ASTERISK-24463 #close Reported by: John Campbell Tested by: Etienne Lessard Tested by: Andrew Nagy Change-Id: I3a0643813116da84e2617291903d0d489b7425fb 2016-04-24 22:51 +0000 [bd050e2782] gtjoseph * config: Fix ast_config_text_file_save writability check for missing files A patch I did back in 2014 modified ast_config_text_file_save to check the writability of the main file and include files before truncating and re-writing them. An unintended side-effect of this was that if a file doesn't exist, the check fails and the write is aborted. This patch causes ast_config_text_file_save to check the writability of the parent directory of missing files instead of checking the file itself. This allows missing files to be created again. A unit test was also added to test_config to test saving of config files. The regression was discovered when app_voicemail's passwordlocation=spooldir feature stopped working. ASTERISK-25917 #close Reported-by: Jonathan Rose Change-Id: Ic4dbe58c277a47b674679e49daed5fc6de349f80 2016-04-25 08:11 +0000 [d8c85768c0] Javier Acosta * Fix case sensitive actions in AMI QueueSummary and QueueStatus ASTERISK-25954 #close Reported by: Javier Acosta Change-Id: I00be83d45cc7e8385de2523012bd196aafeeb256 (cherry picked from commit c0688a6398f27296ff849848a2e416e036d794e3) 2016-04-21 15:35 +0000 [79d7284b8b] Kevin Harwell * app_queue: queue members can receive multiple calls It was possible for a queue member that is a member of at least 2 or more queues to receive mulitiple calls at the same time. This happened because of a race between when a member was being rung and when the device state notified the other queue(s) member object of the state change. This patch makes it so when a queue member is being rung it gets added to a global pool of queue members. If that same member is tried again, e.g. from another queue, and it is found to already exist in the pending member container then it will not ring that member. ASTERISK-16115 #close Change-Id: Ice45a1c95b9f6f15d8a9fa709c5e5c84ffd29780 2016-04-21 08:26 +0000 [0cc0839f49] Diederik de Groot * lock.c: Check *lt before dereferencing it *lt is NULL if t->tracking == 0 ASTERISK-25948 #close Change-Id: I4a81af28f9c82a74aa82413d772a7dc8fa6f45ba 2016-04-17 15:37 +0000 [b8bfb8f072] Jaco Kroon * chan_sip: Don't verify table if rtupdate=no If rtupdate=no do not verify sipregs/peers table has updatable fields. ASTERISK-25934 #close Change-Id: Iaa2c53037b93daccc7e7333c40d61861847b856d 2016-04-18 04:53 +0000 [32b4320d62] ibercom * app_queue: Frequent segfaults in function can_ring_entry() ASTERISK-25888 #close Change-Id: I007a2f2dd99823e04fb5be3ff01f02b0a2956117 2016-04-07 12:02 +0000 [981ed6091e] Alexei Gradinari * app_voicemail/IMAP: function 'save_to_folder' creates wrong folder If try to move message to Cust1 (number 5) the function 'save_to_folder' tries to create Greeting folder instead of Cust1. This patch fixed it by setting GREETINGS_FOLDER = -1 ASTERISK-24927 #close Change-Id: I03d1a761894bcc2d130ec9b003bbcddc28e25c51 2016-04-12 09:10 +0000 [1dc00f5077] Joshua Colp * app_voicemail: Fix test_voicemail_notify_endl test. The test_voicemail_notify_endl test checks the end-of-line characters of an email message to confirm that they are consistent. The test wrongfully assumed that reading from the email message into a buffer will always result in more than 1 character being read. This is incorrect. If only 1 character was read the test would go outside of the buffer and access other memory causing a crash. The test now checks to ensure that 2 or more characters are read in ensuring the test stays within the buffer. ASTERISK-25874 #close Change-Id: Ic2c89cea6e90f2c0bc2d8138306ebbffd4f8b710 2016-04-11 14:02 +0000 [7be8c6bec9] Jaco Kroon * chan_local: Fix hangupcauses not getting set on Local channels ASTERISK-25912 #close Change-Id: I9ec0d40bd0e8ff16ba9c3cfc4c1b52cc575f421b 2016-04-07 11:37 +0000 [628b613a6a] Alexei Gradinari * app_voicemail/IMAP: IMAP access FATAL error: Out of memory Sometimes uw-imap function 'mail_fetchbody' returns huge len which then pass to uw-imap function 'rfc822_base64'. uw-imap tries to allocate huge memory and abort() on fail. This patch check the len. If the len more than max size (128 Mbytes) log error. This patch also set variables len, newlen to avoid uninizialezed len. This patch also check pointer returned by rfc822_base64. ASTERISK-25899 #close Change-Id: I4a0e7d655f11abef6a5224e2169df6d5c1f1caca 2016-03-24 07:36 +0000 [7878141198] Walter Doekes * musiconhold: Only warn if music class is not found in memory and database. The log message when a MusicOnHold music class was not found was changed from debug level to WARNING level in Asterisk 11.19 and 13.5. For those using realtime musiconhold, this message is wrong because it warns before checking the database. This changeset delays the warning until after the database has been checked. Reported-by: Conrad de Wet ASTERISK-25444 #close Change-Id: I6cfb2db2f9cfbd2bb3d30566ecae361c4abf6dbf 2016-03-24 05:38 +0000 [70ca50d96a] Walter Doekes * core/logging: Fix broken syslog levels on older glibc. The fix to ASTERISK-25407 introduced the usage of LOG_MAKEPRI. However this macro is broken in older glibc (< 2.17); it would left-shift the facility a second time, causing the resultant priority to become invalid. The syslog manpage mentions nothing about LOG_MAKEPRI and suggests this: The priority argument is formed by ORing the facility and the level values [...]. ASTERISK-25510 #close Reported by: Michael Newton Change-Id: Ia89debe7fac5ad090c7ef595c0707f31bb1e3d03 2015-11-20 08:02 +0000 [d5fcd74fb5] Francesco Castellano * chan_sip.c: Space after port causes unnecessary resolution attempt check_via() already skips leading blanks where the sent-by address (with the optional port) should be placed. Since RFC 3261 allows for blanks between the port ant the Via parameters: > https://tools.ietf.org/html/rfc3261#section-20.42 (actually it allows a lot of blanks more ;-)). I just switched from ast_skip_blanks() to ast_strip() on the local copy of the string. ASTERISK-21301 #close Change-Id: Ie5b8fe5a07067b7c0dc9bcdd1707e99b23b02b06 2016-03-22 19:23 +0000 Asterisk Development Team * asterisk 11.22.0-rc1 Released. 2016-03-22 14:22 +0000 [e1a49fbbd3] Mark Michelson * Release summaries: Add summaries for 11.22.0-rc1 2016-03-22 14:20 +0000 [ce02b678fa] Mark Michelson * .version: Update for 11.22.0-rc1 2016-03-22 14:20 +0000 [52cbd99b4a] Mark Michelson * .lastclean: Update for 11.22.0-rc1 2016-03-19 07:34 +0000 [613fdff543] Gianluca Merlo * config: fix flags in uint option handler The configuration unsigned integer option handler sets flags for the parser as if the option should be a signed integer (PARSE_INT32), leading to errors on "out of range" values. Fix flags (PARSE_UINT32). ASTERISK-25612 #close Change-Id: I96b539336275e0e72a8e8033487d2c3344debd3e 2016-03-18 20:32 +0000 [91bdaa9251] Gianluca Merlo * func_aes: fix misuse of strlen on binary data The encryption code for AES_ENCRYPT evaluates the length of the data to be encoded in base64 using strlen. The data is binary, thus the length of it can be underestimated at the first NULL character. Reuse the write pointer offset to evaluate it, instead. ASTERISK-25857 #close Change-Id: If686b5d570473eb926693c73461177b35b13b186 2016-03-07 18:56 +0000 [1d87a4dc4b] Richard Mudgett * chan_sip.c: Simplify sip_pvt destructor call levels. Remove destructor calling destroy_it calling really_destroy_it for no benefit. Just make the destructor the really_destroy_it function. Change-Id: Idea0d47b27dd74f2488db75bcc7f353d8fdc614a 2016-03-04 18:25 +0000 [33b56c90c6] Richard Mudgett * chan_sip.c: Made sip_reinvite_retry() call sip_pvt_lock_full(). Change-Id: I90f04208a089f95488a2460185a8dbc3f6acca12 2016-03-11 15:57 +0000 [d4c3b62fd2] Walter Doekes * app_chanspy: Fix occasional deadlock with ChanSpy and Local channels. Channel masquerading had a conflict with autochannel locking. When locking autochannel->channel, the channel is fetched from the autochannel and then locked. During the fetch, the autochannel -- which has no locks itself -- can be modified by someone who owns the channel lock. That means that the value of autochan->channel cannot be trusted until you hold the lock. In practice, this caused problems with Local channels getting masqueraded away while the ChanSpy attempted to get info from that channel. The old channel which was about to get removed got locked, but the new (replaced) channel got unlocked (no-op). Because the replaced channel was now locked (and would never get unlocked), it couldn't get removed from the channel list in a timely manner, and would now cause deadlocks when iterating over the channel list. This change checks the autochannel after locking the channel for changes to the autochannel. If the channel had been changed, the lock is reobtained on the new channel. In theory it seems possible that after this fix, the lock attempt on the old (wrong) channel can be on an already destroyed lock, maybe causing a crash. But that hasn't been observed in the wild and is harder induce than the current deadlock. Thanks go to Filip Frank for suggesting a fix similar to this and especially to IRC user hexanol for pointing out why this deadlock was possible and testing this fix. And to Richard for catching my rookie while loop mistake ;) ASTERISK-25321 #close Change-Id: I293ae0014e531cd0e675c3f02d1d118a98683def 2016-02-23 14:57 +0000 [5a9853c113] Richard Mudgett * chan_sip.c: Suppress T.38 SDP c= line if addr is the same. Use the correct comparison function since we only care if the address without the port is the same. Change-Id: Ibf6c485f843a1be6dee58a47b33d81a7a8cbe3b0 2016-02-16 08:14 +0000 [8ba5eb42f5] Christof Lauber * res_config_sqlite3: Fix crashes when reading peers from sqlite3 tables Introduced realloaction of ast_str buf in sqlite3_escape functions in case the returned buffer from threadstorage was actually too small. Change-Id: I3c5eb43aaade93ee457943daddc651781954c445 2016-02-16 23:37 +0000 [ab11e72ce5] Rodrigo Ramírez Norambuena * app_queue: fix Calculate talktime when is first call answered Fix calculate of average time for talktime is wrong when is completed the first call beacuse the time for talked would be that call. ASTERISK-25800 #close Change-Id: I94f79028935913cd9174b090b52bb300b91b9492 2016-02-17 13:30 +0000 [369981e5be] Richard Mudgett * cel.c: Fix mismatch in ast_cel_track_event() return type. The return type of ast_cel_track_event() is not large enough to return all 64 potential bits of the event enable mask. Fortunately, the defined CEL events do not really need all 64 bits and the return value is only used to determine if the requested CEL event is enabled. * Made the ast_cel_track_event() return 0 or 1 only so the return value can fit inside an int type instead of zero or a truncated 64 bit non-zero value. Change-Id: I783d932320db11a95c7bf7636a72b6fe2566904c 2015-02-20 20:51 +0000 [95e76368eb] Corey Farrell * main/asterisk.c: Reverse #if statement in listener() to fix code folding. listener() opens the same code block in two places (#if and #else). This confuses some folding editors causing it to think that an extra code block was opened. Folding in 'geany' causes all code after listener() to be folded as if it were part of that procedure. ASTERISK-24813 #close Change-Id: I4b8c766e6c91e327dd445e8c18f8a6f268acd961 2016-02-11 11:21 +0000 [9c83062c31] Etienne Lessard (license #6394) * func_iconv: Ensure output strings are properly terminated. ASTERISK-25272 #close Reported by: Etienne Lessard patches: AST-25272.patch submitted by Etienne Lessard (license #6394) Change-Id: Id75ad202300960a1e91afe15e319d992936ecc17 2016-02-09 23:40 +0000 [3fdeb5a140] Badalyan Vyacheslav * Build: Added testing compiler to support the system sanitizes In older versions of the compiler was not sanitizes. Compilers other than GCC can not support the Usan and TSAN or have other options for *FLAGS. ASTERISK-25767 #close Reported by: Badalyan Vyacheslav Tested by: Badalyan Vyacheslav Change-Id: Iefce6608221fa87884b82ae3cb5649b7b1804916 2016-02-09 20:57 +0000 [598685f8a5] Badalyan Vyacheslav * Build: Fix menuselect USAN conflicts USAN can be used together with other sanitizers. Reported by: Badalyan Vyacheslav Tested by: Badalyan Vyacheslav Change-Id: I3bffa350d70965c3026651dba3a12414d0aaa45f 2016-02-09 14:21 +0000 [afb4a93280] Corey Farrell * Simplify and fix conditional in FD_SET. FD_SET contains a conditional statement to protect against buffer overruns. The statement was overly complicated and prevented use of the last array element of ast_fdset. We now just verify the fd is less than ast_FDMAX. Change-Id: I41895c0b497b052aef5bf49d75c817c48b326f40 2016-02-05 10:29 +0000 [26fdf8a77e] gtjoseph * chan_misdn: Fix a few issues causing compile errors Change-Id: I54b48c24d7ca88ed80496fdfd142d08772a7ab98 2016-02-04 16:17 +0000 [f906843818] Mark Michelson * Check for OpenSSL defines before trying to use them. The SSL_OP_NO_TLSv1_1 and SSL_OP_NO_TLSv1_2 defines did not exist prior to OpenSSL version 1.0.1. A recent commit attempts to, by default, set these options, which can cause problems on systems with older OpenSSL installations. This commit adds a configure script check for those defines and will not attempt to make use of those if they do not exist. We will print a warning urging the user to upgrade their OpenSSL installation if those defines are not present. Change-Id: I6a2eb9a43fd0738b404d8f6f2cf4b5c22d9d752d 2016-02-03 12:02 +0000 [f233bcd81d] Joshua Colp * AST-2016-001 http: Provide greater control of TLS and set modern defaults. This change exposes the configuration of various aspects of the TLS support and sets the default to the modern standards. The TLS cipher is now set to the best values according to the Mozilla OpSec team, different TLS versions can now be disabled, and the cipher order can be forced to be that of the server instead of the client. ASTERISK-24972 #close Change-Id: I7485bc48585979a93a131b01d435e54e6e7d5b97 2015-12-07 12:46 +0000 [da2573a377] Richard Mudgett * AST-2016-003 udptl.c: Fix uninitialized values. Sending UDPTL packets to Asterisk with the right amount of missing sequence numbers and enough redundant 0-length IFP packets, can make Asterisk crash. ASTERISK-25603 #close Reported by: Walter Doekes ASTERISK-25742 #close Reported by: Torrey Searle Change-Id: I97df8375041be986f3f266ac1946a538023a5255 2015-09-28 17:07 +0000 [882e853882] Richard Mudgett * AST-2016-002 chan_sip.c: Fix retransmission timeout integer overflow. Setting the sip.conf timert1 value to a value higher than 1245 can cause an integer overflow and result in large retransmit timeout times. These large timeout times hold system file descriptors hostage and can cause the system to run out of file descriptors. NOTE: The default sip.conf timert1 value is 500 which does not expose the vulnerability. * The overflow is now detected and the previous timeout time is calculated. ASTERISK-25397 #close Reported by: Alexander Traud Change-Id: Ia7231f2f415af1cbf90b923e001b9219cff46290 2016-02-02 04:05 +0000 [78fb989209] Karsten Wemheuer * res_xmpp: Does not connect in component mode The module res_xmpp does not accept usernames in the form used in component mode (XEP-0114). In component mode there is no @something in the name. In component mode the connection is now not dropped anymore. If the xmpp server sends out a "stream" tag before handshake is finished, the connection gets dropped in res_xmpp. Now this tag will be ignored and the connection will be established. After connecting there will be an exchange of presence states. This does not work as expected in component mode. The responsible function "xmpp_pak_presence" is left before the states get sent out. Sending presence states in component mode is now moved to the top of the function. ASTERISK-25735 #close Change-Id: I70e036f931c3124ebb2ad1e56f93ed35cfdd9d5c 2016-01-29 07:39 +0000 [e6c4a926c2] Stefan Engström * chan_sip.c: AMI & CLI notify methods get different values of asterisk's own ip. When I ask asterisk to send a SIP NOTIFY message to a sip peer using either a) AMI action: SIPnotify or b) cli command: sip notify , I expect asterisk to include the same value for its own ip in both cases a) and b), but it seems a) produces a contact header like Contact: whereas b) produces a contact header like . 0.0.0.0:8060 is my udpbindaddr in sip.conf My guess is that manager_sipnotify should call ast_sip_ouraddrfor(&p->sa, &p->ourip, p) the same way sip_cli_notify does, because after applying this patch, both cases a) and b) produce the contact header that I expect: Reported by: Stefan Engström Tested by: Stefan Engström Change-Id: I86af5e209db64aab82c25417de6c768fb645f476 2016-01-27 10:29 +0000 [998ef420d0] gtjoseph * build_system: Prevent goals needing makeopts from running when it's missing The Makefile only optionally includes makeopts so when goals like uninstall that dont depend on anything else are run after a distclean, rules like 'rm -f "$(DESTDIR)$(ASTMODDIR)/"*' get run as 'rm -f ""/*' which attempts to remove everything in the root directory. Although there's a rule defined for makeopts which prints a message and does an 'exit 1', since '-include makepopts' was specified (with the -), the exit was ignored letting the rest of the rules run. This patch makes makeopts required unless the goal has the string 'clean' in it. ASTERISK-25730 #close Reported-by: George Joseph Change-Id: I1bce59a7ea4f48e7a468e22b2abbb13c63417ac7 2016-01-26 17:59 +0000 [b04087a8e1] Richard Mudgett * app_confbridge.c: Update CONFBRIDGE and CONFBRIDGE_INFO documentation. Change-Id: Ic1f9e22ba1f2ff3b3f5cb017c5ddcd9bd48eccc7 2016-01-25 15:48 +0000 [afcb151472] Richard Mudgett * app_confbridge: Make non-admin users join a muted conference muted. ASTERISK-20987 #close Reported by: hristo Change-Id: Ic61a2b524ab3a4cfadf227fc6b3506527bc03f38 2016-01-25 16:56 +0000 [3918ccd6d9] Rusty Newton * sounds/Makefile: Incremented core and extra sounds versions to 1.5 Core and extra sounds 1.5 was recently released! The tarballs contain change descriptions however I figure more people will see this one so I'll try to be a bit detailed. Approximately 60 sounds were moved from Extra to Core for en, en_GB, fr and added for languages that didn't already have Extra sound sets (it,ja,ru). In addition all of the English and Russian sounds have been completely re-recorded. Sounds moved and added: activated,added,all-circuits-busy-now,astcc-followed-by-pound at-tone-time-exactly,call-forwarding,call-fwd-no-ans,call-fwd-on-busy ,call-fwd-unconditional,calling,call-waiting,cancelled, cannot-complete-as-dialed,check-number-dial-again,conf-full,de-activated ,disabled,do-not-disturb,enabled,enter-num-blacklist,entr-num-rmv-blklist ,extension,feature-not-avail-line,for,from-unknown-caller,goodbye,hello ,if-correct-press,im-sorry,info-about-last-call,is,is-in-use,is-set-to ,location,number,number-not-answering,num-was-successfully,one-moment-please ,please-try-again,pls-hold-while-try,pls-try-call-later,pm-invalid-option ,privacy-to-blacklist-last-caller,removed,simul-call-limit-reached ,something-terribly-wrong,sorry,sorry-youre-having-problems,speed-dial ,speed-dial-empty,telephone-number,time,to-call-this-number,to-extension ,to-listen-to-it,to-rerecord-it,unidentified-no-callback,with,you-entered ,your There were also a few random fixes here and there to file names for a few of the languages. ASTERISK-25068 #close Change-Id: I2b594344ec585d7dfd922b40c1af43b1508828b3 2016-01-25 11:03 +0000 [36aa50aded] Corey Farrell * chan_sip: Fix buffer overrun in sip_sipredirect. sip_sipredirect uses sscanf to copy up to 256 characters to a stacked buffer of 256 characters. This patch reduces the copy to 255 characters to leave room for the string null terminator. ASTERISK-25722 #close Change-Id: Id6c3a629a609e94153287512c59aa1923e8a03ab 2016-01-22 11:48 +0000 [f656c1e62a] Richard Mudgett * logger.c: Fix buffer overrun found by address sanitizer. The null terminator of the tail struct member was not being allocated when no logger.conf config file is installed. ASTERISK-25714 #close Reported by: Badalian Vyacheslav Change-Id: I45770fdd08af39506a3bc33ba279c4f16e047a30 2016-01-18 03:49 +0000 [e7309dce02] Diederik de Groot * main/asterisk.c: ast_el_read_char Make sure buf[res] is not accessed at res=-1 (buffer underrun). Address Sanitizer will complain about this quite loudly. ASTERISK-24801 #close Change-Id: Ifcd7f691310815a31756b76067c56fba299d3ae9 2016-01-18 16:38 +0000 [aef26eff79] Richard Mudgett * taskprocessor.c: Fix endless loop in CLI "core show taskprocessor" Revert 48dd99d2b4d6938b528f9f6aca98d36b60c5513b which caused an infinite loop only in v11. ASTERISK-25701 #close Reported by: ibercom Change-Id: I0d9103f4dc03fa31bb8d5e7a7a73b467bbac5349 2016-01-15 19:52 +0000 [ddb3387560] Corey Farrell * main/config: Clean config maps on shutdown. ASTERISK-25700 #close Change-Id: I096da84f9c62c6095f68bcf98eac4b7c7868e808 2016-01-13 18:20 +0000 [d826a61975] Richard Mudgett * astmm.c: Add more stats to CLI "memory show" commands. * Add freed regions totals to allocations and summary. * Add totals for all allocations and not just the selected allocations. Change-Id: I61d5a5112617b0733097f2545a3006a344b4032a 2016-01-12 11:14 +0000 [656bd42b11] Joshua Colp * app: Queue hangup if channel is hung up during sub or macro execution. This issue was exposed when executing a connected line subroutine. When connected or redirected subroutines or macros are executed it is expected that the underlying applications and logic invoked are fast and do not consume frames. In practice this constraint is not enforced and if not adhered to will cause channels to continue when they shouldn't. This is because each caller of the connected or redirected logic does not check whether the channel has been hung up on return. As a result the the hung up channel continues. This change makes it so when the API to execute a subroutine or macro is invoked the channel is checked to determine if it has hung up. If it has then a hangup is queued again so the caller will see it and stop. ASTERISK-25690 #close Change-Id: I1f9a8ceb1487df0389f0d346ce0f6dcbcaf476ea 2016-01-13 07:20 +0000 [2d29e67567] Sean Bright * res_musiconhold: Prevent multiple simultaneous reloads. There are two ways in which the reload() function in res_musiconhold can be called from the CLI: * module reload res_musiconhold.so * moh reload In the former case, the module loader holds a lock that prevents multiple concurrent calls, but in the latter there is no such protection. This patch changes the 'moh reload' CLI command to invoke the module loader directly, rather than call reload() explicitly. ASTERISK-25687 #close Change-Id: I408968b4c8932864411b7f9ad88cfdc7b9ba711c 2016-01-06 13:03 +0000 [6744b09a99] Kevin Harwell * pbx: Deadlock between contexts container and context_merge locks Recent changes (ASTERISK-25394 commit 2bd27d12223fe33b58c453965ed5c6ed3af7c4f5) introduced the possibility of a deadlock. Due to the mentioned modifications ast_change_hints now needs to keep both merge/delete and state callbacks from occurring while it executes. Unfortunately, sometimes ast_change_hints can be called with the contexts container locked. When this happens it's possible for another thread to grab the context_merge_lock before the thread calling into ast_change_hints does and then try to obtain the contexts container lock. This of course causes a deadlock between the two threads. The thread calling into ast_change_hints waits for the other thread to release context_merge_lock and the other thread is waiting on that one to release the contexts container lock. Unfortunately, there is not a great way to fix this problem. When hints change, the subsequent state callbacks cannot run at the same time as a merge/delete, nor when the usual state callbacks do. This patch alleviates the problem by having those particular callbacks (the ones run after a hint change) occur in a serialized task. By moving the context_merge_lock to a task it can now safely be attempted or held without a deadlock occurring. ASTERISK-25640 #close Reported by: Krzysztof Trempala Change-Id: If2210ea241afd1585dc2594c16faff84579bf302 2016-01-10 17:08 +0000 [b41d4ce58e] Corey Farrell * devicestate: Cleanup engine thread during graceful shutdown. ASTERISK-25681 #close Change-Id: I64337c70f0ebd8c77f70792042684607c950c8f1 2016-01-10 13:40 +0000 [ef67dc11bd] Corey Farrell * manager: Cleanup manager_channelvars during shutdown. ASTERISK-25680 #close Change-Id: I3251d781cbc3f48a6a7e1b969ac4983f552b2446 2016-01-10 13:27 +0000 [006ce3679c] Corey Farrell * res_calendar: Cleanup scheduler context at unload. ASTERISK-25679 #close Change-Id: I839159bf6882cccc1b23494c7aa2bc2a2624613f 2016-01-09 18:04 +0000 [656f7430f8] Corey Farrell * pbx_dundi: Run cleanup on failed load. During failed startup of pbx_dundi no cleanup was performed. Add a call to unload_module before returning AST_MODULE_LOAD_DECLINE. ASTERISK-25677 #close Change-Id: I8ffa226fda4365ee7068ac1f464473f1a4ebbb29 2016-01-09 13:28 +0000 [d2fd720290] Corey Farrell * res_crypto: Perform cleanup at shutdown. This change causes res_crypto to unregister CLI at shutdown while still preventing the module from being unloaded. ASTERISK-25673 #close Change-Id: Ie5d57338dc2752abfc0dd05d0eec86413f2304fc 2016-01-07 03:21 +0000 [7188c72a07] Diederik de Groot * include/asterisk/time.h: Renamed global declaration:tv Renamed global declaration:tv to dummy_tv_var_for_types, which would oltherwise cause 'shadow' warnings when 'tv' was declared as a local variable elsewhere. Added comment to note that dummy_tv_var_for_types is never really exported and only used as a place holder. ASTERISK-25627 #close Change-Id: I9a6e17995006584f3627efe8988e3f8aa0f5dc28 2016-01-07 21:07 +0000 [48dd99d2b4] Richard Mudgett * taskprocessor.c: Fix CLI "core show taskprocessors" unref. Change-Id: I1d9f4e532caa6dfabe034745dd16d06134efdce5 2016-01-06 19:00 +0000 [b6c4746409] Richard Mudgett * ccss.c: Replace space in taskprocessor name. The CLI "core ping taskprocessor" command does not work very well with taskprocessor names that have spaces in them. You have to put quotes around the name so using tab completion becomes awkward. Change-Id: I29e806dd0a8a0256f4e2e0a7ab88c9e19ab0eda0 2016-01-05 16:54 +0000 [32cbf1e429] Richard Mudgett * taskprocessor.c: Add CLI "core ping taskprocessor" missing unlock. Change-Id: I78247e0faf978bf850b5ba4e9f4933ab3c59d17b 2016-01-04 04:26 +0000 [2b0747817f] Aaron An * cel/cel_radius: Fix wrong pointer. The macro ADD_VENDOR_CODE defined in the cel_radius.c should use the parameter y not the address of y. I capture the radius UDP packet via tcpdump, and the AV pairs are not correct, then i review the source code and compare it with cdr/cdr_radius.c. Fix it and it works. ASTERISK-25647 #close Reported by: Aaron An Tested by: Aaron An Change-Id: I72889bccd8fde120d47aa659edc0e7e6d4d019f0 2016-01-05 14:52 +0000 [594b6a426b] gtjoseph * asterisk.h: Add ASTERISK_REGISTER_FILE macro The 11/13 branches and master use 2 different file version macros. 11/13 uses ASTERISK_FILE_VERSION but master uses ASTERISK_REGISTER_FILE. This means a new file added to 11/13 can't just be cherry-picked to master because the macro has to be changed. To make cherry-picking possible, ASTERISK_REGISTER_FILE was added to asterisk.h as a simple alias for ASTERISK_FILE_VERSION(__FILE__, NULL) The "$Revision$" tag doesn't do anything since Asterisk moved to git so just passing NULL as the verison works fine. asterisk.h was also annotated to deprecate ASTERISK_FILE_VERSION and suggest using ASTERISK_REGISTER_FILE for all new files. Change-Id: I5867ed898818d26ee49bb6e5c7d4c1a45d4789a5 2015-12-29 05:44 +0000 [1943cfc53c] Martin Tomec * app_queue: Add member flag "in_call" to prevent reading wrong lastcall time Member lastcall time is updated later than member status. There was chance to check wrapuptime for available member with wrong (old) lastcall time. New boolean flag "in_call" is set to true right before connecting call, and reset to false after update of lastcall time. Members with "in_call" set to true are treat as unavailable. ASTERISK-19820 #close Change-Id: I1923230cf9859ee51563a8ed420a0628b4d2e500 2015-12-04 17:22 +0000 [6bbb59e348] Richard Mudgett * app_dial: Immediately exit dial if the caller is already hung up. If a caller hangs up before dial is executed within an AGI then the AGI has likely eaten all queued frames before executing the dial in DeadAGI mode. With the caller hung up and no pending frames from the caller's read queue, dial would not know that the call has hung up until a called channel answers. It is rather annoying to whoever just answered the non-existent call. Dial should not continue execution in DeadAGI mode, hangup handlers, or the h exten. * Added a check early in dial to abort dialing if the caller has hungup. ASTERISK-25307 #close Reported by: David Cunningham Change-Id: Icd1bc0764726ef8c809f76743ca008d0f102f418 2015-12-28 14:02 +0000 [c8499b8d5a] Joshua Colp * test_time: Provide a timeout when waiting. The test_timezone_watch unit test is written to expect a condition to be signaled when the inotify daemon thread runs. There exists a small window where the test_timezone_watch thread can signal the inotify daemon thread while it is not reading on the underlying file descriptor. If this occurs the test_timezone_watch thread will wait indefinitely for a signal that will never arrive. This change adds a timeout to the condition so it will return regardless after a period of time. Change-Id: Ifed981879df6de3d93acd3ee0a70f92546517390 2015-12-24 22:19 +0000 [10435bfa69] Dade Brandon * res_http_websocket.c: prevent avoidable disconnections caused by write errors Updated ast_websocket_write to encode the entire frame in to one write operation, to ensure that we don't end up with a situation where the websocket header has been sent, while the body can not be written. Previous to August's patch in commit b9bd3c14, certain network conditions could cause the header to be written, and then the sub-sequent body to fail - which would cause the next successful write to contain a new header, and a new body (resulting in the peer receiving two headers - the second of which would be read as part of the body for the first header). This was patched to have both write operations individually fail by closing the websocket. In a case available to the submitter of this patch, the same body which would consistently fail to write, would succeed if written at the same time as the header. This update merges the two operations in to one, adds debug messages indicating the reason for a websocket connection being closed during a write operation, and clarifies some variable names for code legibility. Change-Id: I4db7a586af1c7a57184c31d3d55bf146f1a40598 2015-12-25 09:56 +0000 [6929d2a428] Dade Brandon * chan_sip.c: fix websocket_write_timeout default value websocket_write_timeout was not being set to its default value during sip config reload, which meant that prior to this commit, 1) the default value of 100 was not used, unless an invalid value (or 1) was specified in sip.conf for websocket_write_timeout, and 2) if the websocket_write_timeout directive was removed from sip.conf without a full restart of asterisk, then the previous value would continue to be used indefinitely. This essentially lead to a 0ms write timeout (the first write attempt in ast_careful_fwrite must have succeeded) in websocket write requests from chan_sip, unless websocket_write_timeout was explicitely set in sip.conf. Changes to websocket_write_timeout still only apply to new websocket sessions, after the sip reload -- timeouts on existing sessions are not adjusted during sip reload. Change-Id: Ibed3816ed29cc354af6564c5ab3e75eab72cb953 2015-12-24 10:10 +0000 [3066b80259] Kevin Harwell * res_rtp_asterisk: rtp->ice check not wrapped in USE_PJPROJECT ifdef Change-Id: I19b49112e1b630bd04e859f14ccf96f8ebd6b151 2015-12-20 21:33 +0000 [4dd42c1cfa] Dade Brandon * app_amd: Correct documentation to reflect functionality Update documentation to reflect that maximum_number_of_words has functionality inconsistent with the variable name (and inconsistent with prior documentation.) Update documentation for silence_threshold, which previously implied that it was measuring time, rather than noise averages in the sample. Update the comments in amd.conf.sample. ASTERISK-25639 #close Change-Id: I4b1451e5dc9cb3cb06d59b6ab872f5275ba79093 2015-12-17 19:05 +0000 [6dc4aacaed] Dade Brandon * res_rtp_asterisk: Resolve further timing issues with DTLS negotiation Resolves an edge case dtls negotiation delay for certain networks which somehow manage to drop the rtcp side's packet when these are both sent ast_rtp_remote_address_set, causing it to have to time-out and restart the handshake. Move dtls pending bio flush in to it's own function, and call it from ast_rtp_on_ice_complete, when we're rtp->ice, rather than when ast_rtp_remote_address_set. Keep the existing flush from the recent change to res_rtp_remote_address_set if ice is not being used. ASTERISK-25614 #close Reported-by: XenCALL Tested by: XenCALL Change-Id: Ie2caedbdee1783159f375589b6fd3845c8577ba5 2015-12-18 09:54 +0000 [54f6f54a5f] Carlos Oliva * app_queue: update RT members when the 1st call joins a queue with no agents If a call enters on a queue and the members on that queue are updated in realtime (ex: using mysql inserting a new agent) the queue members are never refreshed and the call will stay in the queue until other event occurs. This happens only if this is the first call of the queue and there is no agents servicing. This patch prevent this issue, ensuring realtime members are updated if there is one call in the queue and no available agents ASTERISK-25442 #close Change-Id: If1e036d013a5c1d8b0bf60d71d48fe98694a8682 2015-12-09 17:23 +0000 [b9f9ffb351] sungtae kim * AMI: Fixed OriginateResponse message When asterisk sends the OriginateResponse event message, it doesn't send the correct information for origination to an application. ASTERISK-25624 #close Change-Id: I8fb6bc533d7f812c66a24cc2b0354ddb09d0f640 2015-12-15 16:53 +0000 Asterisk Development Team * asterisk 11.21.0-rc1 Released. 2015-12-15 10:52 +0000 [2108015d2f] Kevin Harwell * Release summaries: Add summaries for 11.21.0-rc1 2015-12-15 10:50 +0000 [a2e60af7ff] Kevin Harwell * .version: Update for 11.21.0-rc1 2015-12-15 10:50 +0000 [58966343b3] Kevin Harwell * .lastclean: Update for 11.21.0-rc1 2015-12-14 13:53 +0000 [5e6b1476a0] server-pandora * res_rtp_asterisk.c: Fix DTLS negotiation delays. - Trigger pending DTLS packets to send out, once the RTP instance's remote address is set. - Avoids locking the DTLS structure unnecessarily by only doing this if DTLS is passive. - Add DTLS locks around the structurally sensitive calls in the SSL portion of __rtp_recvfrom, since dtls_srtp_check_pending does not lock inside of itself, and we're dealing with the SSL BIO in at least two threads. WebRTC channels may receive a DTLS handshake before ast_rtp_remote_address_set is called, which causes there to be a pending response to send out. Previous to 1ad827, this was handled by calling dtls_srtp_check_pending on receipt of any RTP packet - a STUN or RTP packet could trigger the pending handshake response. Since that was rightfully removed, whenever the DTLS handshake is received before the remote address is set, we would have to wait until another SSL packet arrives. As of Chrome M47's optimizations to their handshake process, WebRTC conversations between Chrome M47+ and Asterisk, where Asterisk is passive, experience a 1 second delay without this patch, because the SSL handshake is received before ICE negotation stores the remote_address, and the next SSL packet isn't received until after a 1 second timeout in Chrome, which causes a new handshake request. ASTERISK-25614 #close Change-Id: I547f1be7e302dbf71f6553dd8cbc0657b1d0b908 2015-12-13 13:13 +0000 [d4e3491293] Matt Jordan * main/utils: Don't emit an ERROR message if the read end of a pipe closes An ERROR or WARNING message should generally indicate that something has gone wrong in Asterisk. In the case of writing to a file descriptor, Asterisk is not in control of when the far end closes its reading on a file descriptor. If the far end does close the file descriptor in an unclean fashion, this isn't a bug or error in Asterisk, particularly when the situation can be gracefully handled in Asterisk. Currently, when this happens, a user would see the following somewhat cryptic ERROR message: "utils.c: write() returned error: Broken pipe" There's a few problems with this: (1) It doesn't provide any context, other than 'something broke a pipe' (2) As noted, it isn't actually an error in Asterisk (3) It can get rather spammy if the thing breaking the pipe occurs often, such as a FastAGI server (4) Spammy ERROR messages make Asterisk appear to be having issues, or can even mask legitimate issues This patch changes ast_carefulwrite to only log an ERROR if we actually had one that was reasonably under our control. For debugging purposes, we still emit a debug message if we detect that the far side has stopped reading. Change-Id: Ia503bb1efcec685fa6f3017bedf98061f8e1b566 2015-12-10 11:44 +0000 [e1d08a39c5] Jonathan Rose * chan_sip: Add TCP/TLS keepalive to TCP/TLS server Adds the TCP Keep Alive option to TCP and TLS server sockets. Previously this option was only being set on session sockets. http://www.tldp.org/HOWTO/html_single/TCP-Keepalive-HOWTO/ According to the link above, the SO_KEEPALIVE option is useful for knowing when a TCP connected endpoint has severed communication without indicating it or has become unreachable for some reason. Without this patch, keep alive is not set on the socket listening for incoming TCP sessions and in Komatsu's report this resulted in the thread listening for TCP becoming stuck in a waiting state. ASTERISK-25364 #close Reported by: Hiroaki Komatsu Change-Id: I7ed7bcfa982b367dc64b4b73fbd962da49b9af36 2015-12-07 13:07 +0000 [fa7329b72d] Corey Farrell * app_meetme: Set default value for audio_buffers. The default value was never set for audio_buffers, causing bad audio quality. This ensures the default is always set. ASTERISK-25569 #close Change-Id: I2d2ee3e644120b0f9f6ea6ab9286d7d590942a44 2015-12-08 01:57 +0000 [62574fb9dc] Filip Jenicek * chan_sip: Check sip_pvt pointer in ast_channel_get_t38_state(c) Asterisk may crash when calling ast_channel_get_t38_state(c) on a locked channel which is being hung up. ASTERISK-25609 #close Change-Id: Ifaa707c04b865a290ffab719bd2e5c48ff667c7b 2015-12-02 12:42 +0000 [badac7c340] Eugene Voityuk * chan_sip.c: Start ICE negotiation when response is sent or received. The current logic for ICE negotiation starts it when receiving an SDP with ICE candidates. This is incorrect as ICE negotiation can only start when each call party have at least one pair of local and remote candidate. Starting ICE negotiation early would result in negotiation failure and ultimately no audio. This change makes it so ICE negotiation is only started when a response with SDP is received or when a response with SDP is sent. ASTERISK-24146 Change-Id: I55a632bde9e9827871b09141d82747e08379a8ca 2015-12-08 08:39 +0000 [a388ff29e7] Alexander Traud * codec_resample: Increase buffer for Opus Codec with FEC. ASTERISK-25599 #close Change-Id: Idbd187f711b2ec63dda949ca0f79aa0c1a0a0b6e 2015-12-08 03:46 +0000 [ac8e285dfd] Alexander Traud * translate: Avoid a warning message when doing FEC within Opus Codec. ASTERISK-25616 #close Change-Id: Ibe729aaf2e6e25506cff247cec5149ec1e589319 2015-12-04 15:36 +0000 [47118fb947] Richard Mudgett * chan_sip: Fix crash involving the bogus peer during sip reload. A crash happens sometimes when performing a CLI "sip reload". The bogus peer gets refreshed while it is in use by a new call which can cause the crash. * Protected the global bogus peer object with an ao2 global object container. ASTERISK-25610 #close Change-Id: I5b528c742195681abcf713c6e1011ea65354eeed 2015-12-04 08:22 +0000 [b59b0bb509] Joshua Colp * build: Fix building with newer GCC. Newer GCC is upset that the features flags are uninitialized. Zero them out so it is less upset. Change-Id: I05162699e1b36bce4145f58a63b47ad19c6975ac 2015-12-04 08:15 +0000 [0a8fe8de11] Joshua Colp * Fix crash in audiohook translate to slin This patch fixes a crash which would occur when an audiohook was applied to a channel using an audio codec that could not be translated to signed linear (such as when using pass-through codecs like OPUS or when the codec translator module for the format in use is not loaded). ASTERISK-25498 #close Reported by: Ben Langfeld Change-Id: Ib6ea7373fcc22e537cad373996136636201f4384 2015-11-30 16:42 +0000 [bd4aee4b7b] Richard Mudgett * sched.c: Make not return a sched id of 0. According to the API doxygen a sched ID of 0 is valid. Unfortunately, 0 was never returned historically and several users incorrectly coded usage of the returned sched ID assuming that 0 was invalid. ASTERISK-25476 Change-Id: Ib19c7ebb44ec9fd393ef6646dea806d4f34e3a20 2015-11-24 12:44 +0000 [394b8a40c1] Richard Mudgett * Audit improper usage of scheduler exposed by 5c713fdf18f. channels/chan_iax2.c: * Initialize struct chan_iax2_pvt scheduler ids earlier because of iax2_destroy_helper(). channels/chan_sip.c: channels/sip/config_parser.c: * Fix initialization of scheduler id struct members. Some off nominal paths had 0 as a scheduler id to be destroyed when it was never started. chan_skinny.c: * Fix some scheduler id comparisons that excluded the valid 0 id. channel.c: * Fix channel initialization of the video stream scheduler id. pbx_dundi.c: * Fix channel initialization of the packet retransmission scheduler id. ASTERISK-25476 Change-Id: I07a3449f728f671d326a22fcbd071f150ba2e8c8 2015-12-01 08:13 +0000 [6f04531b41] Alexander Traud * codec_resample: Increase buffer for Opus Codec. ASTERISK-25599 #close Change-Id: I1f88a88c59fb4e1e62bbdbb100c7152d48e73f10 2015-11-25 15:26 +0000 [92f631e2f4] Kevin Harwell * fastagi: record file closed after sending result The fastagi record-file testsuite test sometimes fails reporting an empty recorded file. This was happening because Asterisk was sending the agi result notification prior to actually closing the file and the data, being buffered, had not been written to the file yet when the test attempts to check the file size. This patch makes it so the record file stream is closed prior to sending the agi result notification. ASTERISK-25593 #close Change-Id: I6b2b3be3ae37f7c7b18e672c419a89b3b8513cde 2015-11-25 13:29 +0000 [4450cf89d8] Walter Doekes * main: Slight refactor of main. Improve color situation. Several issues are addressed here: - main() is large, and half of it is only used if we're not rasterisk; fixed by spliting up the daemon part into a separate function. - Call ast_term_init from rasterisk as well. - Remove duplicate code reading/writing asterisk history file. - Attempt to tackle background color issues and color changes that occur. Tested by starting asterisk -c until the colors stopped changing at odd locations. ASTERISK-25585 #close Change-Id: Ib641a0964c59ef9fe6f59efa8ccb481a9580c52f 2015-11-14 07:02 +0000 [78734aadf4] Joshua Colp * hashtab: Add NULL check when destroying iterator. The hashtab API is pretty NULL tolerant which has resulted in remaining callers not doing much checks themselves. Unfortunately the function to destroy an iterator does not do a NULL check and will result in a crash if passed NULL. This change fixes that. ASTERISK-25552 #close Change-Id: Ic1bf8eec3639e5a440f1c941d3ae3893ac6ed619 2015-11-11 04:16 +0000 [e74110188d] Steve Davies * Further fixes to improper usage of scheduler When ASTERISK-25449 was closed, a number of scheduler issues mentioned in the comments were missed. These have since beed raised in ASTERISK-25476 and elsewhere. This patch attempts to collect all of the scheduler issues discovered so far and address them sensibly. ASTERISK-25476 #close Change-Id: I87a77d581e2e0d91d33b4b2fbff80f64a566d05b 2015-11-10 09:29 +0000 [6373ed2852] Alexander Traud * rtp_engine: Init a format-attribute module to its RFC defaults. Previously, format-attribute modules relied on an existing fmtp line in SDP negotiation. However, fmtp is optional for several formats like the Opus Codec. Now, the format-attribute module is called with an empty fmtp, which allows the module to initialise itself to RFC defaults. Furthermore now, Asterisk is able to differentiate between internally and externally created formats. ASTERISK-25537 #close Change-Id: I28f680cef7fdf51c0969ff8da71548edad72ec52 2015-11-06 07:54 +0000 [8fd2b60e1a] Walter Doekes * func_callerid: Document that CALLERID(pres) is available. CALLERPRES() says that it's deprecated in favor of CALLERID(num-pres) and CALLERID(name-pres). But for channel driver that don't make a distinction between the two (e.g. SIP), it makes more sense to get/set both at once. This change reveals the availability of CALLERID(pres), CONNECTEDLINE(pres), REDIRECTING(orig-pres), REDIRECTING(to-pres) and REDIRECTING(from-pres). ASTERISK-25373 #close Change-Id: I5614ae4ab7d3bbe9c791c1adf147e10de8698d7a 2015-11-06 07:52 +0000 [33e214e025] Walter Doekes * docs: Fix a few typo's in app docs (more then, resourse). Change-Id: Iba57efadf6c0b822e762c7a001bc89611d98afd7 2015-11-06 07:36 +0000 [ebed86fb4a] Walter Doekes * xmldoc: Improve xmldoc wrapping of 'core show ...' output. Previously, the wrapping did both lookahead and lookback, which, together with color escape sequences, caused some lines to be wrapped way earlier than other lines. This led to inconsistent output. This simplifies the wrapping code and makes it more sane: if maxcolumns is hit, we simply jump back to the last space and wrap there. ASTERISK-25527 #close Change-Id: I56d01c6f9a812642b1b05535c98d4db48d17c957 2015-11-04 08:25 +0000 [77936f612d] Corey Farrell * Fix cli display of build options. A previous commit reduced the AST_BUILDOPTS compiler define to only include options that affected ABI. This included some options that were previously displayed by cli "core show settings". This change corrects the CLI display while still restricting buildopts.h to ABI effecting options only. ASTERISK-25434 #close Reported by: Rusty Newton Change-Id: Id07af6bedd1d7d325878023e403fbd9d3607e325 2015-10-24 13:08 +0000 [992879aa43] gtjoseph * build: GCC 5.1.x catches some new const, array bounds and missing paren issues Fixed 1 issue in each of the affected files. ASTERISK-25494 #close Reported-by: George Joseph Tested-by: George Joseph Change-Id: I818f149cd66a93b062df421e1c73c7942f5a4a77 2015-10-21 08:06 +0000 [811ef5ebac] Alexander Traud * format: Update the maximum packetization time for iLBC 30. In September 2006, the maximum packetization time (ptime) were set to such a low value, packetization was disabled for many codecs actually. This was fixed for many codecs but not for iLBC 30. This enables packetization for iLBC which can be enabled for example via allow=ilbc:60,gsm,alaw,ulaw in the file sip.conf. ASTERISK-7803 Change-Id: I3ac61235097808216b6a15a1c7e321b3fdeb7ff1 2015-10-14 14:15 +0000 [9f4892ece4] mdu113 * res_config_pgsql.c: Fix deadlock loading realtime configuration. On v13, loading several thousand PJSIP endpoints on Asterisk start causes a deadlock most of the time. Thanks to mdu113 for discovering that there was a call to pgsql_exec() not protected by the pgsql_lock reentrancy lock. {quote} I believe a code path exists that attempts to use pgsql connection without locking pgsql_lock. I believe what happens during that deadlock that I see is two concurrent threads are both attempting to send query to pgsql, one of the thread is using a code path without locking pgsql_lock. If they managed to send queries at the same time, it seems postgres ignores one of the queries and replies only to the one of them. If it happens so that the thread holding the lock didn't receive the reply it will wait for it (and hold the lock) forever (or at least for very long time), thus completely blocking all access to db. {quote} * Added missing reentrancy locking around pgsql_exec() in find_table(). * Moved unlock of pgsql_lock in unload_module() to avoid locking inversion between the psql_tables list lock and the pgsql_lock. ASTERISK-25455 #close Reported by: mdu113 Patches: res_config_pgsql.c-connlock2.diff (license #5543) patch uploaded by mdu113 Change-Id: Id9e7cdf8a3b65ff19964b0cf942ace567938c4e2 2015-10-13 14:13 +0000 [b3101fb8df] Olle Johansson (License 5267) * channels/chan_sip: Set cause code to 44 on RTP timeout To quote Olle: "When issuing a hangup due to RTP timeouts the cause code is not set. I have selected 44 based on Cisco's implementation..." ASTERISK-25135 #close Reported by: Olle Johansson patches: rtp-timeout-cause-1.8.diff uploaded by Olle Johansson (License 5267) Change-Id: Ia62100c55077d77901caee0bcae299f8dc7375fc 2015-10-12 11:21 +0000 [a702ef503f] Richard Mudgett * config.c: Fix off-nominal memory leak. Change-Id: I06e346e9a5c63cc5071e7eda537310c4b43bffe0 2015-10-12 11:20 +0000 [164e286037] Richard Mudgett * config.c: Fix potential memory corruption after [section](+). The memory corruption could happen if the [section](+) is the last section in the file with trailing comments. In this case process_text_line() has left *last_cat is set to newcat and newcat is destroyed. Change-Id: I0d1d999f553986f591becd000e7cc6ddfb978d93 2015-10-12 11:21 +0000 [c1184789f2] Richard Mudgett * config.c: Fix #include after [section](+). An #include right after a [section](+) would associate any variable assignments before a new section in the #include with the wrong section. * Fix section association by setting the current section to the appended section. * Fix '+' and '!' section flag interaction corner case depending upon which flag came first. If the '!' came first then it would be ignored. If the '!' came after then it would affect the appended section. The '!' will now no longer be ignored. ASTERISK-25461 #close Reported by: Sean Pimental Change-Id: Ic9d3191c8758048e2cbce6432f854b32531731c3 2015-10-10 15:20 +0000 [a0bb7b50ae] Ivan Poddubny * Build: Add menuselect options for using compiler sanitizers This patch adds menuselect options for building Asterisk with various sanitizers provided by gcc and clang. When one of *SANITIZER flags is set in menuselect, the appropriate option is added to CFLAGS ad LDFLAGS for the build. Information on sanitizers in the project wiki: https://github.com/google/sanitizers/wiki GCC Manual: https://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html Clang Compiler User's Manual: http://clang.llvm.org/docs/UsersManual.html#controlling-code-generation ASTERISK-24718 #close Reported by: Badalian Vyacheslav Change-Id: Iafa51b792b7bcb20e848b99d16cf362d08590fa0 2015-10-07 01:24 +0000 [966265dd70] Ivan Poddubny * func_presencestate: Return "not_set" when no data is set in AstDB Return AST_PRESENCE_NOT_SET when CustomPresence AstDB key does not exist, i.e. when a new CustomPresence is added in the dialplan. ASTERISK-25400 #close Reported by: Andrew Nagy Change-Id: I6fb17b16591b5a55fbffe96f3994ec26b1b1723a 2015-10-06 20:43 +0000 [44efdbd2de] Matt Jordan * res/res_rtp_asterisk: Fix assignment after ao2 decrement When we decide we will no longer schedule an RTCP write, we remove the reference to the RTP instance, then assign -1 to the stored scheduler ID in case something else comes along and wants to see if anything is scheduled. That scheduler ID is on the RTP instance. After 60a9172d7ef2 was merged to fix the regression introduced by 3cf0f29310, this improper assignment on a potentially destroyed object started getting tripped on the build agents. Frankly, this should have been crashing a lot more often earlier. I can only assume that the timing was changed just enough by both changes to start actually hitting this problem. As it is, simply moving the assignment prior to the ao2 deference is sufficient to keep the RTP instance from being referenced when it is very, truly, aboslutely dead. (Note that it is still good practice to assign -1 to the scheduler ID when we know we won't be scheduling it again, as the ao2 deref *may* not always destroy the ao2 object.) ASTERISK-25449 Change-Id: Ie6d3cb4adc7b1a6c078b1c38c19fc84cf787cda7 2015-10-06 12:40 +0000 [9354c1a64f] Florian Sauerteig * chan_sip: Fix port parsing for IPv6 addresses in SIP Via headers. If a Via header containes an IPv6 address and a port number is ommitted, as it is the standard port, we now leave the port empty and to not set it to the value after the first colon of the IPv6 address. ASTERISK-25443 #close Change-Id: Ie3c2f05471cd006bf04ed15598589c09577b1e70 2015-10-05 21:34 +0000 [60a9172d7e] Matt Jordan * Fix improper usage of scheduler exposed by 5c713fdf18f When 5c713fdf18f was merged, it allowed for scheduled items to have an ID of '0' returned. While this was valid per the documentation for the API, it was apparently never returned previously. As a result, several users of the scheduler API viewed the result as being invalid, causing them to reschedule already scheduled items or otherwise fail in interesting ways. This patch corrects the users such that they view '0' as valid, and a returned ID of -1 as being invalid. Note that the failing HEP RTCP tests now pass with this patch. These tests failed due to a duplicate scheduling of the RTCP transmissions. ASTERISK-25449 #close Change-Id: I019a9aa8b6997584f66876331675981ac9e07e39 2015-10-03 06:27 +0000 [b66f1eef41] Ivan Poddubny * manager: Fix GetConfigJSON returning invalid JSON When GetConfigJSON was introduced back in 1.6, it returned each section as an array of strings: ["key=value", "key2=value2"]. Afterwards, it was changed a few times and became ["key": "value", "key2": "value2"], which is not a correct JSON. This patch fixes that by constructing a JSON object {} instead of an array []. ASTERISK-25391 #close Reported by: Bojan Nemčić Change-Id: Ibbe93c6a227dff14d4a54b0d152341857bcf6ad8 2015-09-28 15:31 +0000 [6803444ac1] Richard Mudgett * sched.c: Add warning about negative time interval request. Change-Id: Ib91435fb45b7f5f7c0fc83d0eec20b88098707bc 2015-09-30 13:42 +0000 [fa0985851a] Joshua Colp * res_rtp_asterisk: Move "Set role" warning to be debug. In practice the set_role API callback can be invoked even when no ICE is present on an RTP instance. This can occur if ICE has not been enabled on it. ASTERISK-25438 #close Change-Id: I0e17e4316f0f0d7f095c78c3d4fd73a913b6ba69 2015-09-29 20:58 +0000 Asterisk Development Team * asterisk 11.20.0-rc1 Released. 2015-09-29 15:57 +0000 [e4ef76777f] Kevin Harwell * Release summaries: Add summaries for 11.20.0-rc1 2015-09-29 15:56 +0000 [db337a8a50] Kevin Harwell * .version: Update for 11.20.0-rc1 2015-09-29 15:56 +0000 [1db02c4e56] Kevin Harwell * .lastclean: Update for 11.20.0-rc1 2015-09-28 01:36 +0000 [8d2e1ecdca] Ivan Poddubny * channel.c: Fix NewCallerid AMI event not been sent on Caller ID change Currently, NewCallerid is sent only when pointers to number or name strings change, which is not always the case. The newly allocated string may use the same memory, so pointers match, while the content is different. As a result, Caller ID updates are often not reported. With this patch, actual strings are compared, not the pointers. ASTERISK-25427 #close Reported by: Ivan Poddubny Change-Id: I2a1ac3a842f0e092c6058d1cd3e35443bece1b36 2015-09-21 08:16 +0000 [29694eb2aa] Elazar Broad * core/logging: Fix logging to more than one syslog channel Currently, Asterisk will log to the last configured syslog channel in logger.conf. This is due to the fact that the final call to openlog() supersedes all of the previous calls. This commit removes the call to openlog() and passes the facility to ast_log_vsyslog(), along with utilizing the LOG_MAKEPRI macro to ensure that the message is routed to the correct facility and with the correct priority. ASTERISK-25407 #close Reported by: Elazar Broad Tested by: Elazar Broad Change-Id: Ie2a2416bc00cce1b04e99ef40917c2011953ddd2 2015-09-21 18:06 +0000 [455a31476b] Kevin Harwell * app_record: RECORDED_FILE variable not being populated The RECORDED_FILE variable is empty unless a '%d' is specified in the filename. This patch makes it so the variable is always set to the filename. ASTERISK-25410 #close Change-Id: I4ec826d8eb582ae2ad184e717be8668b74d37653 2015-09-16 08:22 +0000 [51013b052d] Joshua Colp * pbx: Update device and presence state when changing a hint extension. When changing a hint extension without removing the hint first the device state and presence state is not updated. This causes the state of the hint to be that of the previous extension and not the current one. This state is kept until a state change occurs as a result of something (presence state change, device state change). This change updates the hint with the current device and presence state of the new extension when it is changed. Any state callbacks which may have been added before the hint extension is changed are also informed of the new device and presence state if either have changed. ASTERISK-25394 #close Change-Id: If268f1110290e502c73dd289c9e7e7b27bc8432f 2015-09-17 04:52 +0000 [2fcf45e9cf] Walter Doekes * chan_sip: Fix From header truncation for extremely long CALLERID(name). The CALLERID(num) and CALLERID(name) and other info are placed into the `char from[256]` in initreqprep. If the name was too long, the addr-spec and params wouldn't fit. Code is moved around so the addr-spec with params is placed there first, and then fitting in as much of the display-name as possible. ASTERISK-25396 #close Change-Id: I33632baf024f01b6a00f8c7f35c91e5f68c40260 2015-08-28 16:06 +0000 [c7f8c8c35d] Alexander Traud * translate: Fix transcoding while different in frame size. When Asterisk translates between codecs each with a different frame size (for example between iLBC 30 and Speex-WB), too large frames were created by ast_trans_frameout. Now, ast_trans_frameout is called with the correct frame length, creating several frames when necessary. Affects all transcoding modules which used ast_trans_frameout: GSM, iLBC, LPC10, and Speex. ASTERISK-25353 #close Change-Id: I84b59f7a745955820f10e20f5999eb69495a68b9 2015-09-10 17:19 +0000 [3cf0f29310] Mark Michelson * scheduler: Use queue for allocating sched IDs. It has been observed that on long-running busy systems, a scheduler context can eventually hit INT_MAX for its assigned IDs and end up overflowing into a very low negative number. When this occurs, this can result in odd behaviors, because a negative return is interpreted by callers as being a failure. However, the item actually was successfully scheduled. The result may be that a freed item remains in the scheduler, resulting in a crash at some point in the future. The scheduler can overflow because every time that an item is added to the scheduler, a counter is bumped and that counter's current value is assigned as the new item's ID. This patch introduces a new method for assigning scheduler IDs. Instead of assigning from a counter, a queue of available IDs is maintained. When assigning a new ID, an ID is pulled from the queue. When a scheduler item is released, its ID is pushed back onto the queue. This way, IDs may be reused when they become available, and the growth of ID numbers is directly related to concurrent activity within a scheduler context rather than the uptime of the system. Change-Id: I532708eef8f669d823457d7fefdad9a6078b99b2 2015-09-09 16:46 +0000 [198a1cab8e] Alexander Anikin * chan_ooh323: Add ProgressIndicator IE with inband info available Add ProgressIndicator IE with inband info present to Progress and Alerting Q.931 message ASTERISK-25227 #close Reported by: Alexandr Dranchuk Change-Id: I326ad13cb1db9a72b3fd902bafed3c28a3684203 2015-09-04 16:33 +0000 [819760baec] David M. Lee * res_rtp_asterisk: Add more ICE debugging In working through a recent ICE negotiation bug, I found the debug logging in res_rtp_asterisk to be lacking. This patch adds a number of debug and warning statements that were helpful. Change-Id: I950c6d8f13a41f14b3d6334b4cafe7d4e997be80 2015-09-01 10:16 +0000 [ffa26a0c2e] Guido Falsi * Core/General: Add #ifdef needed on FreeBSD. pthread_attr_init() defaults to PTHREAD_EXPLICIT_SCHED on FreeBSD too. ASTERISK-25310 #close Reported by: Guido Falsi Change-Id: Iae6befac9028b5b9795f86986a4a08a1ae6ab7c4 2015-09-07 13:19 +0000 [07b25a2312] Alexander Anikin * chan_ooh323: call ast_rtp_instance_stop on ooh323_destroy Call ast_rtp_instance_stop on ooh323_destroy to free resources allocated by rtp instance ASTERISK-25299 #close Report by: Alexandr Dranchuk Change-Id: I455096bd7da016b871afe90af86067c2c7c9f33f 2015-09-04 16:06 +0000 [94b764c8f3] David M. Lee * Fix when remote candidates exceed PJ_ICE_MAX_CAND We were passing the wrong count into pj_ice_sess_create_check_list(), causing the create to fail if we ever received more than PJ_ICE_MAX_CAND candidates. Change-Id: I0303d8e1ecb20a8de9fe629a3209d216c4028378 2015-08-26 05:40 +0000 [59636e82b2] Joshua Colp * chan_sip: Allow call pickup to set the hangup cause. The call pickup implementation in chan_sip currently sets the channel hangup cause to "normal clearing" if call pickup is successfully performed. This action overwrites the "answered elsewhere" hangup cause set by the call pickup code and can result in the SIP device in question showing a missed call when it should not. This change sets the hangup cause to "normal clearing" as a default initially but allows the call pickup to change it as needed. ASTERISK-25346 #close Change-Id: I00ac2c269cee9e29586ee2c65e83c70e52a02cff 2015-08-19 10:30 +0000 [b4535b0e59] Scott Griepentrog * contrib: script install_prereq should install sqlite3 Asterisk needs the sqlite 3 library, which is package sqlite-devel in CentOS. By adding this package to the script, a problem with configure failing is resolved. ASTERISK-25331 #close Reported by: Kevin Harwell Change-Id: I90efaf6a01914fea03f21e5cdbd91c348f44b0ec 2015-08-17 16:41 +0000 [6a364807f4] Richard Mudgett * app_queue.c: Extract some functions for simpler code. * Extract set_queue_member_pause() from set_member_paused() for simpler and more consistent code. * Extract set_queue_member_ringinuse() from set_member_ringinuse_help_members() for simpler code. NOTE: This may fix a consistency issue with realtime ringinuse because the ordering of things was backported from v13. It is similar to how set_member_paused() treats realtime for paused. Change-Id: Iecc1f4119c63347341d7ea6b65f5fc4963706306 2015-08-17 13:34 +0000 [a56da797d9] Richard Mudgett * app_queue.c: Fix error checking in QUEUE_MEMBER() read. Change-Id: I7294e13d27875851c2f4ef6818adba507509d224 2015-08-14 12:55 +0000 [43150cc58d] Richard Mudgett * app_queue.c: Fix setting QUEUE_MEMBER 'paused' and 'ringinuse'. Setting the 'paused' and 'ringinuse' options on a queue member using the dialplan function QUEUE_MEMBER did not behave the same way as the equivalent dialplan applications or AMI actions. * Made queue_function_mem_write() call the set_member_paused() and set_member_value() for the 'paused' and 'ringinuse' options respectively. A beneficial side effect is that the queue name is now optional and sets the value in all queues the interface is a member. NOTE: This may fix a consistency issue with the realtime paused setting since how the value is set is controlled by set_member_paused() which treats realtime a little better. * Update QUEUE_MEMBER XML documentation. * Fix error checking in QUEUE_MEMBER() write. ASTERISK-25215 #close Reported by: Lorne Gaetz Change-Id: I3a016be8dc94d63a9cc155295ff9c9afa5f707cb 2015-08-12 12:59 +0000 [430db4333e] Kevin Harwell * chan_sip.c: wrong peer searched in sip_report_security_event In chan_sip, after handling an incoming invite a security event is raised describing authorization (success, failure, etc...). However, it was doing a lookup of the peer by extension. This is fine for register messages, but in the case of an invite it may search and find the wrong peer, or a non existent one (for instance, in the case of call pickup). Also, if the peers are configured through realtime this may cause an unnecessary database lookup when caching is enabled. This patch makes it so that sip_report_security_event searches by IP address when looking for a peer instead of by extension after an invite is processed. ASTERISK-25320 #close Change-Id: I9b3f11549efb475b6561c64f0e6da1a481d98bc4 2015-08-10 13:43 +0000 [c777c9565d] Richard Mudgett * chan_dahdi.c: Flush the DAHDI write buffer after starting DTMF. Pressing DTMF digits on a phone to go out on a DAHDI channel can result in the digit not being recognized or even heard by the peer. Phone -> Asterisk -> DAHDI/channel Turns out the DAHDI behavior with DTMF generation (and any other generated tones) is exposed by the "buffers=" setting in chan_dahdi.conf. When Asterisk requests to start sending DTMF then DAHDI waits until its write buffer is empty before generating any samples for the DTMF tones. When Asterisk subsequently requests DAHDI to stop sending DTMF then DAHDI immediately stops generating the DTMF samples. As a result, the more samples there are in the DAHDI write buffer the shorter the time DTMF actually gets sent on the wire. If there are more samples in the write buffer than the time DTMF is supposed to be sent then no DTMF gets sent on the wire. With the "buffers=12,half" setting and each buffer representing 20 ms of samples then the DAHDI write buffer is going to contain around 120 ms of samples. For DTMF to be recognized by the peer the actual sent DTMF duration needs to be a minimum of 40 ms. Therefore, the intended duration needs to be a minimum of 160 ms for the peer to receive the minimum DTMF digit duration to recognize it. A simple and effective solution to work around the DAHDI behavior is for Asterisk to flush the DAHDI write buffer when sending DTMF so the full duration of DTMF is actually sent on the wire. When someone is going to send DTMF they are not likely to be talking before sending the tones so the flushed write samples are expected to just contain silence. * Made dahdi_digit_begin() flush the DAHDI write buffer after requesting to send a DTMF digit. ASTERISK-25315 #close Reported by John Hardin Change-Id: Ib56262c708cb7858082156bfc70ebd0a220efa6a 2015-08-05 14:21 +0000 [f43ea74e9e] Richard Mudgett * chan_dahdi.c: Lock private struct for ast_write(). There is a window of opportunity for DTMF to not go out if an audio frame is in the process of being written to DAHDI while another thread starts sending DTMF. The thread sending the audio frame could be past the currently dialing check before being preempted by another thread starting a DTMF generation request. When the thread sending the audio frame resumes it will then cause DAHDI to stop the DTMF tone generation. The result is no DTMF goes out. * Made dahdi_write() lock the private struct before writing to the DAHDI file descriptor. ASTERISK-25315 Reported by John Hardin Change-Id: Ib4e0264cf63305ed5da701188447668e72ec9abb 2015-08-11 05:24 +0000 [b9bd3c1435] Joshua Colp * res_http_websocket: Forcefully terminate on write errors. The res_http_websocket module will currently attempt to close the WebSocket connection if fatal cases occur, such as when attempting to write out data and being unable to. When the fatal cases occur the code attempts to write a WebSocket close frame out to have the remote side close the connection. If writing this fails then the connection is not terminated. This change forcefully terminates the connection if the WebSocket is to be closed but is unable to send the close frame. ASTERISK-25312 #close Change-Id: I10973086671cc192a76424060d9ec8e688602845 2015-08-07 22:11 +0000 [06b464ab1b] David M. Lee * Replace htobe64 with htonll We don't have a compatability function to fill in a missing htobe64; but we already have one for the identical htonll. Change-Id: Ic0a95db1c5b0041e14e6b127432fb533b97e4cac 2015-08-05 05:23 +0000 [c7a1dca4ba] Joshua Colp * res_rtp_asterisk: Don't leak temporary key when enabling PFS. A change recently went in which enabled perfect forward secrecy for DTLS in res_rtp_asterisk. This was accomplished two different ways depending on the availability of a feature in OpenSSL. The fallback method created a temporary instance of a key but did not free it. This change fixes that. ASTERISK-25265 Change-Id: Iadc031b67a91410bbefb17ffb4218d615d051396 2015-07-28 05:33 +0000 [2d2e741905] Mark Duncan * res/res_rtp_asterisk: Add ECDH support This will add ECDH support to Asterisk. It will detect auto ECDH support in OpenSSL (1.0.2b and above) during ./configure. If this is available, it will use it, otherwise it will fall back to prime256v1 (this behavior is consistent with other projects such as Apache and nginx). This fixes WebRTC being broken in Firefox 38+ due to Firefox now only supporting ciphers with perfect forward secrecy. ASTERISK-25265 #close Change-Id: I8c13b33a2a79c0bde2e69e4ba6afa5ab9351465b 2015-07-21 15:41 +0000 [5311d18101] Richard Mudgett * chan_sip.c: Move NULL check to where it will do some good. v11 only fix. Change-Id: I340512f86cfd3a6f7703971fa8acfffc7d47132b 2015-07-17 15:54 +0000 [75185c5d8f] Richard Mudgett * rtp_engine.c: Fix off nominal ref leak and some minor tweaks. v11 only fix. Change-Id: I97885946ebc7eda19f1c18d08698117cf6a7f14f 2015-07-16 17:40 +0000 [1b51b5efb6] Richard Mudgett * rtp_engine.c: Tweak glue->update_peer() parameter nil value. Change glue->update_peer() parameter from 0 to NULL to better indicate it is a pointer. Change-Id: Iefbf9d4a708f2b64b7ad2b4e6c33bfaa12ccfa9d 2015-07-17 16:23 +0000 [f5cd1fa0df] Richard Mudgett * chan_sip.c: Tweak glue->update_peer() parameter nil value. Change glue->update_peer() parameter from 0 to NULL to better indicate it is a pointer. Change-Id: I8ff2e5087f0e19f6998e3488a712a2470cc823bd 2015-07-29 14:35 +0000 [f2089dce3d] Mark Michelson * res_http_websocket: Properly encode 64 bit payload A test agent was continuously failing all ARI tests when run against Asterisk 13. As it turns out, the reason for this is that on those test runs, for some reason we decided to use the super extended 64 bit payload length for websocket text frames instead of the extended 16 bit payload length. For 64-bit payloads, the expected byte order over the network is 7, 6, 5, 4, 3, 2, 1, 0 However, we were sending the payload as 3, 2, 1, 0, 7, 6, 5, 4 This meant that we were saying to expect an absolutely MASSIVE payload to arrive. Since we did not follow through on this expected payload size, the client would sit patiently waiting for the rest of the payload to arrive until the test would time out. With this change, we use the htobe64() function instead of htonl() so that a 64-bit byte-swap is performed instead of a 32 bit byte-swap. Change-Id: Ibcd8552392845fbcdd017a8c8c1043b7fe35964a 2015-07-24 22:06 +0000 Asterisk Development Team * asterisk 11.19.0-rc1 Released. 2015-07-24 17:04 +0000 [53694b8537] Matt Jordan * Release summaries: Add summaries for 11.19.0-rc1 2015-07-24 17:03 +0000 [78df850c89] Matt Jordan * .version: Update for 11.19.0-rc1 2015-07-24 17:03 +0000 [b0e5e30a0d] Matt Jordan * .lastclean: Update for 11.19.0-rc1 2015-07-23 13:11 +0000 [7e8916908d] Mark Michelson * Local channels: Alternate solution to ringback problem. Commit 54b25c80c8387aea9eb20f9f4f077486cbdf3e5d solved an issue where a specific scenario involving local channels and a native local RTP bridge could result in ringback still being heard on a calling channel even after the call is bridged. That commit caused many tests in the testsuite to fail with alarming consequences, such as not sending DialBegin and DialEnd events, and giving incorrect hangup causes during calls. This commit reverts the previous commit and implements and alternate solution. This new solution involves only passing AST_CONTROL_RINGING frames across local channels if the local channel is in AST_STATE_RING. Otherwise, the frame does not traverse the local channels. By doing this, we can ensure that a playtones generator does not get started on the calling channel but rather is started on the local channel on which the ringing frame was initially indicated. ASTERISK-25250 #close Reported by Etienne Lessard Change-Id: I3bc87a18a38eb2b68064f732d098edceb5c19f39 2015-07-22 09:46 +0000 [525bbf7d4e] Mark Michelson * Local channels: Do not block control -1 payloads. Control frames with a -1 payload are used as a special signal to stop playtones generators on channels. This indication is sent both by app_dial as well as by ast_answer() when a call is answered in case any tones were being generated on a calling channel. This control frame type was made to stop traversing local channel pairs as an optimization, because it was thought that it was unnecessary to send these indications, and allowing such unnecessary control frames to traverse the local channels would cause the local channels to optimize away less quickly. As it turns out, through some special magic dialplan code, it is possible to have a tones being played on a non-local channel, and it is important for the local channel to convey that the tones should be stopped. The result of having tones continue to be played on the non-local channel is that the tones play even once the channel has been bridged. By not blocking the -1 control frame type, we can ensure that this situation does not happen. ASTERISK-25250 #close Reported by Etienne Lessard Change-Id: I40227e4249d6d61dc6a9b08bbe9ee3aa18be7e30 2015-07-22 05:16 +0000 [5606da754a] Joshua Colp * audiohook: Read the correct number of samples based on audiohook format. Due to changes in audiohooks to support different sample rates the underlying storage of samples is in the format of the audiohook itself and not of the format being requested. This means that if a channel is using G722 the samples stored will be at 16kHz. If something subsequently reads from the audiohook at a format which is not the same sample rate as the audiohook the number of samples needs to be adjusted. Given the following example: 1. Channel writing into audiohook at 16kHz (as it is using G722). 2. Chanspy reading from audiohook at 8kHz. The original code would read 160 samples from the audiohook for each 20ms of audio. This is incorrect. Since the audio in the audiohook is at 16kHz the actual number needing to be read is 320. Failure to read this much would cause the audiohook to reset itself constantly as the buffer became full. This change adjusts the requested number of samples by determining the duration of audio requested and then calculating how many samples that would be in the audiohook format. ASTERISK-25247 #close Change-Id: Ia91ce516121882387a315fd8ee116b118b90653d 2015-07-20 17:16 +0000 [43a52df20d] Rusty Newton * Documentation: chan_sip doesn't support WS or WSS in outbound register. * In sip.conf.sample fix sentence where we said that WS or WSS are supported transports for use in an outbound register definition. They are not supported in that case. ASTERISK-24853 #close Reported by: PSDK Change-Id: I3d698bc6302b9d00a0a995b5c4ad9a42d69b48ca 2015-07-16 09:13 +0000 [bd6fd55ea4] Michael Cargile * res/res_musiconhold: Add a warning when MOH does not exist Change-Id: Ifdfbd0b97cf31478d29923ec30aabce28d01740b 2015-07-17 04:59 +0000 [0433f08903] Patric Marschall * sig_pri.h: force_restart_unavailable_chans in wrong scope In channels/sig_pri.h, struct sig_pri_span, the field force_restart_unavailable_chans is only defined if #if defined(HAVE_PRI_MCID) is true. All other occurences of force_restart_unavailable_chans are outside of the #if defined(HAVE_PRI_MCID) endif scope. ASTERISK-25257 #close Reported by: Patric Marschall Change-Id: I071de89cc2cd0d85927a013036e235851f672549 2015-07-15 10:31 +0000 [b36d670dc1] Matt Jordan * apps/app_dictate: Fix typo in attribution Last time I checked, it's "Sangoma", not "Samgoma". Thanks to Brian (GameGamer43) for pointing that out. Change-Id: I43d7b196f6d7a2b2517b84915e3a8dfbc2894106 2015-06-27 17:53 +0000 [883f6f5d21] Matt Jordan * tests/test_devicestate: Add additional tests for the device state API This patch adds more tests that exercise the device state API. This includes: * Tests that cover adding a device state provider, as well as deleting a device state provider. This also verifies that you cannot add an already added device state provider, and cannot delete an already deleted device state provider. * A test that covers changing device state and receiving said updates from a device state subscriber. This also covers hitting both the device state cache as well as a custom device state provider. * A test that covers converting device state to channel state and device state values to a string representation and back. * A test that covers obtaining device state from an active channel and a channel driver that provides its own device state. Change-Id: I2adca67ffb405cd8625a5d6df1e3f9b3d945c08d 2015-06-27 17:51 +0000 [e545c05e35] Matt Jordan * main/devicestate: Prevent duplicate registration of device state providers Currently, the device state provider API will allow you to register a device state provider with the same case insensitive name more than once. This could cause strange issues, as the duplicate device state providers will not be queried when a device's state has to be polled. This patch updates the API such that a device state provider with the same name as one that has already registered will be rejected. Change-Id: I4a418a12280b7b6e4960bd44f302e27cd036ceb2 2015-07-08 04:21 +0000 [47ebab959e] Joshua Colp * res_rtp_asterisk: Ensure DTLS timeout timer is -1 if DTLS is not used. This change fixes a bug where the DTLS timeout timer would be initialized to 0 if DTLS was not used for an RTP session. ASTERISK-25103 Change-Id: If8d26bb054f1d300838850da5b8db9044c2fe2ac 2015-07-01 07:55 +0000 [1ad827327a] Joshua Colp * res_rtp_asterisk: Prevent simultaneous access to DTLS SSL context. This change moves logic for setting up the DTLS SSL contexts to when the SDP is done being processed instead of when ICE negotiation completes. It also stops handshakes from being initiated when we are acting as a server. Manipulating the SSL context when ICE negotiation has completed is problematic as the SSL context is not protected and if acting as a client the remote side may have started DTLS negotiation already. The retransmission timeout timer code has also been split up and simplified some. Both RTP and RTCP now have their own timers and the points at which the timer is stopped and started is now more specific. When a packet is sent the timer is started. When a response is received but before it is processed the timer is stopped. This provides a guarantee that the timeout is not occurring while the response is processed. ASTERISK-22805 #close ASTERISK-24550 #close ASTERISK-24651 #close ASTERISK-24832 #close ASTERISK-25103 #close ASTERISK-25127 #close Change-Id: Ib75ea2546f29d6efc3d2d37c58df6986c7bd9b91 2015-07-02 06:25 +0000 [0e6d3f5ee5] Walter Doekes * chan_sip: Fix early call pickup caused deadlock. If non-magic pickup (no "pickup-" in callid) is used, chan_sip locks the channel it wants to pick up, and a bit further down, it locks the channel list when allocating a new channel. That causes a deadlock when another part of the code traverses over the channel list, locking all the channels one by one. This changeset fixes it by releasing the locks before calling sip_new and reacquiring them afterwards. Unfortunately this involves doing the checks we already did again (because the channel may have changed). While trying to avoid duplicate code, I did some refactoring for readability: - if refer_locked == 1, we guarantee there is a locked channel - magic_callid holds a cached version of !ast_strlen_zero(pickup.exten) This is for branch 11 only. It appears that the changed code in 13 does not lock the components like it does in 11 and below. Reproducing the deadlock on 13 has thusfar failed. ASTERISK-25213 #close Change-Id: Ie1d15bec7d634035f48892e1ed6227411d7de2c1 2015-07-02 06:19 +0000 [f6bbc4f16e] Walter Doekes * chan_mgcp: Don't call close on fd -1. ASTERISK-25220 #close Change-Id: Ic48f3a82f51ada87f2fb0e016c9efe0ad56f1ee3 2015-07-02 06:10 +0000 [c139956e95] Walter Doekes * rtp_engine: Skip useless self-assignment in ast_rtp_engine_unload_format. When running valgrind on Asterisk, it complained about: ==32423== Source and destination overlap in memcpy(0x85a920, 0x85a920, 304) ==32423== at 0x4C2F71C: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/...) ==32423== by 0x55BA91: ast_rtp_engine_unload_format (rtp_engine.c:2292) ==32423== by 0x4EEFB7: ast_format_attr_unreg_interface (format.c:1437) The code in question is a struct assignment, which may be performed by memcpy as a compiler optimization. It is changed to only copy the struct contents if source and destination are different. ASTERISK-25219 #close Change-Id: I6d3546c326b03378ca8e9b8cefd41c16e0088b9a 2015-07-02 05:16 +0000 [028554faab] Walter Doekes * astfd: Fix buffer overflow in DEBUG_FD_LEAKS. If DEBUG_FD_LEAKS was used and more file descriptors than the default of 1024 were available, some DEBUG_FD_LEAKS-patched functions would overwrite memory past the fixed-size (1024) fdleaks buffer. This change: - adds bounds checks to __ast_fdleak_fopen and __ast_fdleak_pipe - consistently uses ARRAY_LEN() instead of sizeof() or 1023 or 1024 - stores pointers to constants instead of copying the contents - reorders the fdleaks struct for possibly tighter packing - adds a tiny bit of documentation ASTERISK-25212 #close Change-Id: Iacb69e7701c0f0a113786bd946cea5b6335a85e5 2015-07-02 04:57 +0000 [b090a8d40b] Walter Doekes * res_timing: Don't close FD 0 when out of open files. This fixes so a failure to get a timer file descriptor does not cascade to closing FD 0. On error, both res_timing_kqueue and res_timing_timerfd would call the destructor before setting the file handle. The file handle had been initialized to 0, causing FD 0 to be closed. This in turn, resulted in floods of "CLI>" messages and an unusable terminal. ASTERISK-19277 #close Reported by: Barry Chern Change-Id: I147d7e33726c6e5a2751928d56561494f5800350 2015-07-01 17:25 +0000 [1e186dc857] Richard Mudgett * chan_vpb.cc: Fix compiler warning Jenkins found. Change-Id: I0ec7fd10d56d90d5a60b12b5a7d6807f265ac5e0 2015-07-01 13:34 +0000 [8874d5fc94] Scott Griepentrog * Channel alert pipe: improve diagnostic error return When a frame is queued on a channel, any failure in ast_channel_alert_write is logged along with errno. This change improves the diagnostic message through aligning the errno value with actual failure cases. ASTERISK-25224 Reported by: Andrey Biglari Change-Id: I1bf7b3337ad392789a9f02c650589cd065d20b5b 2015-06-27 18:47 +0000 [9b74dcb687] Matt Jordan * Makefile: Remove coverage files on 'make clean' This patch updates a variety of Makefiles in Asterisk's build system to remove .gcda and .gcno files when 'make clean' is executed. These files are generated when '--enable-coverage' is passed to the Asterisk configure script. Change-Id: Ib70b41eea2ee2908885bff02e80faf9f40c84602 2015-06-26 20:38 +0000 [96bbcf495a] Matt Jordan * main/pbx: Resolve case sensitivity regression in PBX hints When 8297136f was merged for ASTERISK-25040, a regression was introduced surrounding the case sensitivity of device names within hints. Previously, device names - such as 'sip/foo' - were compared in a case insensitive fashion. Thus, 'sip/foo' was equivalent to 'SIP/foo'. After that patch, only the case sensitive name would match, i.e., 'SIP/foo'. As a result, some dialplan hints stopped working. This patch re-introduces case insensitive matching for device names in hints. ASTERISK-25040 ASTERISK-25202 #close Change-Id: If5046a7d14097e1e3c12b63092b9584bb1e9cb4c 2015-06-11 08:18 +0000 [8b60998d29] Damian Ivereigh * chan_sip.c: Update dialog fromtag after request with auth If a client sends and INVITE which is 401 rejected, then subsequently sends a new INVITE with the auth info and uses a different fromtag from the first INVITE, Asterisk will accept the new INVITE as part of the original dialog - match_req_to_dialog() specifically ignores the fromtag. However it does not update the stored dialog with the new fromtag. This results in Asterisk being unable to match future packets that are part of this dialog (such as the ACK to the OK or the OK to the BYE), and the call is dropped. This problem was originally found when using an NEC-i SV8100-GE (NEC SIP Card). * After a successful match of a packet to the dialog, if the packet is not a SIP_RESPONSE, authentication is present and the fromtags are different, the stored fromtag is updated with the one from the recent INVITE. ASTERISK-25154 #close Reported by: Damian Ivereigh Tested by: Damian Ivereigh Change-Id: I5c16cf3b409e5ef9f2b2fe974b6bd2a45a6aa17e 2015-06-11 16:44 +0000 [d821f56b02] Mark Michelson * chan_sip: Prevent deadlock when performing BYE with Also transfer. When a BYE with an Also header is successfully processed, and the sender of the BYE is bridged with another channel, chan_sip will unlock the owner of the dialog on which the BYE was received, call ast_async_goto() on the bridged channel, and then re-lock the owner. The reason for this locking behavior is that ast_async_goto() can result in a masquerade, which requires that the involved channels are unlocked. The problem here is that this causes a locking inversion since the dialog's lock is held when re-locking the owner channel after the async goto. The lock order is supposed to be channel and then sip_pvt. The fix proposed is simple. In addition to unlocking the owner channel before the ast_async_goto() call, also unlock the sip_pvt. Then relock both after ast_async_goto() returns, being sure to lock the channel and then the sip_pvt. ASTERISK-25139 #close Reported by Gregory Massel Change-Id: I72c4fc295ec8573bee599e8e9213c5350a3cd224 2015-05-16 23:04 +0000 [53658a14cc] Corey Farrell * Fix unsafe uses of ast_context pointers. Although ast_context_find, ast_context_find_or_create and ast_context_destroy perform locking of the contexts table, any context pointer can become invalid at any time that the contexts table is unlocked. This change adds locking around all complete operations involving these functions. Places where ast_context_find was followed by ast_context_destroy have been replaced with calls ast_context_destroy_by_name. ASTERISK-25094 #close Reported by: Corey Farrell Change-Id: I1866b6787730c9c4f3f836b6133ffe9c820734fa 2015-06-04 07:14 +0000 [eed9b1ce52] ibercom * CLI: Cosmetic issue - core show uptime Show uptime information ends with an unnecessary space. Now NEEDCOMMA is better defined. Change-Id: I11b360504a0703309ff51772ff8f672287f3c5a1 2015-06-02 19:06 +0000 [f98c458c92] ibercom * weakref attribute detection broken with gcc 4.6 and higher GCC 4.7 Manual: http://gcc.gnu.org/onlinedocs/gcc-4.7.4/gcc/Function-Attributes.html weakref ("target") A weak reference is an alias that does not by itself require a definition to be given for the target symbol. ASTERISK-22559 #close Reported by: Ibercom Change-Id: I36a136cae947b65187a697533416f9ff9a0b8cdf 2015-05-31 11:33 +0000 [99c54fe42d] Ivan Poddubny * Fix buffer overflow in slin sample frames generation. The length of frames retured by sample functions was twice as large as real, what caused global buffer overflow caught by AddressSanitizer. ASTERISK-24717 #close Reported by: Badalian Vyacheslav Change-Id: Iec2fe682aef13e556684912f906bedf7c18229c6 2015-05-24 13:47 +0000 [f9877139df] Ivan Poddubny * Astobj2: Correctly treat hash_fn returning INT_MIN The code in astobj2_hash.c wrongly assumed that abs(int) is always > 0. However, abs(INT_MIN) = INT_MIN and is still negative, as well as abs(INT_MIN) % num_buckets, and as a result this led to a crash. One way to trigger the bug is using host=::80 or 0.0.0.128 in peer configuration section in chan_sip or chan_iax. This patch takes the remainder before applying abs, so that bucket number is always in range. ASTERISK-25100 #close Reported by: Mark Petersen Change-Id: Id6981400ad526f47e10bcf7b847b62bd2785e899 2015-05-21 20:03 +0000 Asterisk Development Team * asterisk 11.18.0-rc1 Released. 2015-05-21 15:02 +0000 [797ca94299] Matt Jordan * .version: Update for 11.18.0-rc1 2015-05-21 15:02 +0000 [6c98593b5a] Matt Jordan * .lastclean: Update for 11.18.0-rc1 2015-05-21 07:22 +0000 [8f431d679f] Matt Jordan * Merge "audiohook.c: Difference in read/write rates caused continuous buffer resets" into 11 2015-05-21 07:21 +0000 [5c047d4b0d] Matt Jordan * Merge "Logger: Reset defaults before processing config." into 11 2015-05-20 20:53 +0000 [58de286467] Corey Farrell * Logger: Reset defaults before processing config. Reset options to default values before reloading config. This ensures that if a setting is removed or commented out of the configuration file it is unset on reload. ASTERISK-25112 #close Reported by: Corey Farrell Change-Id: Id24bb1fb0885c2c14cf8bd6f69a0c2ee7cd6c5bd 2015-05-20 14:45 +0000 [2d297c7b9a] Corey Edwards * chan_sip/sdp_crypto.c: allow SDP crypto tag to be up to 9 digits ASTERISK-24887 #close Reported by: Makoto Dei Tested by: tensai Change-Id: I6a96f572adb17f76b3acafe503a01c48eb5dd9bf 2015-05-14 15:13 +0000 [58970f1475] Kevin Harwell * audiohook.c: Difference in read/write rates caused continuous buffer resets Currently, everytime a sample rate change occurs (on read or write) the associated factory buffers are reset. If the requested sample rate on a read differed from that of a write then the buffers are continually reset on every read and write. This has the side effect of emptying the buffer, thus there being no data to read and then write to a file in the case of call recording. This patch fixes it so that an audiohook_list's rate always maintains the maximum sample rate among hooks and formats. Audiohook sample rates are only overwritten by this value when slin native compatibility is turned on. Also, the audiohook sample rate can only overwrite the list's sample rate when its rate is greater than that of the list or if compatibility is turned off. This keeps the rate from constantly switching/resetting. ASTERISK-24944 #close Reported by: Ronald Raikes Change-Id: Idab4dfef068a7922c09cc631dda27bc920a6c76f 2015-05-13 15:41 +0000 [cf1190cc6b] Jonathan Rose * Message.c: Clear message channel frames on cleanup The message channel is a special channel that doesn't actually process frames. However, certain actions can cause frames to be placed in the channel's read queue including the Hangup application which is called on the channel after each message is processed. Since the channel will continually be reused for many messages, it's necessary to flush these frames at some point. ASTERISK-25083 #close Reported by: Jonathan Rose Change-Id: Idf18df73ccd8c220be38743335b5c79c2a4c0d0f 2015-05-14 05:03 +0000 [81b0789906] Joshua Colp * Merge "main/manager.c: Bugfix sort action_manager by alphabetically" into 11 2015-05-13 14:21 +0000 [3bc8c96443] Joshua Colp * Merge "General: Fix recent menuselect-related cross compile regression" into 11 2015-05-13 12:55 +0000 [ffb60909a3] Joshua Colp * Merge "chan_dahdi/sig_pri: Fix crash on ISDN call hangup collision." into 11 2015-05-13 12:26 +0000 [63d9ae01ee] Joshua Colp * Merge "res_config_mysql: Fix broken column type checking" into 11 2015-05-04 20:11 +0000 [be7255b563] Rodrigo Ramírez Norambuena * main/manager.c: Bugfix sort action_manager by alphabetically Fix the alphabetic order added on ast_manager_register_struct. The order for struct manager_action added is not working, this change fixes the problem. Change-Id: I149da0cd06c3c4445d7516cc303358e9f26f8b4b 2015-05-08 18:01 +0000 [9370db107a] Alexandre Fournier * res_config_mysql: Fix broken column type checking MySQL configuration engine contains a bug in require_mysql(). This function is used for column type checking in tables. This bug only affects DATETIME, DATE and FLOAT types. It came from mixing the first condition (switch-case-like if/then/else), to check the expected column type, with the second condition, to check the actual column type against the expected column type. Both conditions must be checked separately in order to avoid the execution of the wrong block. ASTERISK-18252 #comment This patch might fix the issue Reported by: Gareth Blades ASTERISK-25041 #close Reported by: Alexandre Fournier Tested by: Alexandre Fournier Change-Id: I0b8bf7e68ab938be8e6525a249260cb648cb0bfa 2015-05-10 07:37 +0000 [e3129b84b1] Yousf Ateya * res_rtp_asterisk: Correction for the limit which detects that a packet is DTLS. First byte of DTLS packet shall be in range 20-63, not 20-64. Refer to RFC https://tools.ietf.org/html/rfc5764#section-5.1.2 for correct values. Change-Id: Iae6fa0d72b37c36a27fe40686e0ae6fba3afec31 2015-05-13 04:36 +0000 [735d337d88] Joshua Colp * Merge "cdr_pgsql: Use PQescapeStringConn for escaping names." into 11 2015-05-12 17:34 +0000 [bedc7bf825] Richard Mudgett * chan_dahdi/sig_pri: Fix crash on ISDN call hangup collision. If an ISDN call is hungup by both sides at the same time a crash could happen. * Added missing NULL checks for the owner channel after calling pri_queue_pvt_cause_data() in two places. Code after those calls need to check the owner channel pointer for NULL before use because pri_queue_pvt_cause_data() needs to do deadlock avoidance to lock the owner and the owner may get hung up. ASTERISK-21893 #close Reported by: Alexandr Gordeev Change-Id: Ica3e266ebc7a894b41d762326f08653e1904bb9a 2015-05-10 02:26 +0000 [53326e7ab0] Sebastian Kemper * General: Fix recent menuselect-related cross compile regression MAKE_MENUSELECT currently sets CC to CC, which is the compiler for the target platform. But menuselect is to be run on the build system, so BUILD_CC needs to be used instead - like it was in the past, before the recent changes (https://reviewboard.asterisk.org/r/4370/). This is the patch for ASTERISK-25074. ASTERISK-25074 #close Reported by: Sebastian Kemper Tested by: Sebastian Kemper Change-Id: I8a2b1fc5deb6ad2b80f49baca35b1b13d468ebf8 2015-05-12 11:57 +0000 [cd3e851a35] Joshua Colp * Merge "Fix processing of asterisk.conf debug=yes." into 11 2015-05-12 01:31 +0000 [57144feed4] Corey Farrell * Fix processing of asterisk.conf debug=yes. The code which reads asterisk.conf supports processing the debug option with ast_true, but ast_true returns -1. This causes debug to still be off, convert to 1 so debug will be on as requested. ASTERISK-25042 Reported by: Corey Farrell Change-Id: I3c898b7d082d914b057e111b9357fde46bad9ed6 2015-05-01 23:43 +0000 [4c0eb9d4fb] Rodrigo Ramírez Norambuena * cdr_pgsql: Use PQescapeStringConn for escaping names. Use function PQescapeStringConn for escaping the name of the table and schema instead of doing it manually. Change-Id: I6709165e2d00463e9c813d24f17830ad4910b599 2015-05-11 07:07 +0000 [cc39cfa213] Ivan Poddubny * pbx/pbx_spool: Fix issue when call files were executed too early pbx_spool used to delete/move the call file upon successful outgoing call completion, but did not delete it from in-memory list of files (dirlist, used only when compiled with inotify/kqueue support). That resulted in an extra attempt to process that filename after retrytime seconds. Then, if a new file with the same name appears that is scheduled in future further than the completed one plus its retrytime, then it gets executed earlier than expected. This patch fixes remove_from_queue function to also remove the entry from the dirlist. ASTERISK-17069 #close Reported by: Jeremy Kister ASTERISK-24442 #close Reported by: tootai Change-Id: If9ec9b88073661ce485d6b008fd0b2612e49a28b 2015-05-08 15:55 +0000 [fb27395f75] Matt Jordan * Merge "tcptls: Avoiding ERR_remove_state in OpenSSL." into 11 2015-05-08 15:54 +0000 [767d96cf7e] Matt Jordan * Merge "res_rtp_asterisk: Issue ERROR if res_srtp is not found." into 11 2015-05-08 10:39 +0000 [151c3316d5] Sean Bright * res_rtp_asterisk: Issue ERROR if res_srtp is not found. While trying to get WebRTC working with chan_pjsip, I was running into the following error: Attempted to set an invalid DTLS-SRTP configuration on RTP instance... Josh helpfully pointed out that res_srtp.so might not be loaded, and sure enough, it wasn't. This patch adds a ERROR indiciating as much to hopefully help others having a similar problem. Change-Id: I13aa477b47b299876728a21b130998a0ea6cd19f 2015-05-07 17:49 +0000 [a2f96d3c1a] Rusty Newton * sounds: Add Swedish sounds to Makefile and XML Added the necessary lines to the Makefile and sounds.xml so we'll have the Swedish sounds in all available formats in menuselect. See also: Swedish sounds were added into the core sounds release 1.4.27. ASTERISK-24744 #close Reported by: Tove Hjelm Tested by: Rusty Newton Change-Id: Ib6f4fd177afd1667b2402735034001d4d055a908 2015-05-05 11:35 +0000 [5cca9a66bc] Alexander Traud (License 6520) * tcptls: Avoiding ERR_remove_state in OpenSSL. ERR_remove_state was deprecated with OpenSSL 1.0.0 and was replaced by ERR_remove_thread_state. ERR_load_SSL_strings and ERR_load_BIO_strings were called by SSL_load_error_strings already and got removed. These changes allow OpenSSL forks like BoringSSL to be used with Asterisk. ASTERISK-25043 #close Reported by: Alexander Traud patches: asterisk_with_BoringSSL.patch uploaded by Alexander Traud (License 6520) Change-Id: If1c0871ece21a7e0763fafbd2fa023ae49d4d629 (cherry picked from commit 247fef66537b59649e7571d64e2c574a106dbd65) 2015-05-07 14:54 +0000 [7de043e43d] George Joseph * doc: Make progdocs play nice with git Moved contrib/asterisk-ng-doxygen to doc/asterisk-ng-doxygen.in Changed /Makefile to copy asterisk-ng-doxygen.in to asterisk-ng-doxygen then modify it with version instead of modifying asterisk-ng-doxygen directly. Updated clean targets as well. Updated /.gitignore and doc/.gitignore. Change-Id: I38712d3e334fa4baec19d30d05de8c6f28137622 2015-05-04 14:43 +0000 [97101bd481] Ivan Poddubny * contrib/editors: Fix vim syntax highlighting of comments in config files * Added a lookbehind to one-line comment matcher to skip escaped semicolons. * Added support for block comments. Change-Id: Id17dfaeda8ed4be572e8107a0c010066584aaee7 2015-05-06 16:00 +0000 [d5db203024] Richard Mudgett * chan_dahdi: Improve force_restart_unavailable_chans option description. ASTERISK-25034 Reported by: Richard Mudgett Change-Id: I1ff8f02124d2f4abd632a050da52c64285bb7f30 2015-05-05 14:48 +0000 [8d927fad0d] Ivan Poddubny * app_queue: Fix queue_log EXITWITHTIMEOUT containing only 1 parameter This patch fixes EXITWITHTIMEOUT queue_log entry to always come with 3 parameters: position, original position and waiting time. ASTERISK-25038 #close Reported by: Etienne Lessard Change-Id: I0c62045922e26bee2125e93aee1dee17eee79618 2015-05-04 09:25 +0000 [e823fc9f9b] Matt Jordan * Merge "cdr/cdr_csv.c: Add a new option to enable columns added in Asterisk 1.8" into 11 2015-05-04 07:46 +0000 [2ed57f3ab1] Matt Jordan * Merge "res_odbc: Use negative connection cache for all connections" into 11 2015-04-21 11:52 +0000 [7c32cb27b7] Martin Tomec * res_odbc: Use negative connection cache for all connections Apply the negative connection cache setting to all connections, even those that are not pooled. This ensures that the connection will not be re-established before the negative connection cache time is met. ASTERISK-22708 #close Change-Id: I431cc2e8584ab0b6908b3523d0a0e18c9a527271 2015-05-04 04:03 +0000 [8fed642764] Matt Jordan * Merge "Update configure.ac/Makefile for clang" into 11 2015-04-20 13:03 +0000 [f70f2c6252] Diederik de Groot * Update configure.ac/Makefile for clang Created autoconf/ast_check_raii.m4: contains AST_CHECK_RAII which checks compiler requirements for RAII: gcc: -fnested-functions support clang: -fblocks (and if required -lBlocksRuntime) The original check was implemented in configure.ac and now has it's own file. This function also sets C_COMPILER_FAMILY to either gcc or clang for use by makefile Created autoconf/ast_check_strsep_array_bounds.m4 (contains AST_CHECK_STRSEP_ARRAY_BOUNDS): which checks if clang is able to handle the optimized strsep & strcmp functions (linux). If not, the standard libc implementation should be used instead. Clang + the optimized macro's work with: strsep(char *, char []), but not with strsepo(char *, char *). Instead of replacing all the occurences throughout the source code, not using the optimized macro version seemed easier See 'define __strcmp_gc(s1, s2, l2) in bits/string2.h': llvm-comment: Normally, this array-bounds warning are suppressed for macros, so that unused paths like the one that accesses __s1[3] are not warned about. But if you preprocess manually, and feed the result to another instance of clang, it will warn about all the possible forks of this particular if statement. Instead of switching of this optimization, another solution would be to run the preproces- sing step with -frewrite-includes, which should preserve enough information so that clang should still be able to suppress the diag- nostic at the compile step later on. See also "https://llvm.org/bugs/show_bug.cgi?id=20144" See also "https://llvm.org/bugs/show_bug.cgi?id=11536" Makefile.rules: If C_COMPILER_FAMILY=clang then add two warning suppressions: -Wno-unused-value -Wno-parentheses-equality In an earlier review (reviewboard: 4550 and 4554), they were deemed a nuisace and less than benefitial. configure.ac: Added AST_CHECK_RAII() see earlier Added AST_CHECK_STRSEP_ARRAY_BOUNDS() see earlier Removed moved content ASTERISK-24917 Change-Id: I12ea29d3bda2254ad3908e279b7effbbac6a97cb (cherry picked from commit 9c3ed428759a83a2b80106e605fe43dda0569425) 2015-05-03 09:20 +0000 [9764918afb] Matt Jordan * Merge "Build System: Prevent unneeded changes to asterisk/buildopts.h." into 11 2015-05-02 10:20 +0000 [5e986ddea0] Matt Jordan * Merge "v11: More files to ignore." into 11 2015-05-02 10:16 +0000 [494c7a98eb] Matt Jordan * Merge "main/pbx: Improve performance of dialplan reloads with a large number of hints" into 11 2015-04-29 03:03 +0000 [ce86340403] Corey Farrell * Build System: Prevent unneeded changes to asterisk/buildopts.h. * Add AST_DEVMODE to BUILDOPTS * Remove CFLAGS that do not effect ABI from BUILDOPTS. * Use BUILDOPTS to generate AST_BUILDOPT_SUM. * Remove loop that defined AST_MODULE_* These changes ensure that only ABI effecting options are considered for AST_BUILDOPT_SUM. This also reduces unneeded full system rebuilds caused by enabling or disabling one module that another is dependent on. ASTERISK-25028 #close Reported by: Corey Farrell Change-Id: I2c516d93df9f6aaa09ae079a8168c887a6ff93a2 2015-05-01 12:23 +0000 [f3bc0cc70f] Richard Mudgett * v11: More files to ignore. Change-Id: If5eef47d03399ff93e3f2f490780144971f6b64a 2015-04-29 14:49 +0000 [8297136fdf] Matt Jordan * main/pbx: Improve performance of dialplan reloads with a large number of hints The PBX core maintains two hash tables for hints: a container of the actual hints (hints), along with a container of devices that are watching that hint (hintdevices). When a dialplan reload occurs, each hint in the hints container is destroyed; this requires a lookup in the container of devices to find the device => hint mapping object. In the current code, this performs an ao2_callback, iterating over each of the device to hint objects in the hintdevices container. For a large number of hints, this is extremely expensive: dialplan reloads with 20000 hints could take several minutes in just this phase. This patch improves the performance of this step in the dialplan reloads by caching which devices are watching a hint on the hint object itself. Since we don't want to create a circular reference, we just cache the name of the device. This allows us to perform a smarter ao2_callback on the hintdevices container during hint removal, hashing on the name of the device and returning an iterator to the matching names. The overall performance improvement is rather large, taking this step down to a number of seconds as opposed to minutes. In addition, this patch also registers the hint containers in the PBX core with the astobj2 library. This allows for reasonable debugging to hash collisions in those containers. ASTERISK-25040 #close Reported by: Matt Jordan Change-Id: Iedfc97a69d21070c50fca42275d7b3e714e59360 (cherry picked from commit 80c0756f7386452fddab3324fa6a71933cde006e) 2015-04-30 11:57 +0000 [50d8aea753] Mark Michelson * Merge "include/asterisk/vector.h: Backport vector.h to Asterisk 11" into 11 2015-04-30 11:04 +0000 [176cb0d45b] Matt Jordan * include/asterisk/vector.h: Backport vector.h to Asterisk 11 Vectors are very useful constructs. As a container, they prevent having to calloc/realloc arrays manually. They also have advantages over linked lists, which require elements in the list to be a struct. This patch backports vectors to Asterisk 11 for use in future patches. Change-Id: Idc9d74d246a0158b0b36ccb250e7acc71bab078d 2015-04-29 17:28 +0000 [b54f5fda05] Richard Mudgett * chan_dahdi: Add the chan_dahdi.conf force_restart_unavailable_chans option. Some telco switches occasionally ignore ISDN RESTART requests. The fix for ASTERISK-19608 added an escape clause for B channels in the restarting state if the telco ignores a RESTART request. If the telco fails to acknowledge the RESTART then Asterisk will assume the telco acknowledged the RESTART on the second call attempt requesting the B channel by the telco. The escape clause is good for dealing with RESTART requests in general but it does cause the next call for the restarting B channel to be rejected if the telco insists the call must go on that B channel. chan_dahdi doesn't really need to issue a RESTART request in response to receiving a cause 44 (Requested channel not available) code. Sending the RESTART in such a situation is not required (nor prohibited) by the standards. I think chan_dahdi does this for historical reasons to deal with buggy peers to get channels unstuck in a similar fashion as the chan_dahdi.conf resetinterval option. * Add the chan_dahdi.conf force_restart_unavailable_chans compatability option that when disabled will prevent chan_dahdi from trying to RESTART the channel in response to a cause 44 code. ASTERISK-25034 #close Reported by: Richard Mudgett Change-Id: Ib8b17a438799920f4a2038826ff99a1884042f65 2015-04-30 06:34 +0000 [a78774325b] Rodrigo Ramírez Norambuena * cdr/cdr_csv.c: Add a new option to enable columns added in Asterisk 1.8 This patch adds a new option to cdr.conf, 'newcdrcolumns', that will handle CDR columns added in Asterisk 1.8. The columns are: * peeraccount * linkedid * sequence When enabled, the columns in the database entry will be populated with the data from the CDR. ASTERISK-24976 #close Change-Id: I51a57063f4ae5e194a9d933a8df45dc8a4534f0b 2015-04-29 16:42 +0000 [acced2b88b] Matt Jordan * Merge "res_fax: allow 2400 transmission rate according to v.27ter standard" into 11 2015-04-29 16:15 +0000 [28fd06bdcd] Matt Jordan * main/rtp_engine: Fix DTLS double-free introduced by 0b6410c4f8 The patch in 0b6410c4f8 did correctly fix a memory leak of the DTLS structures in the RTP engine. However, when a 'core reload' is issued, a double free of the memory pointed to by the char *'s in the DTLS configuration struct can occur, as ast_rtp_dtls_cfg_free does not set the pointers to NULL when they are freed. This patch sets those pointers to NULL, preventing a second call to ast_rtp_dtls_cfg_free from corrupting memory. ASTERISK-25022 Change-Id: I820471e6070a37e3c26f760118c86770e12f6115 2015-04-29 13:19 +0000 [f60915250f] Kevin Harwell * res_fax: allow 2400 transmission rate according to v.27ter standard A previous set of patches (see: ASTERISK-22790 & ASTERISK-23231) made it so a v.27 modem was not allowed to have a minimum transmission rate of 2400 bits per second. This reverts all or some of those patches since according to the v.27ter standard a rate of 2400 bits per second is also supported. One of the original patches also added 9600 bits per second support for v.27. This patch also removes that since v.27ter only supports 2400/4800 bits per second. Also, since Asterisk specifically supports v.27ter the enum was renamed to better reflect this. ASTERISK-24955 #close Reported by: Matt Jordan Change-Id: I4b9dfb6bf7eff08463ab47ee1a74224f27cae733 2015-04-29 15:03 +0000 [32cab65020] Richard Mudgett * Fixup UPGRADE.txt so new notes go in correct section for next release. Change-Id: I7080d32b559f8c5d06ddd3198e0cd6e342bac841 2015-04-29 14:13 +0000 [b1b0aeffe8] Joshua Colp * Merge "rtp_engine: Prevent unnecessary memory increases during calls." into 11 2015-04-29 11:46 +0000 [c87b0d7375] Mark Michelson * rtp_engine: Prevent unnecessary memory increases during calls. The doxygen for ast_rtp_codecs_payloads_copy() states: "This copies the payloads from the codecs0 structure to the codecs1 structure, overwriting any current values." However, in practice, the overwriting of current values was not happening. Instead, a new RTP codec payload object would be appended to the codecs1 structure instead of replacing the corresponding object. This patch corrects this behavior by overwriting the object in the codecs1 structure if it exists already. If it does not already exist, then create a new copy and link it in. Tests of "memory show summary rtp_engine.c" had previously shown additional allocations being performed any time that Asterisk processed an incoming SDP. Scenarios involving lots of reinvites resulted in lots of allocations. With this patch, I can perform as many reinvites as I want and see no memory increases from the RTP engine. ASTERISK-24916 #close Reported by Christophe Osuna Change-Id: I9a90bc3f564535bc767bf2fc0c455d5f065cea75 2015-04-29 01:24 +0000 [41bf52315a] Ivan Poddubny * addons/res_config_mysql: Don't mutate va_list parameters The realtime API passes down the va_list argument to each RT engine in failover chain until one succeeds. MySQL engine used to access the variable argument list with va_arg, which mutates the va_list, so the next engine in failover chain gets invalid agrument list. This patch uses va_copy to preserve the original va_list argument intact. ASTERISK-19538 #close Reported by: alexat Tested by: Ivan Poddubny Change-Id: I7738b9f98bde81ddfbc2c0fa579d85a0c3e580ae 2015-04-28 07:15 +0000 [9bee1cae12] Joshua Colp * Merge "Example script for scan-build (the llvm static analyzer)" into 11 2015-04-28 07:11 +0000 [345cb1ea27] Matt Jordan * Merge "res_rtp_asterisk: Resolve 2 discrete memory leaks in DTLS" into 11 2015-04-28 05:38 +0000 [a9b25f035e] Steve Davies * res_rtp_asterisk: Resolve 2 discrete memory leaks in DTLS ao2 ref leak in res_rtp_asterisk.c when a DTLS policy is created. The resources are linked into a table, but the original alloc refs are never released. ast_strdup leak in rtp_engine.c. If ast_rtp_dtls_cfg_copy() is called twice on the same destination struct, a pointer to an alloc'd string is overwritten before the string is free'd. ASTERISK-25022 Reported by: one47 Change-Id: I62a8ceb8679709f6c3769136dc6aa9a68202ff9b 2015-04-28 06:55 +0000 [08b307c96b] Joshua Colp * Merge "cdr/cdr_odbc.c: Added to record new columns add on CDR 1.8 Asterisk Version" into 11 2015-04-15 18:55 +0000 [d6e208a80d] Rodrigo Ramírez Norambuena * cdr/cdr_odbc.c: Added to record new columns add on CDR 1.8 Asterisk Version Add new column to INSERT new columns added in cdr 1.8 version. The columns are: * peeraccount * linkedid * sequence This feature is configurable in cdr_odbc.conf using a new configuration option, 'newcdrcolumns'. ASTERISK-24976 #close Change-Id: Ibe0c7540a88305c6012786f438a0813ad8b19127 2015-04-26 15:53 +0000 [be468b2627] Matt Jordan * Merge "Clang: Fix some more tautological-compare warnings." into 11 2015-04-24 13:06 +0000 [ca7ad5d339] Matt Jordan * Merge "app_confbridge: Default the template option to a compatible default profile." into 11 2015-04-23 15:05 +0000 [019695b49d] Kevin Harwell * app_confbridge: Default the template option to a compatible default profile. Confbridge dynamic profiles did not have a default profile unless you explicitly used Set(CONFBRIDGE(bridge,template)=default_bridge). If a template was not set prior to the bridge being created then some options were left with no default values set. This patch makes it so the default templates are set to the default bridge and user profiles. ASTERISK-24749 #close Reported by: philippebolduc Change-Id: I1bd6e94b38701ac2112d842db68de63d46f60e0a 2015-04-24 10:23 +0000 [3bb1e967cb] Matt Jordan * Clang: Fix some more tautological-compare warnings. clang can warn about a so called tautological-compare, when it finds comparisons which are logically always true, and are therefore deemed unnecessary. Example: unsigned int x = 4; if (x > 0) // x is always going to be bigger than 0 Enum Case: Each enumeration is its own type. Enums are an integer type but they do not have to be *signed*. C leaves it up to the compiler as an implementation option what to consider the integer type of a particular enumeration is. Gcc treats an enum without negative values as an int while clang treats this enum as an unsigned int. rmudgett & mmichelson: cast the enum to (unsigned int) in assert. The cast does have an effect. For gcc, which seems to treat all enums as int, the cast to unsigned int will eliminate the possibility of negative values being allowed. For clang, which seems to treat enums without any negative members as unsigned int, the cast will have no effect. If for some reason in the future a negative value is ever added to the enum the assert will still catch the negative value. ASTERISK-24917 Change-Id: Ief23ef68916192b9b72dabe702b543ecfeca0b62 2015-04-20 13:06 +0000 [82387f7d27] Diederik de Groot * Example script for scan-build (the llvm static analyzer) - Added Pre-amble (Options / Flags / Usage Example / GNU License) - Extended Configurability - Made Executable ASTERISK-24917 Change-Id: I70405fe54e4be7dbfbcb62e291690069b88617a8 2015-04-23 08:00 +0000 [9c61245061] Diederik de Groot * Clang: change previous tautological-compare fixes. clang can warn about a so called tautological-compare, when it finds comparisons which are logically always true, and are therefor deemed unnecessary. Exanple: unsigned int x = 4; if (x > 0) // x is always going to be bigger than 0 Enum Case: Each enumeration is its own type. Enums are an integer type but they do not have to be *signed*. C leaves it up to the compiler as an implementation option what to consider the integer type of a particu- lar enumeration is. Gcc treats an enum without negative values as an int while clang treats this enum as an unsigned int. rmudgett & mmichelson: cast the enum to (unsigned int) in assert. The cast does have an effect. For gcc, which seems to treat all enums as int, the cast to unsigned int will eliminate the possibility of negative values being allowed. For clang, which seems to treat enums without any negative members as unsigned int, the cast will have no effect. If for some reason in the future a negative value is ever added to the enum the assert will still catch the negative value. ASTERISK-24917 Change-Id: I0557ae0154a0b7de68883848a609309cdf0aee6a 2015-04-22 16:32 +0000 [f56c5f1aa2] George Joseph * .gitignore: Add .gcno and .gcda Products of --enable-coverage Change-Id: Ie20882d64b60692e2c941ea8872ab82a86ce77a3 2015-04-20 13:01 +0000 [4295582511] Diederik de Groot * Fix/Update clang-RAII macro implementation - When you need to refer to 'variable XXX' outside a block, it needs to be declared as '__block XXX', otherwise it will not be available with- in the block, making updating that variable hard to do, and ast_free lead to issues. - Removed the #error message because it creates complications when compiling external projects against asterisk For example when using a different compiler than the one used to compile asterisk. The warning/error should be generated during the configure process not the compilation process ASTERISK-24917 Change-Id: I12091228090e90831bf2b498293858f46ea7a8c2 2015-04-21 15:17 +0000 [fc79cae5d5] Corey Farrell * Check for ao2_alloc failure in __ast_channel_internal_alloc. Fix a crash that could occur in __ast_channel_internal_alloc if ao2_alloc fails. ASTERISK-24991 #close Change-Id: I4ca89189eb22f907408cb87d0a1645cfe1314a90 2015-04-20 18:00 +0000 [e4b956b186] Richard Mudgett * chan_dahdi/sig_pri: Make post AMI HangupRequest events on PRI channels. The chan_dahdi channel driver is a very old driver. The ability for it to support ISDN was added well after the initial analog support. Setting the softhangup flags is a carry over from the original analog code. The driver was not updated to call ast_queue_hangup() which will post the AMI HangupRequest event. * Changed sig_pri.c to call ast_queue_hangup() instead of setting the softhangup flag when the remote party initiates a hangup. ASTERISK-24895 #close Reported by: Andrew Zherdin Change-Id: I5fe2e48556507785fd8ab8e1c960683fd5d20325 2015-04-20 06:30 +0000 [4384136c46] Matt Jordan * Merge "UPGRADE: Fix upgrade notes" into 11 2015-04-20 06:29 +0000 [82bd20ed9c] Matt Jordan * Merge "main/pbx: Don't attempt to destroy a previously destroyed exten/priority tuple" into 11 2015-04-19 15:49 +0000 [6ed37a7f38] Matt Jordan * main/pbx: Don't attempt to destroy a previously destroyed exten/priority tuple When a PBX registrar is unloaded, it will fail to remove its extension from the context root_table if a dialplan application used by that extension is still loaded. This can be the case for AGI, which can be unloaded after several of the standard PBX providers. Often, this is harmless; however, if the extension's priorities are removed during the failed unloading *and* the dialplan application later unregisters, it leaves a ticking timebomb for the next PBX provider that attempts to iterate over the extensions. When that occurs, the peer_table pointer on the extension will already be set to NULL. The current code does not check to see if the pointer is NULL before passing it to a hashtab function this is not NULL tolerant. Since it is possible for the peer_table to be NULL when we normally would not expect that to be the case, the solution in this patch is to simply skip over processing an extension's priorities if peer_table is NULL. Prior to this patch, the tests/pbx/callerid_match test would crash during module unload. With this patch, the test no longer crashes after running. ASTERISK-24774 #close Reported by: Corey Farrell Change-Id: I2bbeecb7e0f77bac303a1b9135e4cdb4db6d4c40 2015-04-18 23:49 +0000 [e2520715c2] Matt Jordan * UPGRADE: Fix upgrade notes The next expected release from the 11 branch is 11.18.0. This patch updates the UPGRADE notes to reflect that. Change-Id: I8e6e9d62b3916484a68733cfc8d64b3709adb0c2 2015-04-17 16:19 +0000 [8fc07492cc] Corey Farrell * Fix issue with AST_THREADSTORAGE_RAW when DEBUG_THREADLOCALS is enabled. When DEBUG_THREADLOCALS is enabled it causes the threadlocal cleanup to be called as a function. This causes a compile error with raw threadstorage as it uses NULL for cleanup. This fix uses a macro that provides NULL when DEBUG_THREADLOCALS is disabled, and replaces the call to "c_cleanup(data);" with "{};" when DEBUG_THREADLOCALS is enabled. ASTERISK-24975 #close Reported by: Ashley Sanders Change-Id: I3ef7428ee402816d9fcefa1b3b95830c00d5c402 2015-04-15 16:08 +0000 [c9891666bf] George Joseph * More .gitignore updates Added .pyc and .sha1 to the top-level .gitignore. Change-Id: I7dfc4f554d54d22947b38140d3305007503cc16a Tested-by: George Joseph 2015-04-15 13:35 +0000 [ccad749449] Matt Jordan * Merge "Build System: Replace comment about setting menuselect defaults." into 11 2015-04-14 13:16 +0000 [fb601a5a7a] Rodrigo Ramírez Norambuena * cel_pgsql: Fix name string for log on unable allocate memory. The LOG_ERROR has reference to CDR instead of CEL for LENGTHEN_BUF1 and LENGTHEN_BUF2. ASTERISK-24965 #close Reported by: Rodrigo Ramirez Norambuena Change-Id: Icc818697d7d66d34bfe3048cdd15ca2b06c89744 2015-04-14 13:48 +0000 [29c7068a89] Corey Farrell * Build System: Replace comment about setting menuselect defaults. The Makefile claims that you can set default menuselect options by creating ~/.asterisk.makeopts or /etc/asterisk.makeopts, but those files have never been respected in Asterisk 11 or 13. This changes the comment to accurately reflect that these files are not automatically used by the build system. ASTERISK-13721 #close Reported by: pj Change-Id: Ibde804ff196283def49ccb9432fbf224a22586e2 2015-04-12 09:08 +0000 [57b7e2c51c] Rodrigo Ramírez Norambuena * cdr_pgsql: Fix CLI "cdr show pgsql status" command. The command always showed the usage information. * Fix the error in command validation for CLI_SHOWUSAGE. ASTERISK-24959 #close Reported by: Rodrigo Ramirez Norambuena Change-Id: I584f0936bb01001336a468a55c1d05d79fe795d5 (cherry picked from commit 23a180cade51e84b9def65b05759c3cb9feba225) 2015-04-14 12:38 +0000 [54ce7cc857] Matt Jordan * Merge ".gitignore updates for 11" into 11 2015-04-13 19:34 +0000 [65eb7d5425] George Joseph * Backport menuselect to 12,11,1.8 Backport menuselect from 13->12->11->1.8 Change-Id: I54c4dd2bdacd3c9d858be3acab08706941f2e585 2015-04-13 20:17 +0000 [b44aeb6998] George Joseph * .gitignore updates for 11 Added bootstrap products Added channels/h323/Makefile Added res/pjproject Change-Id: I6b3bc56bf7bdaee0554f36fc2ce3a77e9eaf8aa3 2015-04-13 14:41 +0000 [e540034f22] David M. Lee * Fixing extconf compile During the mass code deletion for clang support, a stray backslash was left behind that was causing utils to fail to compile. Change-Id: I60e5fa58c9a5b248bde23aaada79ff663f87a2a1 2015-04-13 12:03 +0000 [736a3cef01] Matt Jordan * Merge "build_tools/make_version: Update version parsing for Git migration" into 11 2015-04-13 09:54 +0000 [0f627c2015] Matt Jordan * build_tools/make_version: Update version parsing for Git migration External systems - such as the Asterisk Test Suite - require knowledge of the upstream branch. Unfortunately, after moving to Git, the Asterisk version currently consists of only a 'GIT" prefix followed by an object blob, e.g., GIT-as08d7. This makes it difficult for such systems to know what features are available in a particular check out of Asterisk. This patch fixes this by hardcoding the branch in a variable in the make_version script. Since the mainline branches are not changed often - typically only once a year - this is a reasonable approach to solving the problem, and is more reliable than parsing the output of 'git branch -vv'. Branches that track off of an upstream primary branch will then get the benefit of knowing which mainline branch they are currently based off of. ASTERISK-24954 #close Change-Id: I8090d5d548b6d19e917157ed530b914b7eaf9799 2015-04-12 12:59 +0000 [552fa861c7] Matt Jordan * git migration: Remove support for file versions Git does not support the ability to replace a token with a version string during check-in. While it does have support for replacing a token on clone, this is somewhat sub-optimal: the token is replaced with the object hash, which is not particularly easy for human consumption. What's more, in practice, the source file version was often not terribly useful. Generally, when triaging bugs, the overall version of Asterisk is far more useful than an individual SVN version of a file. As a result, this patch removes Asterisk's support for showing source file versions. Specifically, it does the following: * main/asterisk: - Refactor the file_version structure to reflect that it no longer tracks a version field. - Alter the "core show file version" CLI command such that it always reports the version of Asterisk. The file version is no longer available. * main/manager: The Version key now always reports the Asterisk version. * UPGRADE: Add notes for: - Modification to the ModuleCheck AMI Action. - Modification to the CLI "core show file version" command. Change-Id: Ia932d3c64cd18a14a3c894109baa657ec0a85d28 2015-04-12 15:27 +0000 [6b9e0a9db2] Matt Jordan * Merge topic '11-git-ignore' into 11 * changes: .gitignore: Ignore tarballs (*.gz) Add .gitignore and .gitreview files 2015-04-12 06:12 +0000 [50c1ae4053] Corey Farrell * main/editline: Add .gitignore. This patch adds a .gitignore for main/editline to ignore all build results. Change-Id: I68c7bf375ea46282689e5a706534b69fca233b5d 2015-04-11 23:22 +0000 [9ca89baf20] Matt Jordan * .gitignore: Ignore tarballs (*.gz) This patch updates the root .gitignore file to ignore files with a .gz extension. This will cause git to ignore downloaded sound tarballs in the the sounds/ directory. Change-Id: Ic153642236ea8aee100443b94c563d0318711af3 2015-04-11 13:20 +0000 [7079f53a40] George Joseph * Add .gitignore and .gitreview files Add the .gitignore and .gitreview files to the asterisk repo. NB: You can add local ignores to the .git/info/exclude file without having to do a commit. Common ignore patterns are in the top-level .gitignore file. Subdirectory-specific ignore patterns are in their own .gitignore files. Change-Id: I2b7513fc9acf5d432cf9587c25faa9786af14abf Tested-by: George Joseph 2015-04-11 10:34 +0000 [e5c5fe70d6] Matthew Jordan * main/event: Remove unnecessary assignment of negative value to enum When cleaning up some clang compiler warnings, the comparison of a negative value to an unsigned enum was removed. However, the initial assignment of a negative value to said enum remained in the variable declaration. This patch removes that assignment. Thanks to ibercom in #asterisk-bugs for pointing it out. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@434708 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-04-11 10:26 +0000 [68f974978d] dkdegroot (License 6600) * clang compiler warnings: Fix various warnings for tests This patch fixes a variety of clang compiler warnings for unit tests. This includes autological comparison issues, ignored return values, and interestingly enough, one embedded function. Fun! Review: https://reviewboard.asterisk.org/r/4555 ASTERISK-24917 Reported by: dkdegroot patches: rb4555.patch submitted by dkdegroot (License 6600) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@434705 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-04-10 11:25 +0000 [7bee716f86] Richard Mudgett * translate.c: Only select audio codecs to determine the best translation choice. Given a source capability of h264 and ulaw, a destination capability of h264 and g722 then ast_translator_best_choice() would pick h264 as the best choice even though h264 is a video codec and Asterisk only supports translation of audio codecs. When the audio starts flowing, there are warnings about a codec mismatch when the channel tries to write a frame to the peer. * Made ast_translator_best_choice() only select audio codecs. * Restore a check in channel.c:set_format() lost after v1.8 to prevent trying to set a non-audio codec. This is an intermediate patch for a series of patches aimed at improving translation path choices for ASTERISK-24841. This patch is a complete enough fix for ASTERISK-21777 as the v11 version of ast_translator_best_choice() does the same thing. However, chan_sip.c still somehow tries to call ast_codec_choose() which then calls ast_best_codec() with a capability set that doesn't contain any audio formats for the incoming call. The remaining warning message seems to be a benign transient. ASTERISK-21777 #close Reported by: Nick Ruggles ASTERISK-24380 #close Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/4605/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@434614 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-04-10 07:35 +0000 [efef678411] Y Ateya (License 6693) * channels/chan_iax2: Improve POKE expiration time calculation for lossy networks POKE is used to check for peer availability; however, in networks with packet loss, the current calculations may result in POKE expiration times that are too short. This patch alters the expiration/retry time logic to take into account the last known qualify round trip time, as opposed to always using a static value for each peer. Review: https://reviewboard.asterisk.org/r/4536 ASTERISK-22352 #close Reported by: Frederic Van Espen ASTERISK-24894 #close Reported by: Y Ateya patches: poke_noanswer_duration.diff submitted by Y Ateya (License 6693) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@434564 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-04-09 07:47 +0000 [7c4efc490a] dkdegroot (License 6600) * clang compiler warnings: Fix autological comparisons This fixes autological comparison warnings in the following: * chan_skinny: letohl may return a signed or unsigned value, depending on the macro chosen * func_curl: Provide a specific cast to CURLoption to prevent mismatch * cel: Fix enum comparisons where the enum can never be negative * enum: Fix comparison of return result of dn_expand, which returns a signed int value * event: Fix enum comparisons where the enum can never be negative * indications: tone_data.freq1 and freq2 are unsigned, and hence can never be negative * presencestate: Use the actual enum value for INVALID state * security_events: Fix enum comparisons where the enum can never be negative * udptl: Don't bother to check if the return value from encode_length is less than 0, as it returns an unsigned int * translate: Since the parameters are unsigned int, don't bother checking to see if they are negative. The cast to unsigned int would already blow past the matrix bounds. Review: https://reviewboard.asterisk.org/r/4533 ASTERISK-24917 Reported by: dkdegroot patches: rb4533.patch submitted by dkdegroot (License 6600) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@434469 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-04-08 21:03 +0000 [6b399f72dc] Stefan Engström (License 6691) * apps/app_queue: Prevent possible crash when evaluating queue penalty rules Although it only occurred once, a crash occurred when a queue attempted to evaluate a queue penalty rule that appeared to have already been destroyed. In many locations in app_queue, a test is done to see if qe->pr is NULL; however, when we dispose of a queue's penalty rules, we don't set the pointer to NULL after free'ing it. This patch does that to prevent any dangling pointers from lingering on the queue object. Review: https://reviewboard.asterisk.org/r/4522 ASTERISK-23319 #close Reported by: Vadim patches: rb4552.patch submitted by Stefan Engström (License 6691) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@434448 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-04-08 11:11 +0000 [f69e1b4a17] mhej (license 6085) * Security/tcptls: MitM Attack potential from certificate with NULL byte in CN. When registering to a SIP server with TLS, Asterisk will accept CA signed certificates with a common name that was signed for a domain other than the one requested if it contains a null character in the common name portion of the cert. This patch fixes that by checking that the common name length matches the the length of the content we actually read from the common name segment. Some certificate authorities automatically sign CA requests when the requesting CN isn't already taken, so an attacker could potentially register a CN with something like www.google.com\x00www.secretlyevil.net and have their certificate signed and Asterisk would accept that certificate as though it had been for www.google.com - this is a security fix and is noted in AST-2015-003. ASTERISK-24847 #close Reported by: Maciej Szmigiero Patches: asterisk-null-in-cn.patch submitted by mhej (license 6085) ........ Merged revisions 434337 from http://svn.asterisk.org/svn/asterisk/branches/1.8 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@434338 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-04-08 09:53 +0000 [ed191ca32c] Matthew Jordan * chan_iax2: Fix mixup of code/declarations Interestingly enough, clang doesn't care about this. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@434334 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-04-08 06:59 +0000 [e61628db7b] Jaco Kroon (License 5671) * chan_iax2: Fix crash caused by unprotected access to iaxs[peer->callno] This patch fixes an access to the peer callnumber that is unprotected by a corresponding mutex. The peer->callno value can be changed by multiple threads, and all data inside the iaxs array must be procted by a corresponding lock of iaxsl. The patch moves the unprotected access to a location where the mutex is safely obtained. Review: https://reviewboard.asterisk.org/r/4599/ ASTERISK-21211 #close Reported by: Jaco Kroon patches: asterisk-11.2.1-iax2_poke-segfault.diff submitted by Jaco Kroon (License 5671) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@434291 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-04-08 06:51 +0000 [7dd8c34e82] Valentin Vidić (License 6697) * chan_sip: Handle IPv4 mapped IPv6 clients when NAT is enabled When udpbindaddr is set to the IPv6 bind all address of '::', Asterisk will attempt to handle both IPv4 and IPv6 addresses, although the information will be stored in a struct with an AF_INET6 address type. However, the current NAT handling code won't handle the IPv4 mapped IPv6 addresses correctly. This patch adds an additional check for the mapped address case, allowing the NAT code to handle clients even when the address is IPv6. Review: https://reviewboard.asterisk.org/r/4563/ ASTERISK-18032 #close Reported by: Christoph Timm patches: nat_with_ipv6.diff submitted by Valentin Vidić (License 6697) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@434288 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-04-08 06:42 +0000 [97c68d8d3a] dkdegroot (License 6600) * clang compiler warnings: Fix pointer-bool-converesion warnings This patch fixes several warnings pointed out by the clang compiler. * app_minivm: Fixed evaluation of etemplate->locale, which will always evaluate to 'true'. This patch changes the evaluation to use ast_strlen_zero. * app_queue: - Fixed evaluation of qe->parent->monfmt, which always evaluates to true. Instead, we just check to see if the dereferenced pointer evaluates to true. - Fixed evaluation of mem->state_interface, wrapping it with a call to ast_strlen_zero. Review: https://reviewboard.asterisk.org/r/4541 ASTERISK-24917 Reported by: dkdegroot patches: rb4541.patch submitted by dkdegroot (License 6600) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@434285 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-04-07 14:34 +0000 [3ade8a146a] Scott Griepentrog * Voicemail API: fix handling of full mailbox Changes to an error code in svn r115582 was the accidental cause of message deletion on a full (by maxmsg) Old mailbox folder. This restores the original handling marking the message to be left in the Inbox. ASTERISK-24942 #close Review: https://reviewboard.asterisk.org/r/4595/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@434260 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-04-06 21:09 +0000 [dc63b9fcbc] dkdegroot (License 6600) * clang compiler warnings: Fix sometimes-initialized warning in func_math This patch fixes a bug in a unit test in func_math where a variable could be passed to ast_free that wasn't allocated. This patch corrects the issue and ensures that we only attempt to free a variable if we previously allocated it. Review: https://reviewboard.asterisk.org/r/4552 ASTERISK-24917 Reported by: dkdegroot patches: rb4552.patch submitted by dkdegroot (License 6600) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@434190 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-04-06 20:58 +0000 [c224c44a16] dkdegroot (License 6600) * clang compiler warnings: Fix non-literal-null-conversion warnings Clang will flag errors when a char pointer is set to '\0', as opposed to a value that the char pointer points to. This patch fixes this warning in a variety of locations. Review: https://reviewboard.asterisk.org/r/4551 ASTERISK-24917 Reported by: dkdegroot patches: rb4551.patch submitted by dkdegroot (License 6600) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@434187 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-04-06 13:58 +0000 [5e46127e17] George Joseph * build: Fixes for gcc 5 compilation These are fixes for compilation under gcc 5.0... chan_sip.c: In parse_request needed to make 'lim' unsigned. inline_api.h: Needed to add a check for '__GNUC_STDC_INLINE__' to detect C99 inline semantics (same as clang). ccss.c: In ast_cc_set_parm, needed to fix weird comparison. dsp.c: Needed to work around a possible compiler bug. It was throwing an array-bounds error but neither sgriepentrog, rmudgett nor I could figure out why. manager.c: In action_atxfer, needed to correct an array allocation. This patch will go to 11, 13, trunk. Review: https://reviewboard.asterisk.org/r/4581/ Reported-by: Jeffrey Ollie Tested-by: George Joseph ASTERISK-24932 #close git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@434113 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-04-06 13:07 +0000 [84948d5969] dkdegroot (License 6600) * clang compiler warnings: Remove large chunks of unused code from extconf This patch fixes a warning caught by clang, in which it detected that large chunks of extconf were unused. Frankly, I wish we could pretend that all of extconf was unused, but alas, that is not yet the case. Review: https://reviewboard.asterisk.org/r/4553 ASTERISK-24917 Reported by: dkdegroot patches: rb4553.patch submitted by dkdegroot (License 6600) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@434093 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-04-06 13:03 +0000 [a061688239] dkdegroot (License 6600) * clang compiler warnings: Fix sometimes-uninitialized warning in pbx_config This patch fixes a warning caught by clang, in which a char pointer could be assigned to before it was initialized. The patch re-organizes the code to ensure that the pointer is always initialized, even on off nominal paths. Review: https://reviewboard.asterisk.org/r/4529 ASTERISK-24917 Reported by: dkdegroot patches: rb4529.patch submitted by dkdegroot (License 6600) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@434090 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-04-06 12:51 +0000 [0437fd7330] dkdegroot (License 6600) * clang compiler warnings: Fix format specified in framehook This patch fixes an invalid format specifier used in the formatting of an ERROR message in the framehook code. The format specifier specifies a type of 'unsigned short', but the argument passed to it is of type 'int'. The patch changes the format specifier to 'i'. Review: https://reviewboard.asterisk.org/r/4540 ASTERISK-24917 Reported by: dkdegroot patches: rb4535.patch submitted by dkdegroot (License 6600) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@434087 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-04-01 15:43 +0000 [695dcfbf8b] Mark Michelson * Backport revision 429223 from Asterisk 13 The bug fixed by that patch exists in Asterisk 11 as well, so the fix should be applied there. When connecting to a remote Asterisk console, the buffer used to read the initial hostname/pid/version from the main Asterisk process did not ensure the input was NULL-terminated, and the buffer was small for certain use cases. This patch expands the buffer to be 256 bytes and ensures the input it reads is NULL-terminated. ASTERISK-21854 #close Reported by klaus3000 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@433919 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-03-31 11:47 +0000 [e159080c45] Richard Mudgett * chan_sip: Fix expression in unit test /channels/chan_sip/test_sip_rtpqos. Fix misplaced parentheses in original fabs() expression. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@433816 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-03-30 06:40 +0000 [2430daa931] Corey Farrell * Fix an ABI compatibility issue with ast_log_safe for modules. Binary modules are sometimes built against the latest release of Asterisk in each branch, and need to be compatible with all releases of that branch. This change ensures that utils.h only uses ast_log_safe from the core. For modules and utilities ast_log is used instead. Review: https://reviewboard.asterisk.org/r/4548/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@433772 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-03-29 21:44 +0000 [297b8df31b] dkdegroot (License 6600) * clang compiler warnings: Fix -Wabsolute-value warnings This patch fixes several warnings caught by clang - in this case, usage of the abs function on non-integer values. This patch uses labs and fabs, as appropriate, in the various affected files. Review: https://reviewboard.asterisk.org/r/4525 ASTERISK-24917 Reported by: dkdegroot patches: rb4525.patch submitted by dkdegroot (License 6600) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@433749 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-03-29 21:35 +0000 [b8d7aa442d] dkdegroot (License 6600) * clang compiler warnings: Fix invalid enum conversion This patch fixes some invalid enum conversion warnings caught by clang. In particular, several functions in chan_sip mixed usage of the st_refresher_param enum and st_refresher enum. This patch corrects that. ASTERISK-24917 Reported by: dkdegroot patches: rb4535.patch submitted by dkdegroot (License 6600) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@433746 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-03-29 21:28 +0000 [03ab5de700] Matthew Jordan * main/stdtime/localtime: Fix warning introduced in r433720 The patch in r433720 caused a warning to be kicked back by gcc. It occurred due to this check in unistd.h: if (__nbytes > __bos0 (__buf)) return __read_chk_warn (__fd, __buf, __nbytes, __bos0 (__buf)); That is, if __nbytes is greater than the result of GCC's built-in object size for the struct, we'll kick back a warning. As it turns out, this is because there is an error in the code in the patch. We are passing the address of the pointer to the struct, not iev, which is a pointer to the struct. Hence, the number of bytes is probably going to be lot larger than the number of bytes that make up a pointer! This patch changes the code just read from the pointer to the struct - which fixes the warning. ASTERISK-24917 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@433743 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-03-29 20:56 +0000 [05183c0025] dkdegroot (License 6600) * clang compiler warnings: Ignore -Wunused-command-line-argument Asterisk's build system has a tendency to pass include directives for libraries to everything compiled within a particular group of source files. This means we pass the header for libxml2 to things that don't necessarily need it. As a result, we ignore this particular warning. Review: https://reviewboard.asterisk.org/r/4545/ ASTERISK-24917 Reported by: dkdegroot patches: rb4545.patch submitted by dkdegroot (License 6600) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@433720 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-03-29 20:51 +0000 [af0a60c0f7] dkdegroot (License 6600) * clang compiler warnings: Fix warning for -Wgnu-variable-sized-type-not-at-end This patch fixes a warning caught by clang, wherein a variable sized struct is not located at the end of a struct. While the code in question actually expected this, this is a good warning to watch for. Hence, this patch refactors the code in question to not have two variable length elements in the same struct. Review: https://reviewboard.asterisk.org/r/4530/ ASTERISK-24917 Reported by: dkdegroot patches: rb4530.patch submitted by dkdegroot (License 6600) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@433717 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-03-28 07:53 +0000 [29e6597f0b] dkdegroot (License 6600) * clang compiler warnings: Fix a variety of "unused" warnings This patch fixes the -Wunused-value -Wunused-variable -Wunused-const-variable errors caught by clang. Specifically: * apps/app_queue.c: removed unused qpm_cmd_usage[], qum_cmd_usage[], qsmp_cmd_usage[] * cel/cel_sqlite3_custom.c: removed unused name[] = "cel_sqlite3_custom" * codecs/gsm/src/gsm_create.c: removed unused ident[] = "$Header$" * funcs/func_env.c:729: Fixed ast_str_append_substr. * main/editline/np/strlcat.c: removed unused rcsid variable * main/editline/np/strlcpy.c: removed unused rcsid variable * utils/conf2ael.c: removed unused cfextension_states * utils/extconf.c: removed unused cfextension_states Review: https://reviewboard.asterisk.org/r/4526 ASTERISK-24917 Reported by: dkdegroot patches: rb4526.patch submitted by dkdegroot (License 6600) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@433693 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-03-28 07:47 +0000 [baa010e83d] dkdegroot (License 6600) * clang compiler warnings: Fix -Wself-assign Assigning a variable to itself isn't super useful. However, the WAV format modules make use of this in order to perform byte endian checks. This patch works around the warning by only performing the self assignment if we are going to do more than just assign it to ourselves. Which is odd, but true. ASTERISK-24917 Reported by: dkdegroot patches: rb4544.patch submitted by dkdegroot (License 6600) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@433690 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-03-28 07:39 +0000 [844be81760] dkdegroot (License 6600) * clang compiler warnings: Fix -Wparantheses-equality warnings Clang will treat ((a == b)) as a warning, as it reasonably expects that the developer may have intended to write (a == b) or ((a = b)). This patch cleans up all instances where equality, not assignment, was intended between two parantheses. Review: https://reviewboard.asterisk.org/r/4531/ ASTERISK-24917 Repoted by: dkdegroot patches: rb4531.patch submitted by dkdegroot (License 6600) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@433687 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-03-28 07:30 +0000 [dc6249a271] dkdegroot (License 6600) * clang compiler warnings: Fix -Wbitfield-constant-conversion warning In chan_iax2, we attempt to assign a -1 to a bitfield. This gets caught by clang, as it will truncate the -1 to a 1 implicitly. Instead, we just assign the value a '1'. Review: https://reviewboard.asterisk.org/r/4537/ ASTERISK-24917 Reported by: dkdegroot patches: rb4537.patch submitted by dkdegroot (License 6600) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@433683 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-03-28 07:17 +0000 [297f7b16ff] dkdegroot (License 6600) * clang compiler warnings: Fix -Wunused-function This patch fixes clang compilers warnings for unused functions. Specifically: * channels/chan_iax2: removed user_ref function * main/dsp.c: removed goertzel_update function Review: https://reviewboard.asterisk.org/r/4527 ASTERISK-24917 Reported by: dkdegroot patches: rb4527.patch submitted by dkdegroot (License 6600) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@433678 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-03-27 07:25 +0000 [cd421a61ad] Corey Farrell * Fix link error for utils/aelparse. Use the standard ast_log instead of ast_log_safe for STANDALONE programs. Review: https://reviewboard.asterisk.org/r/4538/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@433549 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-03-27 02:06 +0000 [327e29df6c] Corey Farrell * Improved and portable ast_log recursion avoidance This introduces a new logger routine ast_log_safe. This routine should be used for all error messages in code that can be run as a result of ast_log. ast_log_safe does nothing if run recursively. All error logging in astobj2.c, strings.c and utils.h have been switched to ast_log_safe. This required adding support for raw threadstorage. This provides direct access to the void* pointer in threadstorage. In ast_log_safe, NULL is used to signify that this thread is not already running ast_log_safe, (void*)1 when it is already running. This was done since it's critical that ast_log_safe do nothing that could log during recursion checking. ASTERISK-24155 #close Reported by: Timo Teräs Review: https://reviewboard.asterisk.org/r/4502/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@433522 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-03-26 18:04 +0000 [3e85c1d2dd] Corey Farrell * Fix compile errors caused by r4500 / r4501. * Add ast_register_cleanup to utils/clicompat.c to deal with any utils that copy sources from main. * Asterisk 13+: remove unused variables from core_local.c. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@433499 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-03-26 17:16 +0000 [aad1694fd4] Corey Farrell * Replace most uses of ast_register_atexit with ast_register_cleanup. Since 'core stop now' and 'core restart now' do not stop modules, it is unsafe for most of the core to run cleanups. Originally all cleanups used ast_register_atexit, and were only changed when it was shown to be unsafe. ast_register_atexit is now used only when absolutely required to prevent corruption and close child processes. Exceptions that need to use ast_register_atexit: * CDR: Flush records. * res_musiconhold: Kill external applications. * AstDB: Close the DB. * canary_exit: Kill canary process. ASTERISK-24142 #close Reported by: David Brillert ASTERISK-24683 #close Reported by: Peter Katzmann ASTERISK-24805 #close Reported by: Badalian Vyacheslav ASTERISK-24881 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4500/ Review: https://reviewboard.asterisk.org/r/4501/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@433495 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-03-26 12:00 +0000 [6ceccec5b3] Kevin Harwell * app_confbridge: file playback blocks dtmf Attempting to execute DTMF in a confbridge while file playback (prompt, announcement, etc) is occurring is not allowed. You have to wait until the sound file has completed before entering DTMF. This patch fixes it so that app_confbridge now monitors for dtmf key presses during menu driven file playback. If a key is pressed playback stops and it executes the matched menu option. ASTERISK-24864 #close Reported by: Steve Pitts Review: https://reviewboard.asterisk.org/r/4477/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@433445 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-03-25 10:29 +0000 [e1b35138b9] Simon Arlott (License 5756) * res_xmpp: Buddies are always auto-registered when processing the roster Due to a quirk in the configuration handling of res_xmpp, the 'autoregister' setting was never actually processed. This was due to not properly copying over the global settings to the client settings when applying the configuration to the run-time object. ASTERISK-14233 ASTERISK-24780 #close Reported by: Simon Arlott patches: asterisk-13.1.0-24780 uploaded by Simon Arlott (License 5756) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@433395 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2015-03-23 Asterisk Development Team * Asterisk 11.17.0-rc1 Released. 2015-03-22 23:55 +0000 [r433245-433268] Matthew Jordan * apps/app_queue.c: Fix compilations errors on 64-bit OpenBSD systems In versiong 5.5, OpenBSD went to 64-bit time values. This requires a cast to (long) when printing members of certain time structs. Review: https://reviewboard.asterisk.org/r/4507 ASTERISK-24879 #close Reported by: snuffy Tested by: snuffy patches: openbsd-time64.diff uploaded by snuffy (License 5024) * main/asterisk.c, main/xmldoc.c: Fix compilation issues for OpenBSD This patch addresses compilation issues for OpenBSD. Specifically, it addresses: * It allows including in asterisk.c * Provides a needed (size_t) cast in xmldoc.c In 13+, it also addresses a conditional inclusion in loader.c. Review: https://reviewboard.asterisk.org/r/4506 ASTERISK-24880 #close Reported by: snuffy Tested by: snuffy patches: misc-openbsd.diff uploaded by snuffy (License 5024) 2015-03-19 19:19 +0000 [r433173] Matthew Jordan * tests/test_func_file.c, funcs/func_env.c: funcs/func_env: Fix regression caused in FILE read operation When r432935 was merged, it did correctly fix a situation where a FILE read operation on the middle of a file buffer would not read the requested length in the parameters passed to the FILE function. Unfortunately, it would also allow the FILE function to append more bytes than what was available in the buffer if the length exceeded the end of the buffer length. This patch takes the minimum of the remaining bytes in the buffer along with the calculated length to append provided by the original patch, and uses that as the length to append in the return result. This patch also updates the unit tests with the scenarios that were originally pointed out in ASTERISK-21765 that the original implementation treated incorrectly. ASTERISK-21765 2015-03-19 10:19 +0000 [r433112-433122] Corey Farrell * main/logger.c: logger: Apply default console logging when configuration cannot be loaded. When logger.conf is missing or invalid enable console logging and display an error message. ASTERISK-24817 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4497/ * channels/chan_sip.c: chan_sip: Fix dialog reference leaked to scheduler for reinvite_timeout. Release the scheduler reference to the dialog for reinvite timeout during dialog_unlink_all. ASTERISK-24876 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4491/ 2015-03-17 22:28 +0000 [r433086] Scott Griepentrog * main/utils.c, main/asterisk.c, main/xmldoc.c: Various: backport of bugfixes found via chaos Using DEBUG_CHAOS several instances of a null pointer crash, and one uninitialized variable were uncovered and fixed. Also added details on why Asterisk failed to initialize. This is a backport of the fixes from Asterisk 13. Review: https://reviewboard.asterisk.org/r/4468/ 2015-03-17 21:43 +0000 [r433056] Richard Mudgett * apps/app_externalivr.c, main/netsock2.c: Audit ast_sockaddr_resolve() usage for memory leaks. Valgrind found some memory leaks associated with ast_sockaddr_resolve(). Most of the leaks had already been fixed by earlier memory leak hunt patches. This patch performs an audit of ast_sockaddr_resolve() and found one more. * Fix ast_sockaddr_resolve() memory leak in apps/app_externalivr.c:app_exec(). * Made main/netsock2.c:ast_sockaddr_resolve() always set the addrs parameter for safety so the pointer will never be uninitialized on return. The same goes for res/res_pjsip_acl.c:extract_contact_addr(). Review: https://reviewboard.asterisk.org/r/4509/ 2015-03-14 02:27 +0000 [r432970] Matthew Jordan * main/frame.c: main/frame: Don't report empty disallow values as an error In realtime, it is normal to have a database with both 'allow' and 'disallow' columns in the schema. It is perfectly valid to have an 'allow' value of '!all,g722,ulaw,alaw' and no 'disallow' value. Unlike in static conf files, you can't *not* provide the disallow value. Thus, the empty disallow value causes a spurious WARNING message, which is kind of annoying. This patch makes it so that a 'disallow' value with no ... value ... is ignored. Granted, you can still screw this up as well, as technically specifying 'disallow=all,!ulaw' allows only ulaw, and then you would have no 'allow' value in your database. But really, why would you do that? WHY? ASTERISK-16779 #close Reported by: Atis Lezdins 2015-03-14 01:59 +0000 [r432944-432948] Joshua Colp * funcs/func_curl.c: func_curl: Don't hold exclusive lock when performing HTTP request. This code originally kept a lock held when performing the HTTP request to ensure that the options provided to curl remain valid. This doesn't seem to be necessary these days and holding the lock caused requests to happen sequentially instead of in parallel. ASTERISK-18708 #close Reported by: Dave Cabot * main/cli.c: core: Fix tab completion of "core set debug channel" CLI command. The "core set debug channel" CLI command mistakenly had source filenames added to its tab completion. This occurred because the CLI generator fell back to the "core set debug" command which permits setting debug at a source filename level. ASTERISK-21038 #close Reported by: Richard Kenner 2015-03-14 01:21 +0000 [r432918-432935] Matthew Jordan * funcs/func_env.c: FILE: fix retrieval of file contents when offset is specified The loop that reads in a file was not correctly using the offset when determining what bytes to append to the output. This patch corrects the logic such that the correct portion of the file is extracted when an offset is specified. ASTERISK-21765 Reported by: John Zhong Tested by: Matt Jordan, Di-Shi Sun patches: file_read_390821.patch uploaded by Di-Shi Sun (License 5076) * apps/app_amd.c, configs/amd.conf.sample: apps/app_amd: Document maximum_word_length option; fix AMDCAUSE documentation This patch corrects the documentation for the AMD application. Specifically: * It documents the maximum_word_length option, which limits the maximum allowed length of a single utterance. * It clarifies the AMDCAUSE values MAXWORDS and MAXWORDLENGTH. MAXWORDLENGTH was documented as MAXWORDS, while MAXWORDS was undocumented. Thanks to the issue reporter, Frank DiGennaro, for pointing out the issues. ASTERISK-19470 #close Reported by: Frank DiGennaro 2015-03-12 12:57 +0000 [r432807-432810] Matthew Jordan * main/audiohook.c: main/audiohook: Update internal sample rate on reads When an audiohook is created (which is used by the various Spy applications and Snoop channel in Asterisk 13+), it initially is given a sample rate of 8kHz. It is expected, however, that this rate may change based on the media that passes through the audiohook. However, the read/write operations on the audiohook behave very differently. When a frame is written to the audiohook, the format of the frame is checked against the internal sample rate. If the rate of the format does not match the internal sample rate, the internal sample rate is updated and a new SLIN format is chosen based on that sample rate. This works just fine. When a frame is read, however, we do something quite different. If the format rate matches the internal sample rate, all is fine. However, if the rates don't match, the audiohook attempts to "fix up" the number of samples that were requested. This can result in some seriously large number of samples being requested from the read/write factories. Consider the worst case - 192kHz SLIN. If we attempt to read 20ms worth of audio produced at that rate, we'd request 3840 samples (192000 / (1000 / 20)). However, if the audiohook is still expecting an internal sample rate of 8000, we'll attempt to "fix up" the requested samples to: samples_converted = samples * (ast_format_get_sample_rate(format) / (float) audiohook->hook_internal_samp_rate); which is: 92160 = 3840 * (192000 / 8000) This results in us attempting to read 92160 samples from our factories, as opposed to the 3840 that we actually wanted. On a 64-bit machine, this miraculously survives - despite allocating up to two buffers of length 92160 on the stack. The 32-bit machines aren't quite so lucky. Even in the case where this works, we will either (a) get way more samples than we wanted; or (b) get about 3840 samples, assuming the timing is pretty good on the machine. Either way, the calculation being performed is wrong, based on the API users expectations. My first inclination was to allocate the buffers on the heap. As it is, however, there's at least two drawbacks with doing this: (1) It's a bit complicated, as the size of the buffers may change during the lifetime of the audiohook (ew). (2) The stack is faster (yay); the heap is slower (boo). Since our calculation is flat out wrong in the first place, this patch fixes this issue by instead updating the internal sample rate based on the format passed into the read operation. This causes us to read the correct number of samples, and has the added benefit of setting the audihook with the right SLIN format. Note that this issue was caught by the Asterisk Test Suite as a result of r432195 in the 13 branch. Because this issue is also theoretically possible in Asterisk 11, the change is being made here as well. Review: https://reviewboard.asterisk.org/r/4475/ * makeopts.in, Makefile, include/asterisk/utils.h, configure, main/Makefile, configure.ac, include/asterisk/inline_api.h: Add support for the clang compiler; update RAII_VAR to use BlocksRuntime RAII_VAR, which is used extensively in Asterisk to manage reference counted resources, uses a GCC extension to automatically invoke a cleanup function when a variable loses scope. While this functionality is incredibly useful and has prevented a large number of memory leaks, it also prevents Asterisk from being compiled with clang. This patch updates the RAII_VAR macro such that it can be compiled with clang. It makes use of the BlocksRuntime, which allows for a closure to be created that performs the actual cleanup. Note that this does not attempt to address the numerous warnings that the clang compiler catches in Asterisk. Much thanks for this patch goes to: * The folks on StackOverflow who asked this question and Leushenko for providing the answer that formed the basis of this code: http://stackoverflow.com/questions/24959440/rewrite-gcc-cleanup-macro-with-nested-function-for-clang * Diederik de Groot, who has been extremely patient in working on getting this patch into Asterisk. Review: https://reviewboard.asterisk.org/r/4370/ ASTERISK-24133 ASTERISK-23666 ASTERISK-20399 ASTERISK-20850 #close Reported by: Diederik de Groot patches: RAII_CLANG.patch uploaded by Diederik de Groot (License 6600) 2015-03-10 21:32 +0000 [r432691-432720] Matthew Jordan * res/res_config_odbc.c: res/res_config_odbc: Fix improper escaping of backslashes with MySQL When escaping backslashes with MySQL, the proper way to escape the characters in a LIKE clause is to escape the '\' four times, i.e., '\\\\'. To quote the MySQL manual: "Because MySQL uses C escape syntax in strings (for example, “\n” to represent a newline character), you must double any “\” that you use in LIKE strings. For example, to search for “\n”, specify it as “\\n”. To search for “\”, specify it as “\\\\”; this is because the backslashes are stripped once by the parser and again when the pattern match is made, leaving a single backslash to be matched against." ASTERISK-24808 #close Reported by: Javier Acosta patches: res_config_odbc.diff uploaded by Javier Acosta (License 6690) * apps/app_voicemail.c: app_voicemail: Fix crash with IMAP backends when greetings aren't present When an IMAP backend is in use and greetings are set to be used, but aren't present for a user in their IMAP folder, Asterisk will crash. This occurs due to the mailstream being set to the 'greetings' folder and being left in that particular state, regardless of the success/failure of the attempt to access the folder the mailstream points to. Later access of the mailstream assumes that it points to the 'INBOX' (or some other folder), resulting in either a crash (if the greetings folder didn't exist and the mailstream is invalid) or an inability to read messages from the 'INBOX' folder. This patch restores the mailstream to its correct state after accessing the greetings. This fixes the crash, and sets the mailstream to the state that VoiceMailMain expects. Note that while ASTERISK-23390 also contained a patch for this issue, the patch on ASTERISK-24786 is the one being merged here. Review: https://reviewboard.asterisk.org/r/4459/ ASTERISK-23390 #close Reported by: Ben Smithurst ASTERISK-24786 #close Reported by: Graham Barnett Tested by: Graham Barnett patches: app_voicemail.c.patch.SIGSEGV3rev2 uploaded by Graham Barnett (License 6685) * main/stdtime/localtime.c: localtime: Fix file descriptor leak on kqueue(2) systems The localtime management in the Asterisk core contains a thread that watches for changes in the local timezone. On systems where the directory containing /etc/localtime is modified frequently, the thread monitoring the changes will be woken up to determine if any changes in timezone have occurred. When using kqueue(2), this can cause a leak of file descriptors due to some improper management of resources. This patch updates the kqueue(2) handling in localtime, such that is no longer leaks resources. Review: https://reviewboard.asterisk.org/r/4450/ ASTERISK-24739 #close Reported by: Ed Hynan patches: 11.15.0-u.diff uploaded by Ed Hynan (Licnese 6680) 11.7.0-u.diff uploaded by Ed Hynan (License 6680) svn-trunk-Jan-26-2015-u.diff uploaded by Ed Hynan (License 6680) 2015-03-06 19:52 +0000 [r432526-432530] Richard Mudgett * channels/chan_dahdi.c, channels/sig_analog.c, channels/sig_analog.h, UPGRADE.txt: chan_dahdi/sig_analog: Fix distinctive ring detection to suck less. The distinctive ring feature interferes with detecting Caller ID and appears to have been broken for years. What happens is if you have a ring-ring cadence as used in the UK you get too many DAHDI events for the distinctive ring pattern array and Caller ID detection is aborted. I think when Zapata/DAHDI added the ring begin event it broke distinctive ring. More events happen than before and the code does no filtering of which event times are recorded in the pattern array. * Made distinctive ring only record the ringt count when the ring ends instead of on just any DAHDI event. Distinctive ring can be ring, ring-ring, ring-ring-ring, or different ring durations for the up to three rings. * Fixed the distinctive ring detection enable (chan_dahdi.conf option usedistinctiveringdetection) to be per port instead of somewhat per port and somewhat global. This has been broken since v1.8. * Fixed using the default distinctive ring context when the detected pattern does not match any configured dringX patterns. The default context did not get set when the previous call was a matched distinctive ring pattern and the current call is not matched. This has been broken since v1.8. * Made distinctive ring have no effect on Caller ID detection when it is disabled. Caller ID detection just monitors for 10 seconds before giving up. * Fixed leak of struct callerid_state memory when a polarity reversal during Caller ID detection causes the incoming call to be aborted. DAHDI-1143 AST-1545 ASTERISK-24825 #close Reported by: Richard Mudgett ASTERISK-17588 Reported by: Daniel Flounders Review: https://reviewboard.asterisk.org/r/4444/ * channels/chan_sip.c: chan_sip: Fix realtime locking inversion when poking a just built peer. When a realtime peer is built it can cause a locking inversion when the just built peer is poked. If the CLI command "sip show channels" is periodically executed then a deadlock can happen because of the locking inversion. * Push the peer poke off onto the scheduler thread to avoid the locking inversion of the just built realtime peer. AST-1540 ASTERISK-24838 #close Reported by: Richard Mudgett Review: https://reviewboard.asterisk.org/r/4454/ 2015-03-05 16:35 +0000 [r432484] George Joseph * apps/app_voicemail.c: app_voicemail: Fix compile breaking in app_voicemail with IMAP_STORAGE. There is a leftover "assert" in app_voicemail/__messagecount that references variables that don't exist. This causes the compile to fail when --enable-dev-mode and IMAP_STORAGE are selected. This patch removes the assert. Tested-by: George Joseph Review: https://reviewboard.asterisk.org/r/4461/ 2015-02-26 17:06 +0000 [r432362] Kevin Harwell * apps/app_chanspy.c, main/channel.c: app_chanspy, channel: fix frame leaks Fixed a couple of frame leaks that were found during testing. ASTERISK-24828 #close Reported by: John Hardin Review: https://reviewboard.asterisk.org/r/4445/ 2015-02-26 04:56 +0000 [r432239-432341] Matthew Jordan * channels/Makefile, apps/Makefile: make: Remove 'res_features' from libraries to link against with cygwin/mingw32 Both the apps and channels Makefiles still listed 'res_features' as modules to link against when compiling for cygwin or mingw32. This module hasn't existed for quite some time. ASTERISK-18105 #close Reported by: feyfre * channels/chan_sip.c: channels/chan_sip: Don't send a BYE after final response when PBX thread fails When Asterisk fails to start a PBX thread for a new channel - for example, when the maxcalls setting in asterisk.conf is exceeded - we currently send a final response, and then attempt to send a BYE request to the UA. Since that's all sorts of wrong, this patch fixes that by setting sipalreadygone on the sip_pvt such that we don't get stuck sending BYE requests to something that does not want it. Note that this patch is a slight modification of the one on ASTERISK-15434. For clarity, it explicitly calls sipalreadygone with the calls to transmit a final response. ASTERISK-21845 ASTERISK-15434 #close Reported by: Makoto Dei Tested by: Matt Jordan patches: sip-pbxstart-failed.patch uploaded by Makoto Dei (License 5027) * configure, configure.ac: configure: Promote SQLite3 "not installed" warning to error Since Asterisk won't build without the library, not having it is definitely an error. Thanks to Kyle Kurz for pointing this out. * channels/chan_sip.c: channels/chan_sip: Clarify WARNING message in mismatched SRTP scenario When we receive an SDP as part of an offer/answer for a peer/friend has been configured to require encryption, and that SDP offer/answer failed to provide acceptable crypto attributes, we currently issue a WARNING that uses the phrase "we" and "requested". In this case, both of those terms are ambiguous - the user will probably think "we" is Asterisk (it most likely isn't) and it may not be a "request", so much as an SDP that was received in some fashion. This patch makes the WARNING messages slightly less bad and a bit more accurate as well. ASTERISK-23214 #close Reported by: Rusty Newton * channels/sip/sdp_crypto.c: channels/sip/sdp_crypto: Handle SRTP keys negotiated with key lifetime/MKI Prior to this patch, SDP offers negotiating SDES-SRTP crypto attributes would be rejected if those crypto attributes contained either a key lifetime or a MKI parameter. While from a theoretical point of view this was defensible - Asterisk does not support key lifetimes or multiple crypto keys - from a practical point of view, this is quite a problem. A large number of endpoints offer lifetimes/MKI, which Asterisk can tolerate so long as it doesn't actually have to support anything more than a single key or refresh the key. In reality, this is (so far as we've seen) always the case. This patch is a forward port of Olle's work in the lingon-srtp-key-lifetime-1.8 branch. To quote Olle from ASTERISK-17721, it handles lifetime/MKI parameters in the following fashion: > The Lingon branch now handle lifetime and MKI parameters. > > We only accept lifetimes up to max for the crypto and higher than 10 hours > for packetization of 20 ms (50 pps). > > We only handle MKI with index 1. > > We do not really bother with counting packets and reinviting at end of > lifetime, so the min of 10 hours kind of takes care of most calls. If there > are longer ones, we rely on the other side for re-invites. > > It's still not perfect, but I personally think this is an improvement. A > configuration option for minimum lifetime accepted could be added. When the patch was ported forward, I decided against adding a configuration option as Olle's handling was more than sufficient for every case I've seen come through the issue tracker or through interoperability testing. We can revisit that decision if it proves to be false. A few small other tweaks were made to the surrounding code to reduce indentation and provide better type safety for the 'tag' parameter. Review: https://reviewboard.asterisk.org/r/4419/ Review: https://reviewboard.asterisk.org/r/4418/ ASTERISK-17721 #close Reported by: Terry Wilson ASTERISK-17899 #close Reported by: Dwayne Hubbard patches: lingon-srtp-key-lifetime-1.8.diff uploaded by oej (License 5267) ASTERISK-20233 Reported by: tootai ASTERISK-22748 Reported by: Alejandro Mejia 2015-02-25 20:43 +0000 [r432236] David M. Lee * res/res_http_websocket.c: Increase WebSocket frame size and improve large read handling Some WebSocket applications, like [chan_respoke][], require a larger frame size than the default 8k; this patch bumps the default to 16k. This patch also fixes some problems exacerbated by large frames. The sanity counter was decremented on every fread attempt in ws_safe_read(), regardless of whether data was read from the socket or not. For large frames, this could result in loss of sanity prior to reading the entire frame. (16k frame / 1448 bytes per segment = 12 segments). This patch changes the sanity counter so that it only decrements when fread() doesn't read any bytes. This more closely matches the original intention of ws_safe_read(), given that the error message is "Websocket seems unresponsive". This patch also properly logs EOF conditions, so disconnects are no longer confused with unresponsive connections. [chan_respoke]: https://github.com/respoke/chan_respoke Review: https://reviewboard.asterisk.org/r/4431/ 2015-02-24 22:14 +0000 [r432198] Matthew Jordan * channels/chan_sip.c: channels/chan_sip: Fix crash when transmitting packet after thread shutdown When the monitor thread is stopped, its pthread ID is set to a specific value (AST_PTHREADT_STOP) so that later portions of the code can determine whether or not it is safe to manipulate the thread. Unfortunately, __sip_reliable_xmit failed to check for that value, checking instead only for AST_PTHREAD_STOP. Passing the invalid yet very specific value to pthread_kill causes a crash. This patch adds a check for AST_PTHREADT_STOP in __sip_reliable_xmit such that it doesn't attempt to poke the thread if the thread has already been stopped. ASTERISK-24800 #close Reported by: JoshE 2015-02-24 18:22 +0000 [r432174] Kevin Harwell * bridges/bridge_softmix.c: bridge_softmix: G.729 codec license held When more than one call using the same codec type enters into a softmix bridge and no audio is present for a channel the bridge optimizes the out frame by using the same one for all channels with the same codec type. Unfortunately, when that number (channels with same codec type) dropped to <= 1 the codec was not dereferenced. At least not until all parties left the bridge. Thus in the case of G.729 the license was not released. This patch ensures that the codec is dereferenced immediately when the optimization no longer applies. ASTERISK-24797 #close Reported by: Luke Hulsey Review: https://reviewboard.asterisk.org/r/4429/ 2015-02-21 17:34 +0000 [r432098] Matthew Jordan * apps/app_voicemail.c: apps/app_voicemail: Demote an ERROR message to a WARNING message When using IMAP voicemail with FreePBX, you will often get ERROR messages complaining about not being able to find a mailbox. This is due to how FreePBX handles voicemail mailboxes. Unfortunately, app_voicemail has to consider this a configuration error, as in any other system it would be indicative of someone misconfiguring their system. Regardless, a misconfiguration is a WARNING, and not an ERROR. This patch demotes the message so that system administrators can hopefully reduce some of the noise in their log files. Note that in the original patch this was made into a NOTICE, but that's a too forgiving. ASTERISK-24790 #close Reported by: Graham Barnett patches: app_voicemail.c.patch_noise uploaded by Graham Barnett (License 6685) 2015-02-21 14:04 +0000 [r432078] Joshua Colp * main/http.c: http: Add missing html tag to 'httpstatus' functionality. ASTERISK-24724 #close Reported by: Ashley Sanders 2015-02-21 02:55 +0000 [r432054-432058] Corey Farrell * main/loader.c: Allow shutdown to unload modules that register bucket scheme's or codec's. * Change __ast_module_shutdown_ref to be NULL safe (11+). * Allow modules that call ast_bucket_scheme_register or ast_codec_register to be unloaded during graceful shutdown only (13+ only). ASTERISK-24796 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4428/ * include/asterisk/lock.h: asterisk/lock.h: Fix syntax errors for non-gcc OSX with 64-bit integers. Add a couple of missing closing brackets / parenthesis. ASTERISK-24814 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4436/ 2015-02-20 17:43 +0000 [r432032] Richard Mudgett * channels/sig_analog.c: chan_dahdi/sig_analog: Put log message strings on one line. With the log messages on one line, you can search for the log message seen in the log and expect to find it. 2015-02-20 15:45 +0000 [r432012] Matthew Jordan * apps/app_voicemail.c: apps/app_voicemail: Fix IMAP header compatibility issue with Microsoft Exchange When interfacing with Microsoft Exchange, custom headers will be returned as all lower case. Currently, the IMAP header code will fail to parse the returned custom headers, as it will be performing a case sensitive comparison. This can cause playback of messages to fail, as needed information - such as origtime - will not be present. This patch updates app_voicemail's header parsing code to perform a case insensitive lookup for the requested custom headers. Since the headers are specific to Asterisk, e.g., 'x-asterisk-vm-orig-time', and headers should be unique in an IMAP message, this should cause no issues with other systems. ASTERISK-24787 #close Reported by: Graham Barnett patches: app_voicemail.c.patch_MSExchange uploaded by Graham Barnett (License 6685) 2015-02-19 21:23 +0000 [r431992] Richard Mudgett * channels/chan_dahdi.c, channels/sig_analog.c: chan_dahdi: Remove some dead code. 2015-02-19 15:21 +0000 [r431936] Matthew Jordan * main/tcptls.c: tcptls: Handle new OpenSSL compile time option to disable SSLv3 Some distributions are going to disable SSLv3 at compile time. This option can be checked using the directive OPENSSL_NO_SSL3_METHOD. This patch updates the TCP/TLS handling in Asterisk to look for that directive before attempting to use the SSLv3 specific methods. ASTERISK-24799 #close Reported by: Alexander Traud patches: no-ssl3-method.patch uploaded by Alexander Traud (License 6520) 2015-02-19 01:59 +0000 [r431916] Corey Farrell * channels/chan_iax2.c, main/sched.c, include/asterisk/sched.h: Create work around for scheduler leaks during shutdown. * Added ast_sched_clean_by_callback for cleanup of scheduled events that have not yet fired. * Run all pending peercnt_remove_cb and replace_callno events in chan_iax2. Cleanup of replace_callno events is only run 11, since it no longer releases any references or allocations in 13+. ASTERISK-24451 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4425/ 2015-02-15 00:31 +0000 [r431788] Matthew Jordan * apps/app_mixmonitor.c: apps/app_mixmonitor: Move Test Event for MIXMONITOR_END to after it finishes The Test Event for MIXMONITOR_END - which signals that a MixMonitor has completed - technically fired before the filestream was closed. If a test used this to trigger a condition to verify that the file was written, it could result in a race condition where the file size would not be what the test expected. Luckily, no tests were using this (although they should have been). Since the test event needed to be moved after the point where the MixMonitor autochan has been destroyed, the test event no longer emits the channel name. Luckily, nothing needs it. 2015-02-11 17:11 +0000 [r431673] Matthew Jordan * channels/chan_sip.c: channels/chan_sip: Fix RealTime error during SIP unregistration with MariaDB When a SIP device that has its registration stored in RealTime unregisters, the entry for that device is updated with blank values, i.e., "", indicating that it is no longer registered. Unfortunately, one of those values that is 'blanked' is the device's port. If the column type for the port is not a string datatype (the recommended type is integer), an ODBC or database error will be thrown. MariaDB does not coerce empty strings to a valid integer value. This patch updates the query run from chan_sip such that it replaces the port value with a value of '0', as opposed to a blank value. This is the value that other database backends coerce the empty string ("") to already, and the handling of reading a RealTime registration value from a backend already anticipates receiving a port of '0' from the backends. ASTERISK-24772 #close Reported by: Richard Miller patches: chan_sip.diff uploaded by Richard Miller (License 5685) 2015-02-11 16:46 +0000 [r431669] Kevin Harwell * res/res_http_websocket.c: res_http_websocket: websocket write timeout fails to fully disconnect When writing to a websocket if a timeout occurred the underlying socket did not get closed/disconnected. This patch makes sure the websocket gets disconnected on a write timeout. ASTERISK-24701 #close Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/4412/ 2015-02-11 15:38 +0000 [r431662] Corey Farrell * bridges/bridge_builtin_features.c, include/asterisk/module.h, main/loader.c: Enable REF_DEBUG for ast_module_ref / ast_module_unref. Add ast_module_shutdown_ref for use by modules that can only be unloaded during graceful shutdown. When REF_DEBUG is enabled: * Add an empty ao2 object to struct ast_module. * Allocate ao2 object when the module is loaded. * Perform an ao2_ref in each place where mod->usecount is manipulated. * ao2_cleanup on module unload. ASTERISK-24479 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4141/ 2015-02-09 02:44 +0000 [r431617-431620] Matthew Jordan * channels/sip/include/sip.h, channels/chan_sip.c: channels/chan_sip: Ensure that a BYE is sent during INVITE w/Replaces transfer Consider a scenario where Alice and Bob have an established dialog with each other external to Asterisk. Bob decides to perform an attended transfer of Alice to Asterisk. In this case, Alice will send an INVITE with Replaces to Asterisk, where the Replaces specifies Bob's dialog with Asterisk. In this particular scenario, Asterisk will complete the transfer, but - since Bob's channel has had Alice masqueraded into it and is now a Zombie - a BYE request will not be sent. This patch fixes that issue by adding a new flag to chan_sip that tracks whether or not we have an INVITE with Replaces. If we do, the flag is used on the sip_pvt to ensure that a BYE request is sent, even if the channel has been masqueraded away. Review: https://reviewboard.asterisk.org/r/4362/ ASTERISK-22436 #close Reported by: Eelco Brolman Tested by: Jeremiah Gowdy, Kristian Høgh patches: asterisk-11-hangup-replaced-3.diff uploaded by Jeremiah Gowdy (License 6358) * res/res_odbc.c: res/res_odbc: Remove unneeded queries when determining if a table exists This patch modifies the ast_odbc_find_table function such that it only performs a lookup of the requested table if the table is not already known. Prior to this patch, a queries would be executed against the database even if the table was already known and cached. Review: https://reviewboard.asterisk.org/r/4405/ ASTERISK-24742 #close Reported by: ibercom patches: patch.diff uploaded by ibercom (License 6599) 2015-02-06 21:26 +0000 [r431582] Scott Griepentrog * main/config.c: config hooks: correct ref leaks This small patch fixes a ref leak when adding a config hook and cleans up the container on shutdown. Review: https://reviewboard.asterisk.org/r/4407 2015-02-06 Asterisk Development Team * Asterisk 11.16.0 Released. 2015-01-30 Asterisk Development Team * Asterisk 11.16.0-rc1 Released. 2015-01-30 16:55 +0000 [r431423-431472] Mark Michelson * main/pbx.c: Backport memory leak fix in pbx.c from branch 13 revision 431468 * channels/chan_sip.c: Use SIPS URIs in Contact headers when appropriate. RFC 3261 sections 8.1.1.8 and 12.1.1 dictate specific scenarios when we are required to use SIPS URIs in Contact headers. Asterisk's non-compliance with this could actually cause calls to get dropped when communicating with clients that are strict about checking the Contact header. Both of the SIP stacks in Asterisk suffered from this issue. This changeset corrects the behavior in chan_sip. ASTERISK-24646 #close Reported by Stephan Eisvogel Review: https://reviewboard.asterisk.org/r/4346 2015-01-29 12:08 +0000 [r431384] Joshua Colp * res/res_rtp_asterisk.c: res_rtp_asterisk: Fix DTLS when used with OpenSSL 1.0.1k A recent security fix for OpenSSL broke DTLS negotiation for many applications. This was caused by read ahead not being enabled when it should be. While a commit has gone into OpenSSL to force read ahead on for DTLS it may take some time for a release to be made and the change to be present in distributions (if at all). As enabling read ahead is a simple one line change this commit does that and fixes the issue. ASTERISK-24711 #close Reported by: Jared Biel 2015-01-28 17:12 +0000 [r431297-431298] Mark Michelson * funcs/func_curl.c: Fix compilation error from previous patch. * funcs/func_curl.c: Mitigate possible HTTP injection attacks using CURL() function in Asterisk. CVE-2014-8150 disclosed a vulnerability in libcURL where HTTP request injection can be performed given properly-crafted URLs. Since Asterisk makes use of libcURL, and it is possible that users of Asterisk may get cURL URLs from user input or remote sources, we have made a patch to Asterisk to prevent such HTTP injection attacks from originating from Asterisk. ASTERISK-24676 #close Reported by Matt Jordan Review: https://reviewboard.asterisk.org/r/4364 AST-2015-002 2015-01-27 22:53 +0000 [r431187-431218] Kevin Harwell * main/tcptls.c: tcptls: Bad file descriptor error when reloading chan_sip While running through some scenarios using chan_sip and tcp a problem would occur that resulted in a flood of bad file descriptor messages on the cli: tcptls.c:712 ast_tcptls_server_root: Accept failed: Bad file descriptor The message is received because the underlying socket has been closed, so is valid. This is probably happening because unloading of chan_sip is not atomic. That however is outside the scope of this patch. This patch simply stops the logging of multiple occurrences of that message. ASTERISK-24728 #close Reported by: Thomas Thompson Review: https://reviewboard.asterisk.org/r/4380/ * channels/chan_sip.c: chan_sip: stale nonce causes failure When refreshing (with a small expiration) a registration that was sent to chan_sip the nonce would be considered stale and reject the registration. What was happening was that the initial registration's "dialog" still existed in the dialogs container and upon refresh the dialog match algorithm would choose that as the "dialog" instead of the newly created one. This occurred because the algorithm did not check to see if the from tag matched if authentication info was available after the 401. So, it ended up assuming the original "dialog" was a match and stopped the search. The old "dialog" of course had an old nonce, thus the stale nonce message. This fix attempts to leave the original functionality alone except in the case of a REGISTER. If a REGISTER is received if searches for an existing "dialog" matching only on the callid. If the expires value is low enough it will reuse dialog that is there, otherwise it will create a new one. ASTERISK-24715 #close Reported by: John Bigelow Review: https://reviewboard.asterisk.org/r/4367/ 2015-01-27 17:11 +0000 [r431135] Richard Mudgett * apps/confbridge/include/confbridge.h, apps/app_confbridge.c: app_confbridge: Repeatedly starting and stopping recording ref leaks the recording channel. Starting and stopping conference recording more than once causes the recording channels to be leaked. For v13 the channels also show up in the CLI "core show channels" output. * Reworked and simplified the recording channel code to use ast_bridge_impart() instead of managing the recording thread in the ConfBridge code. The recording channel's ref handling easily falls into place and other off nominal code paths get handled better as a result. ASTERISK-24719 #close Reported by: John Bigelow Review: https://reviewboard.asterisk.org/r/4368/ Review: https://reviewboard.asterisk.org/r/4369/ 2015-01-23 19:34 +0000 [r431049] Richard Mudgett * apps/app_confbridge.c: app_confbridge: Whitespace Because there is sometimes no sence to any whitespace. 2015-01-23 14:55 +0000 [r430993-430997] Walter Doekes * include/asterisk/channel.h: Typo's (missed a spot in r430996). * apps/app_minivm.c, contrib/utils/eagi_proxy.c, res/pjproject/pjsip/include/pjsip/sip_transport_tcp.h, res/pjproject/pjsip-apps/src/pjsua/pjsua_app.c, apps/app_voicemail.c, channels/chan_unistim.c, channels/chan_sip.c, channels/h323/ast_h323.cxx, res/res_fax.c, res/pjproject/pjlib-util/include/pjlib-util/http_client.h, apps/app_alarmreceiver.c, res/pjproject/pjlib/include/pj/activesock.h, include/asterisk/channel.h, funcs/func_hangupcause.c, res/pjproject/pjmedia/src/pjmedia/stream.c, res/pjproject/pjmedia/include/pjmedia/stream.h, funcs/func_groupcount.c, channels/chan_misdn.c, addons/ooh323c/src/ooh245.c, res/pjproject/pjnath/src/pjnath/stun_sock.c: Fix typo's (retrieve, specified, address). * channels/chan_sip.c: chan_sip: Case insensitive comparison of "defaultuser" parameter. All the other configuration options are case insensitive, so this one should be too. ASTERISK-24355 #close Reported by: HZMI8gkCvPpom0tM patches: ast.patch uploaded by HZMI8gkCvPpom0tM (License 6658) 2015-01-22 14:22 +0000 [r430920] Matthew Jordan * apps/app_voicemail.c: apps/app_voicemail: Trigger MWI notification with MixMonitor m() option The MixMonitor m() option allows a recording to be pushed to a specific voicemail mailbox. If the message is delivered to the mailbox's INBOX, however, no MWI notification is currently raised. This patch corrects the issue by properly calling notify_new_state from the msg_create_from_file function. This will cause MWI to be triggered if the message was placed in the mailbox's INBOX. ASTERISK-24709 #close Reported by: Gareth Palmer patches: app_voicemail-430919.patch uploaded by Gareth Palmer (License 5169) 2015-01-20 02:38 +0000 [r430795-430798] Matthew Jordan * contrib/scripts/install_prereq: contrib/scripts/install_prereq: Don't install 32-bit packages on 64-bit hosts On Debian based systems, the install_prereq tool uses a search command on Debian that results in selecting both 64-bit and 32-bit packages. Besides the waste of disk space, this can actually cause aptitude use 100% of memory on a VM with 1GB of RAM as it tried to work out all of the 32-bit package dependencies. This patch filters out the 32-bit packages on a 64-bit machine, and leaves 32-bit machines alone. ASTERISK-24048 #close Reported by: Ben Klang Tested by: Ben Klang, Matt Jordan patches: install_prereq_64-bit_compat.patch uploaded by Ben Klang (License 5876) * apps/app_voicemail.c: app_voicemail: Temp message left after review/hangup with ODBC/IMAP backend When using ODBC or IMAP storage, temporary files created on the file system must be disposed of using the DISPOSE macro. The DELETE macro will map to a deletion function for the backend storage, but does not clean up any local files created as a result of the operation. When using voicemail with the operator and review options enabled, pressing 0 to enter the menu, followed by 1 to save the message, followed by any other DTMF press to delete the message, will result in the temporary file lingering on the file system. This patch properly calls DISPOSE after the DELETE. This causes the local file to be disposed of. ASTERISK-24288 #close Reported by: LEI FU patches: voicemail_odbc_review_fix.diff uploaded by LEI FU (License 6640) 2015-01-14 15:34 +0000 [r430589] Matthew Jordan * build_tools/mkpkgconfig: build_tools/mkpkgconfig: Fix Cflags concatenation error in asterisk.pc The mkpkgconfig script incorrectly concatenates Cflags options together. As an example, the following: Cflags: -I/usr/include/libxml2 -g3 Is instead generated as: Cflags: -I/usr/include/libxml2-g3 This patch corrects the generation of Cflags in mkpkgconfig such that the Cflags options are output correctly. Review: https://reviewboard.asterisk.org/r/3707/ ASTERISK-23991 #close Reported by: Diederik de Groot patches: fix_mkpkgconfig.diff uploaded by Diederik de Groot (License 6600) 2015-01-13 18:06 +0000 [r430564] Richard Mudgett * apps/app_macro.c: app_macro: Don't restore the calling location on a channel redirect. v11: If a channel redirect to a macro exten of a macro that is active happens, the redirect location doesn't get executed. Instead the original macro location is restored and gets reexecuted. v13: An additional effect happens if a parked call times out to an extension in the macro that parked the call then the macro is reexecuted instead of the expected park return location. * Made not restore the macro calling location on an AST_SOFTHANGUP_ASYNCGOTO. * Increased the locked channel range when setting up the macro execution environment to cover things that should be done while the channel is locked. * Removed unnecessary NULL tests before calling ast_free() in _macro_exec(). ASTERISK-23850 #close Reported by: Andrew Nagy Review: https://reviewboard.asterisk.org/r/4292/ 2015-01-12 18:00 +0000 [r430487-430506] Matthew Jordan * include/asterisk/syslog.h, main/syslog.c: main/syslog: Allow dynamic logs, such as security events, to log to the syslog The security event log uses a dynamic log level (SECURITY) that is registered with the Asterisk logging core. Unfortunately, the syslog would ignore log statements that had a dynamic log level associated with them. Because the syslog cannot handle ad hoc dynamic log levels, this patch treats any dynamic log entries sent to the syslog as logs with a level of NOTICE. ASTERISK-20744 #close Reported by: Michael Keuter Tested by: Michael L. Young, Jacek Konieczny patches: asterisk-20744-syslog-dynamic-logging_trunk.diff uploaded by Michael L. Young (license 5026) * funcs/func_curl.c: funcs/func_curl: Fix memory leak when CURLOPT channel datastore is destroyed When the channel datastore associated with the usage of CURLOPT on a specific channel is freed, the underlying structure holding the list of options is not disposed of. This patch properly frees the structure in the datastore .destroy callback. ASTERISK-24672 #close Reported by: Kristian Hogh patches: func_curl-memory-leak.diff uploaded by Kristian Hogh (License 6639) 2015-01-09 14:40 +0000 [r430415] Kinsey Moore * include/asterisk/res_fax.h, CHANGES, res/res_fax.c, configs/res_fax.conf.sample: res_fax: Add T.38 negotiation timeout option This change makes the T.38 negotiation timeout configurable via 't38timeout' in res_fax.conf or FAXOPT(t38timeout). It was previously hard coded to be 5000 milliseconds. This change also handles T.38 switch failures by aborting the fax since in the case where this can happen, both sides have agreed to switch to T.38 and Asterisk is unable to do so. Review: https://reviewboard.asterisk.org/r/4320/ 2014-12-24 21:18 +0000 [r430126] Kevin Harwell * configs/queues.conf.sample: app_queue: Update sample conf documenation Updated the queues.conf.sample file to explicitly state which channel queue variables are propagated to. ASTERISK-24267 Reported by: Mitch Claborn 2014-12-22 19:38 +0000 [r430009] Richard Mudgett * main/asterisk.c, main/logger.c, include/asterisk/_private.h: queue_log: Post QUEUESTART entry when Asterisk fully boots. The QUEUESTART log entry has historically acted like a fully booted event for the queue_log file. When the QUEUESTART entry was posted to the log was broken by the change made by ASTERISK-15863. * Made post the QUEUESTART queue_log entry when Asterisk fully boots. This restores the intent of that log entry and happens after realtime has had a chance to load. AST-1444 #close Reported by: Denis Martinez Review: https://reviewboard.asterisk.org/r/4282/ 2014-12-22 15:39 +0000 [r429982] Matthew Jordan * channels/chan_sip.c: chan_sip: Send CANCEL via original INVITE destination even after UPDATE request Given the following scenario: * Three SIP phones (A, B, C), all communicating via a proxy with Asterisk * A call is established between A and B. B performs a SIP attended transfer of A to C. B sets the call on hold (A is hearing MOH) and dials the extension of C. While phone C is ringing, B transfers the call (that is, what we typically call a 'blond transfer'). * When the transfer completes, A hears the ringing of phone C, while B is idle. In the SIP messaging for the above scenario, a REFER request is sent to transfer the call. When "sendrpid=yes" is set in sip.conf, Asterisk may send an UPDATE request to phone C to update party information. This update is sent directly to phone C, not through the intervening proxy. This has the unfortunate side effect of providing route information, which is then set on the sip_pvt structure for C. If someone (e.g. B) is trying to get the call back (through a directed pickup), Asterisk will send a CANCEL request to C. However, since we have now updated the route set, the CANCEL request will be sent directly to C and not through the proxy. The phone ignores this CANCEL according to RFC3261 (Section 9.1). This patch updates reqprep such that the route is not updated if an UPDATE request is being sent while the INVITE state is INV_PROCEEDING or INV_EARLY_MEDIA. This ensures that a subsequent CANCEL request is still sent to the correct location. Review: https://reviewboard.asterisk.org/r/4279 ASTERISK-24628 #close Reported by: Karsten Wemheuer patches: issue.patch uploaded by Karsten Wemheuer (License 5930) 2014-12-20 20:56 +0000 [r429893] Joshua Colp * main/named_acl.c: acl: Fix reloading of configuration if configuration file does not exist at startup. The named ACL code incorrectly destroyed the config options information if loading of the configuration file failed at startup. This would result in reloading also failing even if a valid configuration file was put in place. ASTERISK-23733 #close Reported by: Richard Kenner 2014-12-19 20:51 +0000 [r429783-429867] Richard Mudgett * res/res_http_websocket.c: res_http_websocket.c: Fix incorrect use of sizeof in ast_websocket_write(). This won't fix the reported issue but it is an incorrect use of sizeof. ASTERISK-24566 Reported by: Badalian Vyacheslav * channels/chan_dahdi.c: chan_dahdi: Don't ignore setvar when using configuration section scheme. When the configuration section scheme of chan_dahdi.conf is used (keyword dahdichan instead of channel) all setvar= options are completely ignored. No variable defined this way appears in the created DAHDI channels. * Move the clearing of setvar values to after the deferred processing of dahdichan. AST-1378 #close Reported by: Guenther Kelleter Patch by: Guenther Kelleter * res/res_rtp_asterisk.c, channels/chan_dahdi.c: chan_dahdi.c, res_rtp_asterisk.c: Change some spammy debug messages to level 5. ASTERISK-24337 #close Reported by: Rusty Newton * channels/sig_analog.c, UPGRADE.txt: chan_dahdi: Populate CALLERID(ani2) for incoming calls in featdmf signaling mode. For the featdmf signaling mode the incoming MF Caller-ID information is formatted as follows: *${CALLERID(ani2)}${CALLERID(ani)}#*${EXTEN}# Rather than discarding the ani2 digits, populate the CALLERID(ani2) value with what is received instead. AST-1368 #close Reported by: Denis Martinez Patches: extract_ani2_for_featdmf_v11.patch (license #5621) patch uploaded by Richard Mudgett 2014-12-17 09:24 +0000 [r429673] Walter Doekes * main/netsock.c, main/loader.c, channels/chan_misdn.c, main/manager.c, apps/app_osplookup.c, res/pjproject/pjlib/src/pj/ssl_sock_dump.c, res/pjproject/pjnath/src/pjnath-test/stun.c, res/pjproject/pjnath/src/pjnath/turn_sock.c, channels/misdn/ie.c, channels/chan_h323.c, apps/app_sms.c, addons/ooh323c/src/printHandler.c, apps/app_adsiprog.c, res/res_rtp_asterisk.c, res/pjproject/pjnath/src/pjnath/stun_msg_dump.c, main/udptl.c, channels/chan_unistim.c, res/pjproject/pjlib-util/src/pjlib-util-test/encryption.c, channels/chan_sip.c, channels/vcodecs.c, res/res_crypto.c, utils/astman.c, utils/smsq.c, main/utils.c, pbx/dundi-parser.c, apps/app_getcpeid.c, res/pjproject/pjnath/src/pjnath/stun_msg.c, channels/chan_iax2.c, channels/sig_pri.c, res/res_pktccops.c, channels/iax2-parser.c: Fix printf problems with high ascii characters after r413586 (1.8). In r413586 (1.8) various casts were added to silence gcc 4.10 warnings. Those fixes included things like: -out += sprintf(out, "%%%02X", (unsigned char) *ptr); +out += sprintf(out, "%%%02X", (unsigned) *ptr); That works for low ascii characters, but for the high range that yields e.g. FFFFFFC3 when C3 is expected. This changeset: - fixes those casts to use the 'hh' unsigned char modifier instead - consistently uses %02x instead of %2.2x (or other non-standard usage) - adds a few 'h' modifiers in various places - fixes a 'replcaes' typo - dev/urandon typo (in 13+ patch) Review: https://reviewboard.asterisk.org/r/4263/ ASTERISK-24619 #close Reported by: Stefan27 (on IRC) 2014-12-16 16:35 +0000 [r429632] Joshua Colp * channels/chan_sip.c: chan_sip: Allow T.38 switch-over when SRTP is in use. Previously when SRTP was enabled on a channel it was not possible to switch to T.38 as no crypto attributes would be present. This change makes it so it is now possible. If a T.38 re-invite comes in SRTP is terminated since in practice you can't encrypt a UDPTL stream. Now... if we were doing T.38 over RTP (which does exist) then we'd have a chance but almost nobody does that so here we are. ASTERISK-24449 #close Reported by: Andreas Steinmetz patches: udptl-ignore-srtp-v2.patch submitted by Andreas Steinmetz (license 6523) 2014-12-12 23:31 +0000 [r429539] Richard Mudgett * main/lock.c, include/asterisk/lock.h: DEBUG_THREADS: Fix regression and lock tracking initialization problems. This patch started with David Lee's patch at https://reviewboard.asterisk.org/r/2826/ and includes a regression fix introduced by the ASTERISK-22455 patch. The initialization of a mutex's lock tracking structure was not protected in a critical section. This is fine for any mutex that is explicitly initialized, but a static mutex may have its lock tracking double initialized if multiple threads attempt the first lock simultaneously. * Added a global mutex to properly serialize initialization of the lock tracking structure. The painful global lock can be mitigated by adding a double checked lock flag as discussed on the original review request. * Defer lock tracking initialization until first use. * Don't be "helpful" and initialize an uninitialized lock when DEBUG_THREADS is enabled. Debug code is not supposed to fix or change normal code behavior. We don't need a lock initialization race that would force a re-setup of lock tracking. Lock tracking already handles initialization on first use. * Properly handle allocation failures of the lock tracking structure. * No need to initialize tracking data in __ast_pthread_mutex_destroy() just to turn around and destroy it. The regression introduced by ASTERISK-22455 is the result of manipulating a pthread_mutex_t struct outside of the pthread library code. The pthread_mutex_t struct seems to have a global linked list pointer member that can get changed by other threads. Therefore, saving and restoring the contents of a pthread_mutex_t struct is a bad thing. Thanks to Thomas Airmont for finding this obscure regression. * Don't overwrite the struct ast_lock_track.reentr_mutex member to restore tracking data in __ast_cond_wait() and __ast_cond_timedwait(). The pthread_mutex_t struct must be treated as a read-only opaque variable. Miscellaneous other items fixed by this patch: * Match ast_suspend_lock_info() with ast_restore_lock_info() in __ast_cond_timedwait(). * Made some uninitialized lock sanity checks return EINVAL and try a DO_THREAD_CRASH. * Fix bad canlog initialization expressions. ASTERISK-24614 #close Reported by: Thomas Airmont Review: https://reviewboard.asterisk.org/r/4247/ Review: https://reviewboard.asterisk.org/r/2826/ 2014-12-12 22:42 +0000 [r429517] Matthew Jordan * res/res_agi.c: res/res_agi: Make Verbose message for 'stream file' match other playbacks The Verbose message displayed when a file is played back via 'stream file' was formatted differently than other playbacks: * It didn't include the channel name * It didn't include the channel language It does, however, include the playback offset as well as any escape digits. That information was kept; however, this patch updates the formatting to more closely match the Verbose messages displayed when a file is played back by 'control stream file', Playback, ControlPlayback, or any other file playback operation. 2014-12-10 13:30 +0000 [r429270] Joshua Colp * channels/chan_sip.c, res/res_http_websocket.c: res_http_websocket: Fix crash due to double freeing memory when receiving a payload length of zero. Frames with a payload length of 0 were incorrectly handled in res_http_websocket. Provided a frame with a payload had been received prior it was possible for a double free to occur. The realloc operation would succeed (thus freeing the payload) but be treated as an error. When the session was then torn down the payload would be freed again causing a crash. The read function now takes this into account. This change also fixes assumptions made by users of res_http_websocket. There is no guarantee that a frame received from it will be NULL terminated. ASTERISK-24472 #close Reported by: Badalian Vyacheslav Review: https://reviewboard.asterisk.org/r/4220/ Review: https://reviewboard.asterisk.org/r/4219/ 2014-12-15 Asterisk Development Team * Asterisk 11.15.0 Released. 2014-12-10 Asterisk Development Team * Asterisk 11.15.0-rc2 Released. * AST-2014-019: Fix crash when receiving a WebSocket packet with a payload length of zero. Frames with a payload length of 0 were incorrectly handled in res_http_websocket. Provided a frame with a payload had been received prior it was possible for a double free to occur. The realloc operation would succeed (thus freeing the payload) but be treated as an error. When the session was then torn down the payload would be freed again causing a crash. The read function now takes this into account. This change also fixes assumptions made by users of res_http_websocket. There is no guarantee that a frame received from it will be NULL terminated. ASTERISK-24472 #close Reported by: Badalian Vyacheslav 2014-12-08 Asterisk Development Team * Asterisk 11.15.0-rc1 Released. 2014-12-06 18:15 +0000 [r429027-429031] Matthew Jordan * res/res_monitor.c: res/res_monitor: Reset in/out sample counts on Monitor start When repeatedly starting/stopping a Monitor on a channel, the accumulated in/out sample counts are never reset to 0. This can cause inadvertent jumps in the recordings, as the code in the channel core will determine incorrectly that a jump in the recorded file position should occur. Setting the sample counts to 0 simply reflects the initial state a Monitor should be in when it is started, as this is the initial count that would be on the channels at that time. ASTERISK-24573 #close Reported by: Nuno Borges patches: 24573.patch uploaded by Nuno Borges (License 6116) * apps/app_meetme.c: apps/app_meetme: Apply default values on initial load with no config file When the app_meetme module is loaded without its configuration file, the module settings aren't initialized. In particular, this impacts the use of logging realtime members. This patch guarantees that we always set the default module settings on initial load. Review: https://reviewboard.asterisk.org/r/4242/ ASTERISK-24572 #close Reported by: Nuno Borges patches: 24572.patch uploaded by Nuno Borges (License 6116) 2014-12-03 16:43 +0000 [r428787-428863] Matthew Jordan * apps/app_voicemail.c: apps/app_voicemail: Fix crash with IMAP when streams are opened simultaneously The UW IMAP library is instrinsically not thread-safe, and relies upon higher level applications to guarantee thread safety. For the most part, this is provided by the vms object, which provides locking for individual streams. Unfortunately, this is not sufficient for calls to mail_open which create the IMAP stream. mail_open can, on some systems, call into a UW IMAP specific function for determining the address of a system based on a hostname, ip_nametoaddr. In the ip6_unix implementation of this function, static variables are used to hold parsing buffers. This can cause a crash if multiple threads attempt to convert a hostname to an address at the same time. Locking on a single mail stream is not sufficient to prevent simultaneous access to these static variables. In the IMAP library, this function can be called from the mail_open and imap_status functions. As the imap_status function is not used by app_voicemail, locking on access to mail_open is sufficient to prevent any mangling of the buffers. Review: https://reviewboard.asterisk.org/r/4188/ ASTERISK-24516 #close Reported by: David Duncan Ross Palmer Tested by: David Duncan Ross Palmer patches: ASTERISK-24516.diff uploaded by David Duncan Ross Palmer (License 6660) * pbx/pbx_loopback.c: pbx/pbx_loopback: Speed up switches by avoiding unneeded lookups This patch makes a small rearrangement to only do dialplan lookups during loopback switches if the pattern matches. Prior to this patch, the dialplan lookups were always performed, even when the result would be discarded. Dialplan lookups can be very costly if remote switches - like DUNDi - are present. In those cases extension matching is sped up considerably, making the issue of lost digits more manageable. As collateral damage, 6 trailing spaces were killed. Review: https://reviewboard.asterisk.org/r/4211 ASTERISK-24577 #close Reported by: Birger Harzenetter patches: ast-loopback.patch uploaded by Birger Harzenetter (License 5870) 2014-12-01 13:39 +0000 [r428653] Joshua Colp * apps/app_record.c: app_record: Fix bug where using the 'k' option and hanging up would trim 1/4 of a second of the recording. The Record dialplan function trims 1/4 of a second from the end of recordings in case they are terminated because of DTMF. When hanging up, however, you don't want this to happen. This change makes it so on hangup this does not occur. ASTERISK-24530 #close Reported by: Ben Smithurst patches: app_record_v2.diff submitted by Ben Smithurst (license 6529) Review: https://reviewboard.asterisk.org/r/4201/ 2014-11-21 18:47 +0000 [r428570] Richard Mudgett * main/manager.c: manager: Fix could not extend string messages. When shutting down Asterisk that has an active AMI connection, you get several "failed to extend from %d to %d" messages because use of the EVENT_FLAG_SHUTDOWN attempts to add all AMI permission strings to the event. * Created MAX_AUTH_PERM_STRING to use when creating stack based struct ast_str variables used with the authority_to_str() and user_authority_to_str() functions instead of a variety of magic numbers that could be too small. * Added a special check for EVENT_FLAG_SHUTDOWN to authority_to_str() so it will not attempt to add all permission level strings. Review: https://reviewboard.asterisk.org/r/4200/ 2014-11-20 16:35 +0000 [r428417] Mark Michelson * /, main/acl.c: Fix error with mixed address family ACLs. Prior to this commit, the address family of the first item in an ACL was used to compare all incoming traffic. This could lead to traffic of other IP address families bypassing ACLs. ASTERISK-24469 #close Reported by Matt Jordan Patches: ASTERISK-24469-11.diff uploaded by Matt Jordan (License #6283) AST-2014-012 ........ Merged revisions 428402 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-11-20 16:22 +0000 [r428332-428363] Kevin Harwell * funcs/func_db.c, /: AST-2014-018 - func_db: DB Dialplan function permission escalation via AMI. The DB dialplan function when executed from an external protocol (for instance AMI), could result in a privilege escalation. Asterisk now inhibits the DB function from being executed from an external interface if the live_dangerously option is set to no. ASTERISK-24534 Reported by: Gareth Palmer patches: submitted by Gareth Palmer (license 5169) ........ Merged revisions 428331 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * apps/app_confbridge.c: AST-2014-017 - app_confbridge: permission escalation/ class authorization. Confbridge dialplan function permission escalation via AMI and inappropriate class authorization on the ConfbridgeStartRecord action. The CONFBRIDGE dialplan function when executed from an external protocol (for instance AMI), could result in a privilege escalation. Also, the AMI action “ConfbridgeStartRecord” could also be used to execute arbitrary system commands without first checking for system access. Asterisk now inhibits the CONFBRIDGE function from being executed from an external interface if the live_dangerously option is set to no. Also, the “ConfbridgeStartRecord” AMI action is now only allowed to execute under a user with system level access. ASTERISK-24490 Reported by: Gareth Palmer 2014-11-20 14:20 +0000 [r428299] Joshua Colp * main/bridging.c: AST-2014-014: Fix race condition where channels may get stuck in ConfBridge under load. Under load it was possible for the bridging API, and thus ConfBridge, to get channels that may have hung up stuck in it. This is because handling of state transitions for a bridged channel within a bridge was not protected and simply set the new state without regard to the existing state. If the existing state had been hung up this would get overwritten. This change adds locking to protect changing of the state and also takes into consideration the existing state. ASTERISK-24440 #close Reported by: Ben Klang Review: https://reviewboard.asterisk.org/r/4173/ 2014-11-19 16:38 +0000 [r428244] Richard Mudgett * res/res_calendar.c, channels/chan_sip.c, channels/sip/security_events.c: ast_str: Fix improper member access to struct ast_str members. Accessing members of struct ast_str outside of the string manipulation API routines is invalid since struct ast_str is supposed to be treated as opaque. Review: https://reviewboard.asterisk.org/r/4194/ 2014-11-17 15:56 +0000 [r428117] Corey Farrell * channels/chan_sip.c: chan_sip: Fix theoretical leak of p->refer. If transmit_refer is called when p->refer is already allocated, it leaks the previous allocation. Updated code to always free previous allocation during a new allocation. Also instead of checking if we have a previous allocation, always create a clean record. ASTERISK-15242 #close Reported by: David Woolley Review: https://reviewboard.asterisk.org/r/4160/ 2014-11-17 15:26 +0000 [r428077-428113] Matthew Jordan * apps/confbridge/conf_state_multi_marked.c: apps/app_confbridge: Ensure 'normal' users hear message when last marked leaves When r428077 was made for ASTERISK-24522, it failed to take into account users who are neither wait_marked nor end_marked. These users are *also* supposed to hear the 'leader has left the conference' message. Granted, this behaviour is a bit odd; however, that is how it used to work... and behaviour changes are not good. This patch ensures that if there are any 'normal' users present when the last marked user leaves the conference, the message will still be played to them. Note that this regression was caught by the Asterisk Test Suite's confbridge_nominal test, which has a quirky combination of users. * apps/confbridge/conf_state_multi_marked.c: app_confbridge: Don't play leader leaving prompt if no one will hear it Consider the following: - A marked user in a conference - One or more end_marked only users in the conference When the marked users leaves, we will be in the conf_state_multi_marked state. This currently will traverse the users, kicking out any who have the end_marked flags. When they are kicked, a full ast_bridge_remove is immediately called on the channels. At this time, we also unilaterally set the need_prompt flag. When the need_prompt flag is set, we then playback a sound to the bridge informing everyone that the leader has left; however, no one is left in the bridge. This causes some odd behaviour for the end_marked users - they are stuck waiting for the bridge to be unlocked. This results in them waiting for 5 or 6 seconds of dead air before hearing that they've been kicked. Unfortunately, we do have to keep the bridge locked while we're playing back the 'leader-has-left' prompt. If there are any wait_marked users in the conference, this behaviour can't be easily changed - but we do make the case of the end_marked users better with this patch. Review: https://reviewboard.asterisk.org/r/4184/ ASTERISK-24522 #close Reported by: Matt Jordan 2014-11-15 16:51 +0000 [r427952] Matthew Jordan * cel/cel_odbc.c: cel/cel_odbc: Provide microsecond precision in 'eventtime' column when possible This patch adds microsecond precision when inserting a CEL record into a table with an "eventtime" column of type timestamp, instead of second precision. The documentation (configs/cel_odbc.conf.sample) was already saying that the eventtime column included microseconds precision, but that was not the case. Also, without this patch, if you had a table with an "eventtime" column of type varchar, you had millisecond precision. With this patch, you also get microsecond precision in this case. Review: https://reviewboard.asterisk.org/r/3980 ASTERISK-24283 #close Reported by: Etienne Lessard patches: cel_odbc_time_precision.patch uploaded by Etienne Lessard (License 6394) 2014-11-14 15:46 +0000 [r427874] Scott Griepentrog * main/stun.c: stun: correct attribute string padding to match rfc When sending the USERNAME attribute in an RTP STUN response, the implementation in append_attr_string passed the actual length, instead of padding it up to a multiple of four bytes as required by the RFC 3489. This change adds separate variables for the string and padded attributed lengths, and performs padding correctly. Reported by: Thomas Arimont Review: https://reviewboard.asterisk.org/r/4139/ 2014-11-14 14:54 +0000 [r427844] Joshua Colp * apps/confbridge/conf_state_multi_marked.c: app_confbridge: Play "leader has left" sound even when musiconhold is enabled. Currently if the leader of a conference bridge leaves any participant that has musiconhold enabled will not hear the "leader has left" sound. This is because musiconhold is started and THEN the sound is played. This change makes it so that the sound is played and THEN musiconhold is started. This provides a better experience for users as they may not have known previously why they went back to musiconhold. Review: https://reviewboard.asterisk.org/r/4177/ 2014-11-12 16:10 +0000 [r427709] Joshua Colp * main/pbx.c: pbx: Fix off-nominal case where a freed extension may still be used. If during the operation of adding an extension a priority is added but fails it is possible for the extension to be freed but still exist in the PBX core. If this occurs subsequent lookups may try to access the extension and end up in freed memory. This change removes the extension from the PBX core when the priority addition fails and then frees the extension. ASTERISK-24444 #close Reported by: Leandro Dardini Review: https://reviewboard.asterisk.org/r/4162/ 2014-11-12 13:44 +0000 [r427682] Corey Farrell * codecs/ilbc, tests, codecs/speex, apps/confbridge, Makefile.rules: Fix compiler error when using ./configure --enable-dev-mode --enable-coverage When DONT_OPTIMIZE is enabled with dev-mode, it causes a shadow compilation to be done with output to /dev/null. This can cause errors with coverage when GCC attempts to write to /dev/null.gcno. This change disables coverage for the shadow compilation. ASTERISK-24502 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4151/ 2014-11-09 07:56 +0000 [r427641] Corey Farrell * main/manager.c: manager: Fix HTTP connection reference leaks. Fix reference leak that happens if (session && !blastaway). ASTERISK-24505 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4153/ 2014-11-09 00:59 +0000 [r427607-427617] Matthew Jordan * configs/features.conf.sample: configs/features.conf: Add documentation noting potential chan_agent conflict In chan_agent, a '*' is used by default to terminate a bridge with a caller. This can lead to all sorts of problems if '*' is used by a feature in features.conf, as the chan_agent disconnect '*' may be detected first. This patch adds a documentation snippet to features.conf so that users who attempt to use features with agents know of the potential conflict. ASTERISK-20402 #close Reported by: Matt Riddell patches: features.conf.diff uploaded by Matt Riddell (License 5023) * channels/chan_mgcp.c: channels/chan_mgcp: Fix regression which causes gateways to be skipped In r227276, a while loop was turned into a for loop. Unfortunately, a portion of the while loop was left in the code such that, when a static gateway is encountered in the list of MGCP gateways, the next gateway would be skipped. At best, we would simply flip past a gateway; at worst, this could lead to a crash. ASTERISK-24500 #close Reported by: Xavier Hienne patches: chan_mgcp.patch uploaded by Xavier Hienne (License 6657) * addons/chan_mobile.c: addons/chan_mobile: Increase buffer size of UCS2 encoded SMS messages When UCS2 character encoding is used, one symbol in national language can be expanded to 4 bytes. The current buffer used for receiving message in do_monitor_phone is 256 bytes, which is not large enough for incoming messages. For example: * AT+CMGR phone response prefix '+CMGR: "REC UNREAD","+7**********",,"14/10/29,13:31:39+12"\r\n' - 60 bytes * SMS body with UCS2 encoding (max) - 280 bytes * AT+CMGR phone response suffix '\r\n\r\nOK\r\n' - 8 bytes * Terminating null character - 1 byte This results in a needed buffer size of 349 bytes. Hence, this patch opts for a 350 byte buffer. ASTERISK-24468 #close Reported by: Dmitriy Bubnov patches: chan_mobile-1_8.diff uploaded by Dmitriy Bubnov (License 6651) chan_mobile-trunk.diff uploaded by Dmitry Bubnov (License 6651) 2014-11-08 17:28 +0000 [r427554] Corey Farrell * channels/chan_console.c: chan_console: Fix reference leaks to pvt. Fix a bunch of calls to get_active_pvt where the reference is never released. ASTERISK-24504 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4152/ 2014-11-06 12:10 +0000 [r427381-427464] Corey Farrell * main/file.c: main/file.c: fix possible extra ast_module_unref to format modules. fn_wrapper only adds a reference to the format's module if the file was able to be opened. If not this causes an unmatched ast_module_unref in filestream_destructor. Move ast_module_ref to get_stream. ASTERISK-24492 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4149/ * include/asterisk/stringfields.h, /, main/utils.c: Fix unintential memory retention in stringfields. * Fix missing / unreachable calls to __ast_string_field_release_active. * Reset pool->used to zero when the current pool->active reaches zero. ASTERISK-24307 #close Reported by: Etienne Lessard Tested by: ibercom, Etienne Lessard Review: https://reviewboard.asterisk.org/r/4114/ ........ Merged revisions 427380 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-11-06 02:26 +0000 [r427328-427354] George Joseph * tests/test_strings.c: test_strings: Remove string tests that exercise asserts. Since unit tests are run with DO_CRASH, those tests were causing the test to fail. Tested-by: George Joseph * main/config.c, tests/test_strings.c, include/asterisk/test.h, include/asterisk/utils.h, main/utils.c, pbx/pbx_config.c: config: Make text_file_save and 'dialplan save' escape semicolons in values. When a config file is read, an unescaped semicolon signals comments which are stripped from the value before it's stored. Escaped semicolons are then unescaped and become part of the value. Both of these behaviors are normal and expected. When the config is serialized either by 'dialplan save' or AMI/UpdateConfig however, the now unescaped semicolons are written as-is. If you actually reload the file just saved, the unescaped semicolons are now treated as start of comments. Since true comments are stripped on read, any semicolons in ast_variable.value must have been escaped originally. This patch re-escapes semicolons in ast_variable.values before they're written to file either by 'dialplan save' or config/ast_config_text_file_save which is called by AMI/UpdateConfig. I also fixed a few pre-existing formatting issues nearby in pbx_config.c Tested-by: George Joseph ASTERISK-20127 #close Review: https://reviewboard.asterisk.org/r/4132/ 2014-11-10 Asterisk Development Team * Asterisk 11.14.0 Released. 2014-11-07 Asterisk Development Team * Asterisk 11.14.0-rc2 Released. 2014-11-06 09:05 +0000 [r427381] Corey Farrell * Fix unintential memory retention in stringfields. * Fix missing / unreachable calls to __ast_string_field_release_active. * Reset pool->used to zero when the current pool->active reaches zero. ASTERISK-24307 #close Reported by: Etienne Lessard Tested by: ibercom, Etienne Lessard Review: https://reviewboard.asterisk.org/r/4114/ 2014-11-03 Asterisk Development Team * Asterisk 11.14.0-rc1 Released. 2014-11-03 02:31 +0000 [r427019-427087] Corey Farrell * apps/app_voicemail.c: Fix compile error caused by review 4138 There is no procedure called ast_closeframe, fix code to use ast_closestream. Reported By: Matt Jordan * apps/app_voicemail.c, /, main/app.c: Fix ast_writestream leaks Fix cleanup in __ast_play_and_record where others[x] may be leaked. This was caught where prepend != NULL && outmsg != NULL, once realfile[x] == NULL any further others[x] would be leaked. A cleanup block was also added for prepend != NULL && outmsg == NULL. 11+: Fix leak of ast_writestream recording_fs in app_voicemail:leave_voicemail. ASTERISK-24476 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4138/ ........ Merged revisions 427023 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * funcs/func_jitterbuffer.c, main/abstract_jb.c: func_jitterbuffer: fix frame leaks. Fix code paths where it is possible for frames to leak. Fix uninitialized variable in jb_get_fixed and jb_get_adaptive. ASTERISK-22409 #related Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4128/ 2014-10-31 16:40 +0000 [r426927-426931] Tzafrir Cohen * Makefile, /: Fix syntax from commit r426927 * Makefile, /: install init.d files on GNU/kFreeBSD Review: https://reviewboard.asterisk.org/r/4118/ ........ Merged revisions 426926 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-10-31 03:25 +0000 [r426860] Matthew Jordan * channels/sip/include/reqresp_parser.h, /, channels/sip/reqresp_parser.c: channels/sip/reqresp_parser: Fix unit tests for r426594 When r426594 was made, it did not take into account a unit test that verified that the function properly populated the unsupported buffer. The function would previously memset the buffer if it detected it had any contents; since this function can now be called iteratively on successive headers, the unit tests would now fail. This patch updates the unit tests to reset the buffer themselves between successive calls, and updates the documentation of the function to note that this is now required. ........ Merged revisions 426858 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-10-31 03:05 +0000 [r426805-426831] Corey Farrell * /, contrib/Makefile (added), Makefile: REF_DEBUG: Install refcounter.py to $(ASTDATADIR)/scripts This change ensures refcounter.py is installed to a place where it can be found by the Asterisk testsuite if REF_DEBUG is enabled. ASTERISK-24432 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4094/ ........ Merged revisions 426830 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * apps/app_queue.c: app_queue: fix a couple leaks to struct call_queue in set_member_value set_member_value has a couple leaks to references in the variable q found through testsuite tests/queues/set_penalty. Also remove the REF_DEBUG_ONLY_QUEUES compiler declaration, this is no longer possible with the updated REF_DEBUG code. ASTERISK-24466 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4125/ 2014-10-30 09:16 +0000 [r426692] Walter Doekes * /, apps/app_voicemail.c: app_voicemail: Fix unchecked bounds of myArray in IMAP_STORAGE. In update_messages_by_imapuser(), messages were appended to a finite array which resulted in a crash when an IMAP mailbox contained more than 256 entries. This memory is now dynamically increased as needed. Observe that this patch adds a bunch of XXX's to questionable code. See the review (url below) for more information. ASTERISK-24190 #close Reported by: Nick Adams Tested by: Nick Adams Review: https://reviewboard.asterisk.org/r/4126/ ........ Merged revisions 426691 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-10-30 05:56 +0000 [r426666] Igor Goncharovskiy * channels/chan_unistim.c: Add additional checks for NULL pointers to fix several crashes reported. ASTERISK-24304 #close Reported by: dhanapathy sathya 2014-10-30 01:58 +0000 [r426595-426600] Matthew Jordan * /, channels/chan_sip.c: channels/chan_sip: Add improved support for 4xx error codes This patch adds support for 414, 493, 479, and a stray 400 response in REGISTER response handling. This helps interoperability in a number of scenarios. Review: https://reviewboard.asterisk.org/r/3437 patches: rb3437.patch uploaded by oej (License 5267) ........ Merged revisions 426599 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * /, channels/chan_sip.c, channels/sip/reqresp_parser.c: channels/chan_sip: Support mutltiple Supported and Required headers A SIP request may contain multiple Supported: and Required: headers. Currently, chan_sip only parses the first Supported/Required header it finds. This patch adds support for multiple Supported/Required headers for INVITE requests. Review: https://reviewboard.asterisk.org/r/2478 ASTERISK-21721 #close Reported by: Olle Johansson patches: rb2478.patch uploaded by oej (License 5267) ........ Merged revisions 426594 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-10-28 20:50 +0000 [r426527] Corey Farrell * res/res_fax.c: res_fax: Resolve T38 gateway frame leak. When frames are translated by a fax gateway they need to be freed. The existing call to ast_frfree was unreachable. This change reorganizes fax_gateway_framehook to ensure that ast_frfree is called when needed. ASTERISK-24457 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4115/ 2014-10-28 18:08 +0000 [r426456] mdavenport : * configs/manager.conf.sample: ASTERISK-23512, correct inaccurate comment in manager.conf.sample 2014-10-28 14:57 +0000 [r426366] Matthew Jordan * main/manager.c: main/manager: Fix typo in AMI event documentation of "OriginateResponse" The parameter name is "Response", not "Resonse". ASTERISK-24430 #close Reported by: Dafi Ni 2014-10-28 14:55 +0000 [r426291-426359] mdavenport : * res/res_agi.c: ASTERISK-24323, fix bug in documentation of AGI STREAM FILE CONTROL * configs/extensions.conf.sample: ASTERISK-24419, fix incorrect syntax for setting language in extensions.conf.sample 2014-10-28 11:17 +0000 [r426255] Corey Farrell * apps/app_queue.c: app_queue: Cleanup ao2_iterator Clean ao2_iterator, resolving reference leak to queue members. ASTERISK-24454 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4111/ 2014-10-27 02:45 +0000 [r426141-426209] Matthew Jordan * res/res_http_websocket.c: res/res_http_websocket: Fix minor nits found by wdoekes on r409681 When Moises committed the fixes for WSS (which was a great patch), wdoekes had a few style nits that were on the review that got missed. This patch resolves what I *think* were all of the ones that were still on the review. Thanks to both moy for the patch, and wdoekes for the reviews. Review: https://reviewboard.asterisk.org/r/3248/ * res/res_srtp.c, /: res/res_srtp: Fix include issue for libsrtp 1.5.0 In libsrtp 1.5.0, crypto_get_random is no longer resolved simply by including srtp.h. Now, one must include crypto_kernel.h as well. As it turns out, this header file has been provided by the library since 2006, so this is a relatively benign change. ASTERISK-24436 #close Reported by: Patrick Laimbock ........ Merged revisions 426140 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-10-20 14:10 +0000 [r425986] Matthew Jordan * UPGRADE.txt, res/res_xmpp.c, res/res_jabber.c, main/tcptls.c: AST-2014-011: Fix POODLE security issues There are two aspects to the vulnerability: (1) res_jabber/res_xmpp use SSLv3 only. This patch updates the module to use TLSv1+. At this time, it does not refactor res_jabber/res_xmpp to use the TCP/TLS core, which should be done as an improvement at a latter date. (2) The TCP/TLS core, when tlsclientmethod/sslclientmethod is left unspecified, will default to the OpenSSL SSLv23_method. This method allows for all encryption methods, including SSLv2/SSLv3. A MITM can exploit this by forcing a fallback to SSLv3, which leaves the server vulnerable to POODLE. This patch adds WARNINGS if a user uses SSLv2/SSLv3 in their configuration, and explicitly disables SSLv2/SSLv3 if using SSLv23_method. For TLS clients, Asterisk will default to TLSv1+ and WARN if SSLv2 or SSLv3 is explicitly chosen. For TLS servers, Asterisk will no longer support SSLv2 or SSLv3. Much thanks to abelbeck for reporting the vulnerability and providing a patch for the res_jabber/res_xmpp modules. Review: https://reviewboard.asterisk.org/r/4096/ ASTERISK-24425 #close Reported by: abelbeck Tested by: abelbeck, opsmonitor, gtjoseph patches: asterisk-1.8-jabber-tls.patch uploaded by abelbeck (License 5903) asterisk-11-jabber-xmpp-tls.patch uploaded by abelbeck (License 5903) AST-2014-011-1.8.diff uploaded by mjordan (License 6283) AST-2014-011-11.diff uploaded by mjordan (License 6283) 2014-10-17 13:09 +0000 [r425819] Matthew Jordan * /, channels/chan_sip.c: channels/chan_sip: Respect outboundproxy setting when sending qualify requests The outboundproxy setting is currently ignored when sending OPTIONS requests as a result of the qualify setting. This means that if an Asterisk server is unable to send the packet directly to a peer, it is unable to qualify any non-inbound registered peer (e.g. a peer SIP Trunk). This patch grabs the outboundproxy information for a peer when a qualify attempt is being constructed and, if it finds the information, uses it when sending the OPTIONS request. Review: https://reviewboard.asterisk.org/r/3948 ASTERISK-24063 #close Reported by: Damian Ivereigh patches: outboundproxy-dai.patch uploaded by Damian Ivereigh (License 6632) ........ Merged revisions 425818 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-10-16 06:04 +0000 [r425667] Igor Goncharovskiy * channels/chan_unistim.c: Fix loss of voice after second call drops (on a second line) in case using multiple lines on unistim phones. There is regression was introduced in r391379. Reported by: Rustam Khankishyiev (closes issue ASTERISK-23846) 2014-10-16 01:24 +0000 [r425644] Joshua Colp * res/res_rtp_asterisk.c: res_rtp_asterisk: Fix a bug where ICE state would get reset when it shouldn't. In the case where the ICE negotiation had not yet started current state would get wiped when it shouldn't. This also removes channel binding as in practice this does not work well with other implementations. 2014-10-15 09:02 +0000 [r425548] Alexandr Anikin * addons/chan_ooh323.c, /: chan_ooh323: fix rtptimeout general value checking correct condition to check rtptimeout in [general] config section ASTERISK-24393 #close Reported by: Dmitry Melekhov Tested by: Dmitry Melekhov Patches: ASTERISK-24393.patch ........ Merged revisions 425547 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-10-14 16:44 +0000 [r425407-425457] Corey Farrell * res/res_fax.c: res_fax: Fix reference leak caused by gateway sessions Fax gateway session objects can be re-used, causing the same gateway session to be added to faxregistry.container more than once. This change causes fax_session_new to remove the reserved session from the container before it's id is changed, ensuring it's possible for the session to be freed. ASTERISK-24392 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4049/ * /, res/res_fax.c: res_fax: Resolve module reference leak caused by reserved sessions Remove reference to module providing reserved session after adding a reference to the final module. This re-reference is done to ensure that module references are correct even if the final session selects a different module than the reserved session. ASTERISK-18923 #close Reported by: Grigoriy Puzankin Review: https://reviewboard.asterisk.org/r/4048/ ........ Merged revisions 425405 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-10-12 21:08 +0000 [r425360] Joshua Colp * res/res_rtp_asterisk.c: res_rtp_asterisk: Make the ICE transport check case insensitive as some implementations use 'udp'. 2014-10-12 08:13 +0000 [r425287-425297] Walter Doekes * /, channels/chan_sip.c: chan_sip: Fix so asterisk won't send reINVITE after a BYE. After a reINVITE glare situation, Asterisk would re-send the reINVITE even though the call had been hung up in the mean time. This patch unschedules the reinvite when handling the BYE. ASTERISK-22791 #close Reported by: Paolo Compagnini Tested by: Paolo Compagnini Review: https://reviewboard.asterisk.org/r/4056/ (testcase is in review r4055) ........ Merged revisions 425296 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * Makefile, /: build: Relax badshell tilde test to allow for ~ in middle of DESTDIR. The main Makefile has a target test called 'badshell' that tests if DESTDIR does not happen to have an an-expanded tilde (~). This might be the case if you run: make install DESTDIR=~/somewhere/ That test also disallowed valid tildes in directory names. The test is now changed to only trigger on a tilde at the start of the path. ASTERISK-13797 #close Reported by: Tzafrir Cohen Review: https://reviewboard.asterisk.org/r/4064/ ........ Merged revisions 425291 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * res/res_calendar_ews.c, /: res_calendar_ews: Relax neon version check to work with 0.30 too. Allow res_calendar_ews to work not only with libneon-0.29 but also with 0.30. ASTERISK-24325 #close Reported by: Tzafrir Cohen Review: https://reviewboard.asterisk.org/r/4068/ ........ Merged revisions 425286 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-10-10 12:55 +0000 [r425153] Kinsey Moore * /, tests/test_callerid.c, main/callerid.c: CallerID: Fix parsing regression This fixes a regression in callerid parsing introduced when another bug was fixed. This bug occurred when the name was composed entirely of DTMF keys and quoted without a number section (<>). ASTERISK-24406 #close Reported by: Etienne Lessard Tested by: Etienne Lessard Patches: callerid_fix.diff uploaded by Kinsey Moore Review: https://reviewboard.asterisk.org/r/4067/ ........ Merged revisions 425152 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-10-10 07:25 +0000 [r425069] Walter Doekes * /, channels/chan_sip.c: chan_sip: Fix dialog leak resulting from missing ACK to re-INVITE. If a device re-INVITEs at the same time as the dialog is hung up, and if then the ACK to the re-INVITE never reaches Asterisk, chan_sip would fail to destroy the dialog after a while. This resulted in (most prominently) file handle leaks. (Patch reindented by me.) ASTERISK-20784 #close ASTERISK-15879 #close Reported by: Torrey Searle, Nitesh Bansal Patches: reinvite_ack_timeout.patch uploaded by Torrey Searle (License #5334) patch_asterisk_20784.txt uploaded by Nitesh Bansal (License #6418) Reviewboard: https://reviewboard.asterisk.org/r/4052/ (testcase can be found at r4051) ........ Merged revisions 425068 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-10-09 21:26 +0000 [r425029] Kevin Harwell * res/res_rtp_asterisk.c: res_rtp_asterisk: Crash if no candidates received for component When starting ice if there is not at least one remote ice candidate with an RTP component asterisk will crash. This is due to an assertion in pjnath as it expects at least one candidate with an RTP component. Added a check to make sure at least one candidate contains an RTP component and at least one candidate has an RTCP component. ASTERISK-24383 #close Review: https://reviewboard.asterisk.org/r/4039/ 2014-10-09 08:06 +0000 [r424878] Walter Doekes * contrib/scripts/safe_asterisk, /: safe_asterisk: Don't automatically exceed MAXFILES value of 2^20. On systems with lots of RAM (e.g. 24GB) /proc/sys/fs/file-max divided by two can exceed the per-process file limit of 2^20. This patch ensures the value is capped. (Patch cleaned up by me.) ASTERISK-24011 #close Reported by: Michael Myles Patches: safe_asterisk-ulimit.diff uploaded by Michael Myles (License #6626) ........ Merged revisions 424875 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-10-08 18:44 +0000 [r424852] Joshua Colp * res/res_rtp_asterisk.c: res_rtp_asterisk: Allow only UDP ICE candidates. The underlying library, pjnath, that res_rtp_asterisk uses for ICE support does not have support for ICE-TCP. As candidates are passed through directly to it this can cause error messages to occur when it receives something unexpected (such as a TCP candidate). This change merely ignores all non-UDP candidates so they never reach pjnath. ASTERISK-24326 #close Reported by: Joshua Colp 2014-10-07 21:30 +0000 [r424787] Corey Farrell * /, main/astobj2.c: astobj2: Correct REF_DEBUG false leak report When ao2_callback is run with OBJ_MULTIPLE and not OBJ_NODATA it allocates a temporary container in a way that does not record REF_DEBUG log entries. This changes that container to correctly record unref's when the container is freed. ASTERISK-24390 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4047/ ........ Merged revisions 424786 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-10-06 18:36 +0000 [r424690] Matthew Jordan * main/message.c: message: Don't close an AMI connection on SendMessage action error If SendMessage encounters an error (such as incorrect input provided to the action), it will currently return -1. Actions should only return -1 if the connection to the AMI client should be closed. In this case, SendMessage causing the client to disconnect is inappropriate. This patch causes the action to return 0, which simply causes the action to fail. Review: https://reviewboard.asterisk.org/r/4024 ASTERISK-24354 #close Reported by: Peter Katzmann patches: sendMessage.patch uploaded by Peter Katzmann (License 5968) 2014-10-05 00:41 +0000 [r424550-424578] Corey Farrell * main/manager.c: Release AMI connections on shutdown. ASTERISK-24378 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4037/ * channels/chan_sip.c: chan_sip: Clean leak on error path of process_sdp Resolve leak in process_sdp that occurs in 2 error path's where crypto lines are expected but not provided. ASTERISK-24385 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4045/ * channels/chan_motif.c: chan_motif: Release format capabilities and config on module load error ASTERISK-24384 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4043/ 2014-10-01 10:08 +0000 [r424177-424182] Walter Doekes * /, channels/chan_sip.c: chan_sip: Simplify some unref code by removing unlink_peer_from_tables. ASTERISK-22945 #related Reported by: ibercom Patches: asterisk11-chan_sip-simplifies.patch uploaded by ibercom (License #6599) ........ Merged revisions 424181 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * /, channels/chan_sip.c: chan_sip: Remove excess ref of realtime peer before sip_poke_peer. The peer is referenced at the end of sip_poke_peer, it should not get an extra ref before the call to sip_poke_peer. This fixes a memory leak. ASTERISK-22945 #close Reported by: ibercom Tested by: Yuriy Gorlichenko Patches: asterisk11.patch uploaded by ibercom (License #6599) Review: https://reviewboard.asterisk.org/r/4031/ ........ Merged revisions 424176 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-09-30 11:31 +0000 [r424151] Joshua Colp * res/res_rtp_asterisk.c: res_rtp_asterisk: Ensure that the base and mapped address for candidates is present in SDP. This change fixes an issue where ICE candidates put into the SDP did not contain the 'raddr' and 'rport' information for server reflexive and relay candidates. #SIPit31 2014-09-29 21:21 +0000 [r424117] Walter Doekes * contrib/scripts/autosupport: autosupport: Fix bashism. '==' is bashism (bashspecific, fails when dash is /bin/sh). Anyway, a 'case' works better there. Originally committed in r375059 and r375060 on 2012-10-16 21:13:08. ASTERISK-20567 #close Reported by: Tzafrir Cohen 2014-09-26 15:18 +0000 [r423983] Richard Mudgett * /, res/res_fax.c: res_fax: Fix out of bounds error in update_modem_bits(). ASTERISK-24357 #close Reported by: Jeremy Laine Patches: res_fax_bounds.patch (license #6561) patch uploaded by Jeremy Laine Modified patch to not use magic numbers. ........ Merged revisions 423979 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-09-26 08:23 +0000 [r423916] Walter Doekes * /, doc/asterisk.8: docs: Escape unescaped minus sign in asterisk.8 manpage. ASTERISK-23768 #close Reported by: Jeremy Lainé Patches: escape_manpage_hyphen.patch uploaded by Jeremy Lainé (License #6561) ........ Merged revisions 423915 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-09-24 08:49 +0000 [r423801] Walter Doekes * /, channels/chan_sip.c: chan_sip: Unref outbound proxy structure on dialog/pvt destruction. Make sure outbound proxy refs are always unreffed on dialog destruction. Review: https://reviewboard.asterisk.org/r/4016/ ........ Merged revisions 423800 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-09-22 19:46 +0000 [r423658-423721] Walter Doekes * /, channels/chan_sip.c: chan_sip: On INVITE retransmission, don't add an extra 503 response. INVITE arrives to asterisk, asterisk responds Busy(). If the INVITE is retransmitted, asterisk would generate a 503 in addition to the 486. Thanks Torrey Searle for providing a working regression test. ASTERISK-24335 #close Review: https://reviewboard.asterisk.org/r/4003/ Patches: retrans_486_invite.patch uploaded by Torrey Searle (License #5334) ........ Merged revisions 423720 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * /, main/editline/readline.c: cli.c: Fix tab completion "module load" when MALLOC_DEBUG is enabled. r421600 conflicted with r155763. ASTERISK-24348 #close ........ Merged revisions 423657 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-09-24 Asterisk Development Team * Asterisk 11.13.0 Released. 2014-09-19 Asterisk Development Team * Asterisk 11.13.0-rc1 Released. 2014-09-18 16:30 +0000 [r423400] Richard Mudgett * /, main/astobj2.c, contrib/scripts/refcounter.py: astobj2.c/refcounter.py: Fix to deal with invalid object refs. * Make astob2 REF_DEBUG output an invalid object line when an invalid ao2 object ref/unref is attempted. This is similar to the constructor/destructor lines. * Fixed refcounter.py to handle skewed objects that have constructor/destructor states. * Made refcounter.py highlight the invalid ao2 object refs by putting them in their own section of the processed output file. * Made refcounter.py highlight unreffing an object by more than one that results in a negative ref count and the object being destroyed. The abnormally destroyed object is reported in the invalid and finalized object sections of the output. Review: https://reviewboard.asterisk.org/r/3971/ ........ Merged revisions 423349 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-09-18 16:19 +0000 [r423360] Mark Michelson * res/res_fax_spandsp.c: res_fax_spandsp: Properly handle cleanup before starting FAXes. If faxing fails at a very early stage, then it is possible for us to pass a NULL t30 state pointer to spandsp, which spandsp is none too pleased with. This patch ensures that we pass the correct pointer to spandsp in the situation where we have not yet set our local t30 state pointer. ASTERISK-24301 #close Reported by Matt Jordan Patches: ASTERISK-24301-fax.diff Uploaded by Mark Michelson (License #5049) 2014-09-18 14:42 +0000 [r423277] George Joseph * main/config.c, main/manager.c, /, include/asterisk/config.h: config: bug: Fix SEGV in ast_category_insert when matching category isn't found If you call ast_category_insert with a match category that doesn't exist, the list traverse runs out of 'next' categories and you get a SEGV. This patch adds check for the end-of-list condition and changes the signature to return an int for success/failure indication instead of a void. The only consumer of this function is manager and it was also changed to use the return value. Tested by: George Joseph Review: https://reviewboard.asterisk.org/r/3993/ ........ Merged revisions 423276 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-09-17 18:02 +0000 [r423150-423253] Joshua Colp * res/res_rtp_asterisk.c: res_rtp_asterisk: Ensure that the thread terminating pj stuff is registered. * res/res_rtp_asterisk.c: res_rtp_asterisk: Fix 100% CPU usage due to timer heap thread spinning. Side note: I need a vacation. * res/res_rtp_asterisk.c: res_rtp_asterisk: Fix building when pjproject is not used. * res/res_rtp_asterisk.c: res_rtp_asterisk: Fix a myriad of TURN client issues. 1. The number of file descriptors an ioqueue instance can handle is fixed, so we now spawn the required number to handle the load. 2. Our transport identifiers were exceeding the range supported by pjnath. 3. The TURN client did not set up client binding causing needless bandwidth usage. 4. The code no longer updates address information on each packet. 5. STUN traffic was getting looped back to Asterisk instead of going through the TURN server. 6. Synchronization now ensures things are completely setup or destroyed. 7. Logging now reflects the target the TURN server is sending to/receiving from on our behalf. ASTERISK-23577 #close Reported by: Jay Jideliov ASTERISK-23634 #close Reported by: Roman Skvirsky Review: https://reviewboard.asterisk.org/r/3982/ 2014-09-14 15:49 +0000 [r423067] Walter Doekes * configs/sip.conf.sample, /: chan_sip: Clarify that sipdebug=yes cannot be undone by the CLI. Document it in sip.conf. ASTERISK-24249 #close Reported by: Avinash Mohod Review: https://reviewboard.asterisk.org/r/3926/ ........ Merged revisions 423066 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-09-12 18:18 +0000 [r423010] Kinsey Moore * main/channel.c, /: Bridging: Fix bouncing native bridge This fixes a situation in Asterisk 1.8 and 11 where ast_channel_bridge could cause a bouncing native bridge. In the case of the dial_LS_options test, this was a remote RTP bridge which caused the audio path to continually cycle between Asterisk and the remote endpoints generating a large number of SIP messages and delaying the test long enough to cause it to fail (checking timing was part of the test). The root cause was that the code to decide whether to use native bridging was expecting a time-remaining value of 0 to be the default instead of the actual default value of -1. A value of 0 or negative numbers could also be generated by preceding code in some circumstances. Both issues are addressed in this patch. ASTERISK-24211 #close Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/3987/ ........ Merged revisions 423006 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-09-10 16:01 +0000 [r422903] George Joseph * /, main/config.c: config: bug: fix truncation of included config files on permissions error ast_config_text_file_save() currently truncates include files as they are processed. If a subsequent include file or the main config file has a permissions error that prevents writing, earlier include files are left truncated resulting in a frantic search for backups. This patch causes ast_config_text_file_save to check for write access on all files before it truncates any of them. Will be applied 1.8 > trunk. Tested by: George Joseph Review: https://reviewboard.asterisk.org/r/3986/ ........ Merged revisions 422900 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-09-07 00:08 +0000 [r422790] Rusty Newton * sounds/sounds.xml, sounds/Makefile, /: Sounds/BuildSystem: Modifications to include new releases and Japanese language. Modifying Makefile and sounds.xml to include new core 1.4.26 and extra 1.4.15 sound prompt releases, plus the new Japanese core sound prompts contributed by QLOOG. ASTERISK-23324 Reported by: Kevin McCoy Tested by: Rusty Newton ........ Merged revisions 422789 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-09-04 20:39 +0000 [r422625] Jonathan Rose * main/manager.c, /: Manager: Require read permission for SYSTEM in order to send FullyBooted Review: https://reviewboard.asterisk.org/r/3969/ ........ Merged revisions 422584 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-08-30 17:22 +0000 [r422440] George Joseph * main/manager.c, /: manager: Make WaitEvent action respect eventfilters A WaitEvent issued via an http session isn't respecting eventfilters defined for the user. I just added a match_filter to the predicate that controls astman_append. Tested by: George Joseph Review: https://reviewboard.asterisk.org/r/3958/ ........ Merged revisions 422439 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-08-29 19:39 +0000 [r422294-422377] Matthew Jordan * doc/smsq.8 (added), /: doc: Add a manpage for the smsq utility This patch adds a manpage for the smsq utility. Note that this is one of the patches the Debian distro applies for the Asterisk project, as per ASTERISK-24191. Review: https://reviewboard.asterisk.org/r/3895/ ASTERISK-24171 #close Reported by: Jeremy Laine patches: smsq.8 uploaded by Jeremy Laine (License 6561) ........ Merged revisions 422376 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * doc/aelparse.8 (added), /: doc: Add a manpage for the aelparse utility This patch adds a manpage for the aelparse utility. Note that this is one of the patches the Debian distro applies for the Asterisk project, as per ASTERISK-24191. Review: https://reviewboard.asterisk.org/r/3896/ ASTERISK-24171 #close Reported by: Jeremy Laine patches: aelparse.8 uploaded by Jeremy Laine (License 6561) ........ Merged revisions 422371 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * /, LICENSE: LICENSE: Clarify language in Asterisk's LICENSE to allow for linking to UniMRCP The UniMRCP project distributes Asterisk modules that integrate Asterisk with UniMRCP, and other Asterisk users use the UniMRCP library as well. Unfortunately, the UniMRCP license is Apache 2.0, which per the Free Software Foundation, is not a compatible license with the GPLv2. "Please note that this license is not compatible with GPL version 2, because it has some requirements that are not in that GPL version. These include certain patent termination and indemnification provisions. The patent termination provision is a good thing, which is why we recommend the Apache 2.0 license for substantial programs over other lax permissive licenses." On the other hand, UniMRCP is a great project and we'd like to let people use it with Asterisk. This patch updates the LICENSE text to allow users to link Asterisk with UniMRCP and distribute the resulting binaries. ........ Merged revisions 422293 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-08-28 20:26 +0000 [r422274] Michael L. Young * channels/chan_iax2.c: chan_iax2: Fix Dynamic IAX2 Registrations After Temporary DNS Failure The reporter on the issue found some issues when upgrading from version 10 to 11 on 55 hosts. Two situations that can occur with dynamic registrations. 1. With dnsmgr disabled, if the host is not resolvable we are not trying to resolve the host again when it is time to attempt to register again. This results in never registering to the host. 2. With dnsmgr enabled, when the host is temporarily not resolvable the address is set to 0.0.0.0:0 and then when the host is resolvable the port is not being restored and stays set to 0. This patch resolves these two issues by: * Storing the hostname so that it can be used for resolving with DNS. * Resolve the hostname on the next scheduled attempt to register. * Storing the port used to reach the host so that when the hostname is resolvable again, we can set the port again if the port is still unset after looking up the host. ASTERISK-23767 #close Reported by: David Herselman Tested by: David Herselman, Michael L. Young Patches: asterisk-23767-dns_reg_retry_and_set_port_11_v3.diff uploaded by Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/3856/ 2014-08-27 15:01 +0000 [r422113] Kinsey Moore * /, channels/chan_sip.c, tests/test_callerid.c (added), tests/test_utils.c, main/callerid.c, main/utils.c, include/asterisk/utils.h: CallerID: Fix parsing of malformed callerid This allows the callerid parsing function to handle malformed input strings and strings containing escaped and unescaped double quotes. This also adds a unittest to cover many of the cases where the parsing algorithm previously failed. Review: https://reviewboard.asterisk.org/r/3923/ ........ Merged revisions 422112 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-08-25 16:07 +0000 [r421977] Richard Mudgett * /, res/res_musiconhold.c: res_musiconhold: Fix MOH restarting where it left off from the last hold. Restore code removed by https://reviewboard.asterisk.org/r/3536/ that introduced a regression that prevents MOH from restarting were it left off the last time. ASTERISK-24019 #close Reported by: Jason Richards Patches: jira_asterisk_24019_v1.8.patch (license #5621) patch uploaded by rmudgett Review: https://reviewboard.asterisk.org/r/3928/ ........ Merged revisions 421976 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-08-24 17:19 +0000 [r421909] Joshua Colp * channels/chan_sip.c: chan_sip: Use the server reflexive ICE candidate RTCP port as provided. This code originally worked around an issue within res_rtp_asterisk itself. The wrong socket was being used for the STUN check for RTCP, causing the port to be the same as RTP. This was subsequently fixed and the RTCP port provided for the ICE candidate is correct and does not need to be incremented. ASTERISK-23997 #close Reported by: Badalian Vyacheslav Patches: plus1.diff submitted by Badalian Vyacheslav (license 5249) 2014-08-21 22:03 +0000 [r421800] Richard Mudgett * /, res/res_musiconhold.c: res_musiconhold.c: Remove obsolete REF_DEBUG code. Remove unneeded code that writes to the wrong file location in an obsolete format. ........ Merged revisions 421799 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-08-21 21:00 +0000 [r421777] Jonathan Rose * res/res_musiconhold.c, /: res_musiconhold: Fix reference leaks caused when reloading with REF_DEBUG set Due to a faulty function for debugging reference decrementing, it was possible to reduce the refcount on the wrong object if two moh classes of the same name were in the moh class container. (closes issue ASTERISK-22252) Reported by: Walter Doekes Patches: 18_moh_debug_ref_patch.diff Uploaded by Jonathan Rose (license 6182) ........ Merged revisions 398937 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-08-21 17:32 +0000 [r421718] Matthew Jordan * /, channels/chan_sip.c: chan_sip: Don't use port derived from fromdomain if it isn't set If a user does not provide a port in the fromdomain setting, chan_sip will set the fromdomainport to STANDARD_SIP_PORT (5060). The fromdomainport value will then get used unilaterally in certain places. This causes issues with TLS, where the default port is expected to be 5061. This patch modifies chan_sip such that fromdomainport is only used if it is not the standard SIP port; otherwise, the port from the SIP pvt's recorded self IP address is used. Review: https://reviewboard.asterisk.org/r/3893/ ASTERISK-24178 #close Reported by: Elazar Broad patches: fromdomainport_fix.diff uploaded by Elazar Broad (License 5835) ........ Merged revisions 421717 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-08-20 22:17 +0000 [r421602] Richard Mudgett * /, main/cli.c: cli.c: Fix tab completion of "module load" when MALLOC_DEBUG is enabled. filename_completion_function() returns memory that was not allocated by the MALLOC_DEBUG allocation tracker so the memory must be freed by ast_std_free(). ........ Merged revisions 421600 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-08-19 19:41 +0000 [r421443] Kinsey Moore * main/manager.c, /: AMI Docs: Fix Status channel parameter optionality ........ Merged revisions 421442 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-08-18 20:16 +0000 [r421328] George Joseph * funcs/func_config.c, /: func_config: Change 'Not Found' message from ERROR to DEBUG When you call the CONFIG dialplan function with the name of a variable that doesn't exist in the target context you get an ERROR. This does nothing but clutter up the logs with messages that may be perfectly acceptable. Just because a variable wasn't in the context doesn't mean it's an error. Maybei t's optional or just needs to be defaulted or ignored. This patch changes the log level from ERROR to DEBUG. If a dialplan developer wants to debug their dialplan they still canby setting the console debug level as needed. Tested by: George Joseph Review: https://reviewboard.asterisk.org/r/3919/ ........ Merged revisions 421327 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-08-17 23:07 +0000 [r421228-421233] Matthew Jordan * apps/app_dial.c, /: apps/app_dial: Fix Dial 'z' option The 'z' option is supposed to disable the dial timeout in the case of a call forward. Unfortunately, the wrong timeout timer was passed to the do_forward function, resulting in the option not working. ASTERISK-24225 #close Reported by: dimitripietro Tested by: dimitripietro patches: jira_asterisk_24225_v1.8.patch uploaded by rmudgett (License 5621) jira_asterisk_24225_v11.patch uploaded by rmudgett (License 5621) ........ Merged revisions 421232 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * /, configure, configure.ac: configure: Undefine FORTIFY_SOURCE prior to defining it for patched gcc Some distributions of Linux patch gcc to define FORTIFY_SOURCE when gcc is executed with optimization. This "help" unfortunately results in re-definition warnings when FORTIFY_SOURCE is later defined in Asterisk's build system. This patch undefines FORTIFY_SOURCE prior to defining it to prevent this warning. Review: https://reviewboard.asterisk.org/r/3912/ ASTERISK-24032 #close Reported by: Kilburn Tested by: Kilburn, wdoekes patches: 1.8.diff uploaded by cloos (License 5956) 10.diff uploaded by cloos (License 5956) 11.diff uploaded by cloos (License 5956) 12.diff uploaded by cloos (License 5956) 13.diff uploaded by cloos (License 5956) ........ Merged revisions 421227 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-08-15 15:36 +0000 [r421060-421164] Matthew Jordan * apps/app_voicemail.c, main/app.c: app_voicemail/app: Remove test events that were duplicated by r421059 Moving the test event raised when a file is played back (which occurred in r421059) broke the ever loving snot out of the voicemail tests. This caused duplicate test events to get raised, as app_voicemail and main/app were raising events prior to call ast_streamfile. The voicemail tests did not enjoy getting multiple events. Since raising the playback event in ast_streamfile is far more useful to the vast majority of tests, this patch keeps the call there and simply removes the extraneous calls that duplicated the event. ........ Merged revisions 421125 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * /, main/file.c, main/app.c: main/file: Move test event to emit PLAYBACK event more consistently This is being done in advance of the test for ASTERISK-23953 ........ Merged revisions 421059 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-08-13 07:47 +0000 [r420897] Walter Doekes * main/logger.c: logger: Don't store verbose-magic in the log files. In r399267, the verbose2magic stuff was edited. This time it results in magic characters in the log files for multiline messages. In trunk (and 13) this was fixed by the "stripping" of those characters from multiline messages (in r414798). This is a backport of that fix to 11. That fix is altered to actually strip the characters and not replace them with blanks. Review: https://reviewboard.asterisk.org/r/3901/ Review: https://reviewboard.asterisk.org/r/3902/ 2014-08-19 Asterisk Development Team * Asterisk 11.12.0 Released. 2014-08-11 Asterisk Development Team * Asterisk 11.12.0-rc1 Released. 2014-08-11 10:36 +0000 [r420655-420715] Walter Doekes * /, main/utils.c: general: Fix memory Corruption in __ast_string_field_ptr_build_va. If the space left in a stringfield is between 0 and (alignof(ast_string_field_allocation)-1) adding new data would cause memory corruption, because we would assume enough space (unsigned underrun). Thanks Arnd Schmitter for reporting and finding out the cause! ASTERISK-23508 #close Reported by: Arnd Schmitter Tested by: Arnd Schmitter, JoshE Review: https://reviewboard.asterisk.org/r/3898/ ........ Merged revisions 420680 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * main/tcptls.c, /: tcptls: Avoid compiler warning on non-dev-mode. ........ Merged revisions 420654 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-08-07 21:37 +0000 [r420435] Richard Mudgett * /, channels/chan_sip.c: chan_sip: Replace sip_tls_read() and resolve the large SDP poll issue. Replace sip_tls_read() and sip_tcp_read() with a single function and resolve the poll/wait issue with large SDP payloads. ASTERISK-18345 #close Reported by: Stephane Chazelas Patches: tcptls_pollv4.diff (license #5835) patch uploaded by Elazar Broad Review: https://reviewboard.asterisk.org/r/3882/ ........ Merged revisions 420434 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-08-06 16:08 +0000 [r420147] George Joseph * pbx/pbx_lua.c, main/pbx.c, /: pbx_lua: fix regression with global sym export and context clash by pbx_config. ASTERISK-23818 (lua contexts being overwritten by contexts of the same name in pbx_config) surfaced because pbx_lua, having the AST_MODFLAG_GLOBAL_SYMBOLS set, was always force loaded before pbx_config. Since I couldn't find any reason for pbx_lua to export it's symbols to the rest of Asterisk, I simply changed the flag to AST_MODFLAG_DEFAULT. Problem solved. What I didn't realize was that the symbols need to be exported not because Asterisk needs them but because any external Lua modules like luasql.mysql need the base Lua language APIs exported (ASTERISK-17279). Back to ASTERISK-23818... It looks like there's an issue in pbx.c where context_merge was only merging includes, switches and ignore patterns if the context was already existing AND has extensions, or if the context was brand new. If pbx_lua is loaded before pbx_config, the context will exist BUT pbx_lua, being implemented as a switch, will never place extensions in it, just the switch statement. The result is that when pbx_config loads, it never merges the switch statement created by pbx_lua into the final context. This patch sets pbx_lua's modflag back to AST_MODFLAG_GLOBAL_SYMBOLS and adds an "else if" in context_merge that catches the case where an existing context has includes, switchs or ingore patterns but no actual extensions. ASTERISK-23818 #close Reported by: Dennis Guse Reported by: Timo Teräs Tested by: George Joseph Review: https://reviewboard.asterisk.org/r/3891/ ........ Merged revisions 420146 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-08-05 18:23 +0000 [r420054] Richard Mudgett * main/format.c: format.c: Add reason comments for the format_list ordering. 2014-08-04 19:44 +0000 [r419943] Rusty Newton * main/manager.c, /: Manager - Improve documentation for manager commands Getvar and Setvar. The documentation for these commands did not make it clear that they could accept expressions and functions. Modified to make this clear, but tried not to be overly explicit. ASTERISK-21178 #close Reported by: Rusty Newton Tested by: Rusty Newton Review: https://reviewboard.asterisk.org/r/3854 ........ Merged revisions 419942 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-07-28 18:34 +0000 [r419685] Richard Mudgett * funcs/func_jitterbuffer.c, apps/app_queue.c, apps/app_speech_utils.c, /, funcs/func_frame_trace.c: datastores: Audit ast_channel_datastore_remove usage. Audit of v1.8 usage of ast_channel_datastore_remove() for datastore memory leaks. * Fixed leaks in app_speech_utils and func_frame_trace. * Fixed app_speech_utils not locking the channel when accessing the channel datastore list. Review: https://reviewboard.asterisk.org/r/3859/ Audit of v11 usage of ast_channel_datastore_remove() for datastore memory leaks. * Fixed leak in func_jitterbuffer. Review: https://reviewboard.asterisk.org/r/3860/ ........ Merged revisions 419684 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-07-25 23:13 +0000 [r419631] Richard Mudgett * main/features.c, /: features.c: Allow appliationmap to use Gosub. Using DYNAMIC_FEATURES with a Gosub application as the mapped application does not work. It does not work because Gosub just pushes the current dialplan context, exten, and priority onto a stack and sets the specified Gosub location. Gosub does not have a dialplan execution loop to run dialplan like Macro. * Made the DYNAMIC_FEATURES application mapping feature call ast_app_exec_macro() and ast_app_exec_sub() for the Macro and Gosub applications respectively. * Backported ast_app_exec_macro() and ast_app_exec_sub() from v11 to execute dialplan routines from the DYNAMIC_FEATURES application mapping feature. NOTE: This issue does not affect v12+ because it already does what this patch implements. AST-1391 #close Reported by: Guenther Kelleter Review: https://reviewboard.asterisk.org/r/3844/ ........ Merged revisions 419630 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-07-24 17:56 +0000 [r419441] Corey Farrell * /, channels/chan_sip.c: chan_sip: sip_subscribe_mwi_destroy should not call sip_destroy sip_subscribe_mwi_destroy calls sip_destroy on the reference counted mwi->call. This results in the fields of mwi->call being freed, but mwi->call itself it leaked. If other code is still using mwi->call it can cause problems. This change uses dialog_unref instead, to balance the ref provided by sip_alloc(). ASTERISK-24087 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/3834/ ........ Merged revisions 419440 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-07-24 16:49 +0000 [r419375] Jason Parker * addons/chan_ooh323.c, /: Don't cause Asterisk to exit if ooh323.conf not found. (closes issue ASTERISK-23814) ........ Merged revisions 419374 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-07-23 13:21 +0000 [r419284] Scott Griepentrog * apps/app_voicemail.c: app_voicemail: use a consistent generator string When updating voicemail.conf when a user changes their pin, change the generator string to be the same as the module name when reading so that the same config_hook will be called. Review: https://reviewboard.asterisk.org/r/3837/ 2014-07-22 14:00 +0000 [r419162] Kinsey Moore * tests/test_voicemail_api.c, tests/test_aoc.c, tests/test_astobj2.c, tests/test_config.c, addons/ooh323c/src/printHandler.c, addons/ooh323c/src/ooq931.c, addons/chan_ooh323.c, tests/test_astobj2_thrash.c, /, apps/app_meetme.c, tests/test_abstract_jb.c, tests/test_logger.c, tests/test_event.c, tests/test_format_api.c, tests/test_hashtab_thrash.c, res/res_jabber.c: Fix more dev-mode build issues ........ Merged revisions 419129 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-07-15 22:05 +0000 [r418713] Matthew Jordan * main/manager.c: manager: Return ActionID on nominal responses to PresenceState action When the PresenceState action is executed, the nominal path fails to include the ActionID in the successful response. This patch adds a call to astman_start_ack, which guarantees that an ActionID (if provided) will be sent back to the AMI client. Review: https://reviewboard.asterisk.org/r/3776/ ASTERISK-23985 #close 2014-07-15 17:32 +0000 [r418649] Jonathan Rose * funcs/func_uri.c, /: func_uri: URIENCODE/URIDECODE - allow empty strings as argument Previously these two dialplan functions would issue warnings and return failure when an empty string is used as the argument. Now they will not issue a warning and will successfully return an empty string. ASTERISK-23911 #close Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/3745/ ........ Merged revisions 418641 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-07-13 21:51 +0000 [r418465-418505] Corey Farrell * /, main/astobj2.c, contrib/scripts/refcounter.py: astobj2: work around REF_DEBUG race which causes out of order log entries * Update refcounter.py to use delta's to track the current reference count. * Use result from internal_ao2_ref to write old_refcount to refs_log. Review: https://reviewboard.asterisk.org/r/3756/ ........ Merged revisions 418504 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * apps/app_skel.c: Fix minor reference leaks in app_skel and TEST_FRAMEWORK * Cleanup games object in app_skel. * Cleanup stasis subscription to TEST_FRAMEWORK in manager.c (12+). Review: https://reviewboard.asterisk.org/r/3757/ 2014-07-11 14:23 +0000 [r418366] Scott Griepentrog * main/config.c: config: inform config hook of change when writing file When updated configuration is written back to the conf file - for example when a user changes their voicemail pin, make sure that any config hook that wants to know of changes is informed. Review: https://reviewboard.asterisk.org/r/3708/ 2014-07-10 15:35 +0000 [r418323] Matthew Jordan * include/asterisk/xmpp.h: include/asterisk/xmpp.h: Convert indentation to tabs This is a whitespace only change. 2014-07-10 01:42 +0000 [r418262] Richard Mudgett * /, channels/sig_pri.c: chan_dahdi/sig_pri: Fix type mismatch in the idledial feature's channel creation. Square pegs in round holes don't work very well. ........ Merged revisions 418261 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-07-10 Asterisk Development Team * Asterisk 11.11.0 Released. 2014-07-08 Asterisk Development Team * Asterisk 11.11.0-rc1 Released. 2014-07-03 21:48 +0000 [r417957] Richard Mudgett * channels/sig_pri.h, channels/chan_dahdi.c, configs/chan_dahdi.conf.sample, /, UPGRADE.txt, channels/sig_pri.c: chan_dahdi: Add inband_on_setup_ack compatibility option. The new inband_on_setup_ack option causes Asterisk to assume inband audio may be present when a SETUP_ACKNOWLEDGE message is received. Q.931 Section 5.1.3 says that in scenarios with overlap dialing, when a dialtone is sent from the network side, progress indicator 8 "Inband info now available" MAY be sent to the CPE if no digits were received with the SETUP. It is thus implied that the ie is mandatory if digits came with the SETUP and dialtone is needed. This option should be enabled, when the network sends dialtone and you want to hear it, but the network doesn't send the progress indicator when needed. NOTE: For Q.SIG setups this option should be enabled when outgoing overlap dialing is also enabled because Q.SIG does not send the progress indicator with the SETUP ACK. The commit -r413714 (AST-1338) which causes this issue was dealing with a SIP-to-ISDN interoperability issue. This commit is a merge of the two patches indicated below. ASTERISK-23897 #close Reported by: Pavel Troller Patches: pri-4.diff (license #6302) patch uploaded by Pavel Troller jira_asterisk_23897_v11.patch (license #5621) patch uploaded by rmudgett Review: https://reviewboard.asterisk.org/r/3633/ ........ Merged revisions 417956 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-07-03 11:24 +0000 [r417798] Matthew Jordan * /, main/utils.c: main/untils: Prevent potential infinite loop in ast_careful_fwrite A loop in ast_careful_fwrite exists that will continually attempt to write to a file stream, even in the presence of EAGAIN/EINTR errors. However, if a connection that uses ast_careful_fwrite closes suddenly, ast_careful_fwrite's call to fflush may return EAGAIN/EINTER along with EOF. A subsequent call to fflush will return EOF but not clear errno, resulting in an infinite loop. This patch clears errno after it is detected and handled the loop, such that any subsequent call to fflush will not get erroneously stuck. Review: https://reviewboard.asterisk.org/r/3704 #ASTERISK-23984 #close Reported by: Steve Davies patches: fflush_loop_fix uploaded by one47 (License 5012) ........ Merged revisions 417797 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-06-30 19:42 +0000 [r417677] Joshua Colp * channels/sip/include/sip.h, res/res_rtp_asterisk.c, main/rtp_engine.c, channels/chan_sip.c, UPGRADE.txt, configs/sip.conf.sample, include/asterisk/rtp_engine.h: res_rtp_asterisk: Add SHA-256 support for DTLS and perform DTLS negotiation on RTCP. This change fixes up DTLS support in res_rtp_asterisk so it can accept and provide a SHA-256 fingerprint, so it occurs on RTCP, and so it occurs after ICE negotiation completes. Configuration options to chan_sip have also been added to allow behavior to be tweaked (such as forcing the AVP type media transports in SDP). ASTERISK-22961 #close Reported by: Jay Jideliov Review: https://reviewboard.asterisk.org/r/3679/ 2014-06-30 03:23 +0000 [r417588] Matthew Jordan * /, channels/chan_sip.c: chan_sip: be more tolerant of whitespace between attributes in SDP fmtp line This patch is essentially a backport of a small portion of r397526 from ASTERISK-21981. In that patch, pass through support and format attribute negotiation was added for Opus. Part of that included being more tolerant to whitespace in the fmtp line of an SDP; that part of the patch is being applied here. As the author of the backport pointed out, in SDP, the fmtp line is allowed to include whitespace between attributes. RFC 3267 chapter 8.3 (from 2001) includes an example for this. This was not removed in the updated RFC 4867 in 2007. Review: https://reviewboard.asterisk.org/r/3658 ASTERISK-23916 #close Reported by: Alexander Traud patches: sdpFMTPspace_Asterisk11.patch uploaded by Alexander Traud (License 6520) ........ Merged revisions 417587 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-06-27 19:26 +0000 [r417481-417505] Corey Farrell * /, main/astobj2.c: Ensure REF_DEBUG records entrys for attempts to ao2_ref an invalid object This change ensures that __ao2_ref_debug writes to ref_log when given a non-NULL pointer to an invalid ao2 object. This is to ensure that we record any attempt manipulate references of already freed objects. ASTERISK-23948 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/3677/ ........ Merged revisions 417500 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * /, contrib/scripts/refcounter.py: refcounter.py: prevent use of excessive RAM with large refs logs When processing a 212MB refs file, refcounter.py used over 3GB of RAM. This change greatly reduces memory usage in two ways: * Saving object history in whole lines instead of separated values. * Not saving normal/skewed/leaked object lists unless they are requested. ASTERISK-23921 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/3668/ ........ Merged revisions 417480 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-06-26 18:25 +0000 [r417310-417419] Matthew Jordan * res/res_http_websocket.exports.in: res_http_websocket: Export symbol for ast_websocket_set_timeout Thanks to Sean Bright for pointing out that this was missed in #asterisk-dev. * main/udptl.c, /: udptl: Correct FEC to not consider negative sequence numbers as missing When using FEC, with span=3 and entries=4 Asterisk will attempt to repair the packet with sequence number 5, as it will see that packet -4 is missing. The result is Asterisk sending garbage packets that can kill a fax. This patch adds a check to see if the sequence number is valid before checking if the packet is missing. Review: https://reviewboard.asterisk.org/r/3657/ #ASTERISK-23908 #close Reported by: Torrey Searle patches: udptl_fec.patch uploaded by Torrey Searle (License 5334) ........ Merged revisions 417318 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * UPGRADE.txt, configs/sip.conf.sample, res/res_http_websocket.c, channels/sip/include/sip.h, channels/chan_sip.c, include/asterisk/http_websocket.h: res_http_websocket: Close websocket correctly and use careful fwrite When a client takes a long time to process information received from Asterisk, a write operation using fwrite may fail to write all information. This causes the underlying file stream to be in an unknown state, such that the socket must be disconnected. Unfortunately, there are two problems with this in Asterisk's existing websocket code: 1. Periodically, during the read loop, Asterisk must write to the connected websocket to respond to pings. As such, Asterisk maintains a reference to the session during the loop. When ast_http_websocket_write fails, it may cause the session to decrement its ref count, but this in and of itself does not break the read loop. The read loop's write, on the other hand, does not break the loop if it fails. This causes the socket to get in a 'stuck' state, preventing the client from reconnecting to the server. 2. More importantly, however, is that the fwrite in ast_http_websocket_write fails with a large volume of data when the client takes awhile to process the information. When it does fail, it fails writing only a portion of the bytes. With some debugging, it was shown that this was failing in a similar fashion to ASTERISK-12767. Switching this over to ast_careful_fwrite with a long enough timeout solved the problem. ASTERISK-23917 #close Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/3624/ 2014-06-26 10:04 +0000 [r417249] Corey Farrell * /, channels/chan_sip.c: chan_sip: Fix handling of "From" headers longer than 256 characters From headers were processed using a 256 character buffer on the stack. This change replaces that with a heap allocation by ast_strdup. ASTERISK-23790 #close Reported by: uniken1 Tested by: uniken1 Review: https://reviewboard.asterisk.org/r/3669/ Patches: chan_sip-large-from-header-1.8-r3.patch uploaded by wdoekes (license 5674) ........ Merged revisions 417248 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-06-23 18:49 +0000 [r417141] Joshua Colp * res/res_rtp_asterisk.c: res_rtp_asterisk: Return the length of data written when sending via ICE instead of 0. ASTERISK-23834 #close Reported by: Richard Kenner 2014-06-23 14:35 +0000 [r417077] Rusty Newton * configs/features.conf.sample: main/features - documentation - reformat examples and options in features.conf.sample to show clearly which options apply in which section The features.conf sample can be a bit confusing about what parking options can be set only in the general context, or both in the general context (for the default parking lot) and in other parking lot contexts. A bug was filed due to confusion and a little googling will show lots of other confused users. Despite some comments on the individual options, it still reads in a confusing way. In this patch I separate out those options with some headings in to attempt a better layout. I went ahead and modified other headings in the file, or added them to facilitate better visual scanning. ASTERISK-23667 Review: https://reviewboard.asterisk.org/r/3622/ 2014-06-22 20:52 +0000 [r417017] George Joseph * Makefile.rules, Makefile, /: build: Turn FORTIFY_SOURCE off if DONT_OPTIMIZE is set. AST_FORTIFY_SOURCE is automatically set in ./Makefile even if DONT_OPTIMIZE is set in menuselect. This causes gcc to complain that _FORTIFY_SOURCE requires optimization and the build will fail. You can specify "make AST_FORTIFY_SOURCE=''" but I always forget. This patch moves the set of AST_FORTIFY_SOURCE to Makefile.rules and only sets it if DONT_OPTIMIZE is "no". The move is necessary because the top-level Makefile doesn't include menuselect.makeopts. This doesn't solve the entire problem however because res_config_mysql seems to force _FORTIFY_SOURCE so res_config_mysql has to be disabled for now if DONT_OPTIMIZE is set. Tested by: George Joseph Review: https://reviewboard.asterisk.org/r/3664/ ........ Merged revisions 417016 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-06-20 23:14 +0000 [r416870-416930] George Joseph * /, configure, include/asterisk/autoconfig.h.in: build: Allow autoconf/ast_ext_tool_check to handle cross-compiling better. ast_ext_tool_check.m4 isn't handling cases where a path to a package is provided (E.G. --with-mysqlclient=/some/sysroot) and the package has a config tool (E.G. mysql_config) and the package has its own subdirectories in include or lib. For example, mysql's libraries are in ${MYSQLCLIENT_DIR}/usr/lib/mysql but ast_ext_tool_check sets MYSQLCLIENT_LIB to ${MYSQLCLIENT_DIR}/usr/lib. libxml2 has the same problem with its includes. They're in ${LIBXML2_DIR}/usr/include/libxml2 not directly in ${LIBXML2_DIR}/usr/include. Both cause configure to fail and there are others in the same boat. The problem is caused by logic in ast_ext_tool_check that overrides the result of the config tool's --cflags and --libs options if package_DIR is set. This patch prepends package_DIR (if specified) to the -L and -I results from the package's config tool instead of overriding them. A regenerated ./configure and include/asterisk/autoconfig.h.in are included but can be regenerated by running ./bootstrap.sh at any time. Tested by: George Joseph Tested by: Matt Jordan Review: https://reviewboard.asterisk.org/r/3550/ ........ Merged revisions 416929 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * autoconf/ast_ext_tool_check.m4: build: Allow autoconf/ast_ext_tool_check to handle cross-compiling better. ast_ext_tool_check.m4 isn't handling cases where a path to a package is provided (E.G. --with-mysqlclient=/some/sysroot) and the package has a config tool (E.G. mysql_config) and the package has its own subdirectories in include or lib. For example, mysql's libraries are in ${MYSQLCLIENT_DIR}/usr/lib/mysql but ast_ext_tool_check sets MYSQLCLIENT_LIB to ${MYSQLCLIENT_DIR}/usr/lib. libxml2 has the same problem with its includes. They're in ${LIBXML2_DIR}/usr/include/libxml2 not directly in ${LIBXML2_DIR}/usr/include. Both cause configure to fail and there are others in the same boat. The problem is caused by logic in ast_ext_tool_check that overrides the result of the config tool's --cflags and --libs options if package_DIR is set. This patch prepends package_DIR (if specified) to the -L and -I results from the package's config tool instead of overriding them. Tested by: George Joseph Tested by: Matt Jordan Review: https://reviewboard.asterisk.org/r/3550/ 2014-06-19 19:34 +0000 [r416733] Kinsey Moore * main/bridging.c, /, channels/sip/reqresp_parser.c, main/logger.c, main/test.c: Fix build warnings with TEST_FRAMEWORK enabled ........ Merged revisions 416732 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-06-19 16:02 +0000 [r416581-416668] George Joseph * pbx/pbx_lua.c: Remove the problematic and unneeded AST_MODFLAG_GLOBAL_SYMBOLS from pbx_lua.c AST_MODFLAG_GLOBAL_SYMBOLS was causing the module to be incorrectly loaded before pbx_config. pbx_config was therefore blowing away contexts that were created by pbx_lua. With AST_MODFLAG_DEFAULT the load order is now correct and contexs are being properly merged. AST_MODFLAG_GLOBAL_SYMBOLS was not needed anyway since no other modules needed its global symbols that early. ASTERISK-23818 #close Reported by: Dennis Guse Tested by: Dennis Guse Tested by: George Joseph Review: https://reviewboard.asterisk.org/r/3629/ * configs/extensions.lua.sample: Update extensions.lua.sample with naming conflict guidance. The sample extensions.lua was causing pbx_lua to fail to load when parsing 'app.goto("default", "s", 1)' because in Lua 5.2, 'goto' is now a reserved word. This patch adds guidance to extensions.lua.sample and changed 'app.goto("default", "s", 1)' to 'app.['goto']("default", "s", 1)'. ASTERISK-23844 #close Reported by: rnewton Tested by: gtjoseph Review: https://reviewboard.asterisk.org/r/3627/ 2014-06-17 18:40 +0000 [r416501] Mark Michelson * /, funcs/func_strings.c: Allow the PUSH and UNSHIFT functions to set inheritable channel variables. ........ Merged revisions 416500 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-06-17 16:21 +0000 [r416440] Kinsey Moore * res/res_musiconhold.c, /: MoH: Don't restart stream on repeated start calls Currently, music on hold will stop and then start again from the beginning if ast_moh_start() is called multiple times. This can happen if a call is put on hold repeatedly (the channel receives multiple HOLD control frames) and can be triggered from ARI by starting MoH on a channel multiple times. This is fairly jarring/annoying to users. This change prevents MoH from being restarted if the requested music class is the same as the one currently playing. This includes an extra check to prevent the errors previously experienced in the testsuite and has 100+ test runs behind it. Review: https://reviewboard.asterisk.org/r/3615/ ........ Merged revisions 416439 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-06-16 09:00 +0000 [r416337] Igor Goncharovskiy * cel/cel_sqlite3_custom.c, main/db.c, res/res_config_sqlite3.c, cdr/cdr_sqlite3_custom.c, /: We have faced situation when using CDR and CEL by sqlite3 modules. With system having high load (~100 concurrent calls created by sipp) we found many cdr and cel records missed. There is special finction in sqlite3, that make able to fix this situation - sqlite3_wait_timeout, that also can replace awful code cdr_sqlite3 ad cel_sqlite3 modules. Also this function can be used for aastdb and res_config_sqlite3 to avoid missed writes to sqlite db. #ASTERISK-23766 #close Reported by: Igor Goncharovsky Review: https://reviewboard.asterisk.org/r/3559/ ........ Merged revisions 416336 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-06-15 21:17 +0000 [r416252] Matthew Jordan * /, res/res_musiconhold.c: MoH: Undo commit r416150 (1.8) This patch reverts r416150. When the comparison between mohclass->name and state->class->name is made, you are not guaranteed that (a) state->class is non-NULL or that state or state->class are in a safe state. Crashes caught by the bridges/transfer_capabilities test. ........ Merged revisions 416251 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-06-13 13:08 +0000 [r416151] Kinsey Moore * /, res/res_musiconhold.c: MoH: Don't restart stream on repeated start calls Currently, music on hold will stop and then start again from the beginning if ast_moh_start() is called multiple times. This can happen if a call is put on hold repeatedly (the channel receives multiple HOLD control frames) and can be triggered from ARI by starting MoH on a channel multiple times. This is fairly jarring/annoying to users. This change prevents MoH from being restarted if the requested music class is the same as the one currently playing. Review: https://reviewboard.asterisk.org/r/3615/ ........ Merged revisions 416150 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-06-13 05:06 +0000 [r416067] Richard Mudgett * main/tcptls.c, main/manager.c, /, channels/chan_sip.c, main/http.c, include/asterisk/tcptls.h: AST-2014-007: Fix of fix to allow AMI and SIP TCP to send messages. ASTERISK-23673 #close Reported by: Richard Mudgett Review: https://reviewboard.asterisk.org/r/3617/ ........ Merged revisions 416066 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-06-12 21:16 +0000 [r415999] Rusty Newton * main/pbx.c, /: main/pbx - documentation - enhance 'core show hints' and 'core show hint' help text Adds descriptive help text to 'core show hints' and 'core show hint'. The text describes the various columns for the sake of clarity. ASTERISK-23764 Review: https://reviewboard.asterisk.org/r/3610/ ........ Merged revisions 415998 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-06-12 17:20 +0000 [r415915] Corey Farrell * channels/sip/sdp_crypto.c, /: chan_sip: DEBUG messages in sdp_crypto.c display despite a DEBUG level of zero Change debug level for messages in sdp_crypto.c from zero to one. This ensures the messages are not displayed when debugging is disabled. Change does not apply to 12+ as it was already fixed in those versions. ASTERISK-23246 #close Reported by: Rusty Newton Review: https://reviewboard.asterisk.org/r/3605/ ........ Merged revisions 415908 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-06-12 16:22 +0000 [r415854] Richard Mudgett * res/res_http_websocket.c, configs/http.conf.sample, include/asterisk/utils.h, main/tcptls.c, main/manager.c, /, channels/chan_sip.c, main/http.c, UPGRADE.txt, main/utils.c, include/asterisk/tcptls.h: AST-2014-007: Fix DOS by consuming the number of allowed HTTP connections. Simply establishing a TCP connection and never sending anything to the configured HTTP port in http.conf will tie up a HTTP connection. Since there is a maximum number of open HTTP sessions allowed at a time you can block legitimate connections. A similar problem exists if a HTTP request is started but never finished. * Added http.conf session_inactivity timer option to close HTTP connections that aren't doing anything. Defaults to 30000 ms. * Removed the undocumented manager.conf block-sockets option. It interferes with TCP/TLS inactivity timeouts. * AMI and SIP TLS connections now have better authentication timeout protection. Though I didn't remove the bizzare TLS timeout polling code from chan_sip. * chan_sip can now handle SSL certificate renegotiations in the middle of a session. It couldn't do that before because the socket was non-blocking and the SSL calls were not restarted as documented by the OpenSSL documentation. * Fixed an off nominal leak of the ssl struct in handle_tcptls_connection() if the FILE stream failed to open and the SSL certificate negotiations failed. The patch creates a custom FILE stream handler to give the created FILE streams inactivity timeout and timeout after a specific moment in time capability. This approach eliminates the need for code using the FILE stream to be redesigned to deal with the timeouts. This patch indirectly fixes most of ASTERISK-18345 by fixing the usage of the SSL_read/SSL_write operations. ASTERISK-23673 #close Reported by: Richard Mudgett ........ Merged revisions 415841 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-06-12 15:42 +0000 [r415837] Jonathan Rose * UPGRADE.txt: Correct UPGRADE.txt notes in r415825 The change was marked against the wrong version of Asterisk. My apologies. 2014-06-12 15:40 +0000 [r415835] Scott Griepentrog * /, apps/app_queue.c: app_queue: delayed state can cause early leavewhenempty ringing In app_queue, device state changes arrive in event messages and update the queue member status value. That value is checked in get_member_status() to decide that the caller should leave when there are no available members. Although event messages can be delayed by other activity, there is no adverse affect by lagged status except in one specific case: there is only one available member, it was just rung, and leavewhenempty is enabled set for ringing members. This change adds a direct check of the device state only under this condition where the caller may be dropped incorrectly, resolving this issue without affecting performance of app_queue normally. AST-1248 #close Review: https://reviewboard.asterisk.org/r/3595/ Reported by: Thomas Arimont ........ Merged revisions 415833 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-06-12 15:22 +0000 [r415825] Jonathan Rose * UPGRADE.txt, apps/app_mixmonitor.c: MixMonitor: Add class authorization requirements to MixMonitor AMI commands MixMonitor AMI commands StartMixMonitor and StopMixMonitor lacked class authorization. StopMixMonitor now requires that the manager user either have the call or system class authorization. StartMixMonitor is a slightly larger issue since it can execute shell commands if the right arguments are passed into it, and we consider this a permission escalation. A security release will be issued for problem this shortly. ASTERISK-23609 #close Reported by: Corey Farrell 2014-06-11 22:44 +0000 [r415728] Richard Mudgett * main/format.c: format.c: Fix misuse of hash container function. The supplied hash function to a container must be idempotent given the object's key value to figure out which container bucket the object belongs in. Returning a random number or the current container count is not idempotent. The "computed hash" value doesn't help find the object later in those cases. * Fixed the format_list container to actually be a list since that is how the container is used. Conceptually, if more than 283 formats were added to the format_list then odd things may have happened before the fix. 2014-06-10 09:13 +0000 [r415599] Alexandr Anikin * addons/chan_ooh323.c: chan_ooh323: fix loading module failure if there no accessible h323_log or ooh323 config file change return 1 to return AST_MODULE_LOAD_FAILURE on module load routine few cosmetic changes ASTERISK-23814 #close (closes issue ASTERISK-23814) Reported by: Igor Goncharovsky Patches: ASTERISK-23814-ast11.patch 2014-06-09 11:57 +0000 [r415522] Walter Doekes * contrib/scripts/safe_asterisk, /: safe_asterisk: Cleanup additions to r415132. Replaced a stray echo that should've been a message call in safe_asterisk. I'm using the contents of the old message inside the if $NOTIFY so peoples log parsing scripts won't get confused by new messages. I'll clean that up in trunk. (Note that a 'make install' still won't overwrite your old safe_asterisk if it exists. See ASTERISK-21965.) ASTERISK-23492 #close ........ Merged revisions 415521 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-06-09 03:47 +0000 [r415464] Corey Farrell * main/autoservice.c, /: autoservice: stop thread on graceful shutdown This change adds thread shutdown to autoservice for graceful shutdowns only. ast_register_cleanup is backported to 1.8 to allow this. The logger callid is also released on shutdown in 11+. ASTERISK-23827 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/3594/ ........ Merged revisions 415463 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-06-06 21:27 +0000 [r415390] Jonathan Rose * include/asterisk/manager.h, main/config.c, main/manager.c, /, channels/chan_sip.c, include/asterisk/config.h: chan_sip: Fix order of variables specified in SIPNotify action Prior to this patch, sequential variables would be ordered in reverse from the order specified in the manager action. Review: https://reviewboard.asterisk.org/r/3588/ ........ Merged revisions 415359 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-06-05 17:45 +0000 [r415229] Richard Mudgett * main/config.c, /: config: Fix config files not reloading when only an included file changes. The twisted logic determining if a config file should be reloaded was mostly broken and disabled. The incorrect test that ASTERISK-23383 fixed actually reenabled the broken logic. The incorrect test was causing the timestamp to always be cleared which caused config files with includes to always be reloaded. * Made wildcard includes always cause a reload. Determining if a file was deleted cannot be determined without restructuring the cache to determine if any files are missing from the last files actually loaded. Also without refactoring config_text_file_load(), the glob loop couldn't check more than one file for changes anyway. * Made remove the cache entry if the file no longer exists when trying to get its timestamp or it is no longer a regular file. This fixes the corner case where the file was loaded, then deleted, then the config reloaded, then the file restored with the same timestamp, and then the config reloaded again. * Made remove the cache entry include list when actually loading the file. This gets rid of any stale includes the file had from the last time the file was loaded. ASTERISK-23683 #close Reported by: tootai Review: https://reviewboard.asterisk.org/r/3575/ ........ Merged revisions 415225 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-06-05 14:32 +0000 [r415206] Matthew Jordan * apps/app_confbridge.c: app_confbridge: Allow muting of users waiting to enter a ConfBridge Prior to this patch, users waiting to enter a ConfBridge were not considered when muted via the CLI or via AMI. Instead, a confusing message would be emitted stating that the channel did not exist. This patch allows a user to be muted when waiting to enter a ConfBridge conference. This is equivalent to start when muted, only toggled via the CLI or AMI. Review: https://reviewboard.asterisk.org/r/3582 ASTERISK-23824 #close patches: rb3582.patch uploaded by tm1000 (License 6524) 2014-06-04 20:12 +0000 [r415171] Walter Doekes * contrib/scripts/safe_asterisk, /: safe_asterisk: Cleanup and debian compatibility. Cleans up the safe_asterisk script and adds the ASTSAFE_FOREGROUND option that allows the debian asterisk init script to capture the right pid. * Drop the vim #modeline which wasn't used. Use test consistently without the odd configure xno syntax. Double quote all paths. General cleanup. * Don't output message()s to the console but only to TTY if set. * Allow TTY to be "no" as well as empty (debian compatibility with debian/patches/safe_asterisk-config). * Add option to export ASTSAFE_FOREGROUND=1 from the init script that calls this to disable backgrounding. Debian uses a similar method in debian/patches/safe_asterisk-nobg). ASTERISK-23492 #close Review: https://reviewboard.asterisk.org/r/3574/ ........ Merged revisions 415132 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-06-04 07:20 +0000 [r415066] Corey Farrell * /, apps/confbridge/include/confbridge.h, apps/app_confbridge.c: app_confbridge: Correct verification of conference name length Conference names were not checked for maximum length, allowing unexpected behaviour. This change adds checking to ensure the maximum length is not exceeded. The maximum length is also changed from 32 to AST_MAX_EXTENSION. ASTERISK-23035 #close Reported by: Iñaki Cívico Tested by: Iñaki Cívico Patches: confbridge-enforce_max-1.8.patch uploaded by coreyfarrell (license 5909) confbridge-enforce_max-11up.patch uploaded by coreyfarrell (license 5909) ........ Merged revisions 415060 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-06-03 07:32 +0000 [r414998] Walter Doekes * /, funcs/func_odbc.c: func_odbc: Fix fixed size buffers fix (r414968). The change that removed the fixed size buffers in odbc-related code -- removing arbitrary column width limits -- was incomplete. This change adds: no segfault on writesql without insertsql and return value checks after strdup. While I was in the vicinity I cleaned up the linefeeds in the odbc function descriptions, moved some code for clarity, removed some blobs and noted (but didn't fix) that the 'odbc write ... exec' CLI command doesn't behave as the dialplan equivalent when insertsql= is used. #ASTERISK-23582 #close Review: https://reviewboard.asterisk.org/r/3579/ ........ Merged revisions 414997 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-05-30 11:59 +0000 [r414881] Matthew Jordan * main/config.c, /: main/config.c: AMI action UpdateConfig EmptyCat clears all categories When invoking UpdateConfig AMI action with Action set to EmptyCat, Asterisk will make all categories empty in the config but the one requested with a Cat variable. This is due to a bug in ast_category_empty (main/config.c) that makes an incorrect comparison for a category name. This patch corrects the comparison such that only the requested category is cleared. Review: https://reviewboard.asterisk.org/r/3573/ ASTERISK-23803 #close Reported by: zvision patches: manager.c.diff uploaded by zvision (License 5755) ........ Merged revisions 414880 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-05-29 18:33 +0000 [r414859] Kinsey Moore * main/pbx.c, /: PBX: Prevent incorrect hint parsing Dynamic and pattern matching hints should not be checked for their last known state until they are instantiated by subscribers. (closes issue AFS-56) Reported by: John Hardin Patch AFS-56-pbx.diff submitted by Matt Jordan (license 6283) ........ Merged revisions 414813 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-05-28 11:36 +0000 [r414694] Joshua Colp * res/res_config_odbc.c, /, funcs/func_odbc.c: res_config_odbc: Use dynamically sized buffers to store row data so values do not get truncated. ASTERISK-23582 #close ASTERISk-23582 #comment Reported by: Walter Doekes Review: https://reviewboard.asterisk.org/r/3557/ ........ Merged revisions 414693 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-05-28 09:41 +0000 [r414565-414677] Walter Doekes * channels/chan_unistim.c: chan_unistim: Unlock mutex in rare OOM condition. ASTERISK-23792 #close Reported by: Peter Whisker Review: https://reviewboard.asterisk.org/r/3567/ * /, channels/chan_sip.c: chan_sip: Start session timer at 200, not at INVITE. Asterisk started counting the session timer at INVITE while the other end correctly started at 200. This meant that for short session-expiries (90 seconds) combined with long ringing times (e.g. 30 seconds), asterisk would wrongly assume that the timer was hit before the other end thought it was time to send a session refresh. This resulted in prematurely ended calls. This changes the session timer to start counting first at 200 like RFC says it should. (Also removed a few excess NULL checks that would never hit, because if they did, asterisk would have crashed already.) ASTERISK-22551 #close Reported by: i2045 Review: https://reviewboard.asterisk.org/r/3562/ ........ Merged revisions 414620 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * res/res_config_odbc.c, /: res_config_odbc: Fix old and new ast_string_field memory leaks. The ODBC realtime driver uses ^NN parameter encoding to cope with the special meaning of the semi-colon. A semi-colon in a field is interpreted as if the key was supplied twice, something which isn't otherwise possible with fixed database columns. E.g. allow=alaw;ulaw is parsed as allow=alaw and allow=ulaw. A literal semi-colon is rewritten to ^3B when stored in the database. The module uses a stringfield to efficiently store the encoded parameters. However, this stringfield wasn't always freed in some off-nominal cases. Commit r413241 fixed initialization so the encoding for INSERT and DELETE queries wouldn't crash. (Only SELECTs and UPDATEs worked apparently.) But that commit forgot the frees. This change cleans that up. Review: https://reviewboard.asterisk.org/r/3555/ ........ Merged revisions 414564 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-05-29 Asterisk Development Team * Asterisk 11.10.0 Released. 2014-05-22 Asterisk Development Team * Asterisk 11.10.0-rc1 Released. 2014-05-22 15:50 +0000 [r414402] Richard Mudgett * /, apps/app_meetme.c: app_meetme: Don't interrupt MOH for waitmarked users. Occasionally, when the last marked user leaves the conference, waitmarked users don't get MOH if MOH is supposed to be played while a waitmarked user is waiting for another marked user. * Made not interrupt MOH when the user is a waitmarked user. The waitmarked user doesn't need to hear any leave announcements from the conference as the user would have already heard different leave announcements if they were enabled. Apparently DAHDI occasionally sends unending non-silent streams to these users or a normal user still in the conference has continuous high background noise. These non-silent streams cause MOH to be suspended while the never ending "announcement" is played. Issue caused by ASTERISK-13680. AST-1349 #close Reported by: Tyler Stewart Review: https://reviewboard.asterisk.org/r/3543/ ........ Merged revisions 414401 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-05-22 13:59 +0000 [r414346] Matthew Jordan * UPGRADE.txt, /: UPGRADE: Add note for REF_DEBUG flag ........ Merged revisions 414345 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-05-21 22:05 +0000 [r414270] Richard Mudgett * channels/chan_local.c, /: chan_local: Only block media frames when a generator is on both ends of a local channel. The fix for ASTERISK-12292 was a bit too aggressive. You could have generators pointed at each other on local channels but need to get other kinds of frames such as DTMF or CONNECTED_LINE frames accross. ........ Merged revisions 414269 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-05-21 19:05 +0000 [r414215] Scott Griepentrog * /, funcs/func_strings.c: pbx.c: prevent potential crash from recursive replace() Recurisve usage of replace() resulted in corruption of the temporary string storage and potential crash. By changing the string to be allocated separtely per instance, this is eliminated. ASTERISK-23650 #comment Reported by: Roel van Meer ASTEIRSK-23650 #close Review: https://reviewboard.asterisk.org/r/3539/ ........ Merged revisions 414214 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-05-19 13:37 +0000 [r414153] Alexandr Anikin * addons/chan_ooh323.c, /: chan_ooh323: fix h323_log full path name * fix to use astlogdir option for h323_log file instead of hardcoded ASTERISK-23754 #close Reported by: Igor Goncharovsky Patches: ooh323_logger_patch.diff ........ Merged revisions 414152 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-05-16 20:03 +0000 [r413992-414068] Richard Mudgett * channels/chan_dahdi.c, /: chan_dahdi: Fix analog dialtone detection. * Check if waitingfordt (waitfordialtone) is enabled in dahdi_read() to allow the DSP to operate early enough to detect dialtone. * Made use the correct variable in my_check_waitingfordt(). ASTERISK-23709 #close Reported by: Steve Davies Patches: dialtone_detect_fix (license #5012) patch uploaded by Steve Davies Review: https://reviewboard.asterisk.org/r/3534/ ........ Merged revisions 414067 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * channels/sig_pri.c: sig_pri.c: Pull the pri_dchannel() PRI_EVENT_RING case into its own function. * Populate the CALLERID(ani2) value (and the special CALLINGANI2 channel variable) with the ANI2 value in addition to the PRI specific ANI2 channel variable. * /, apps/app_meetme.c: app_meetme: Fix overwrite of DAHDI conference data structure. Starting a conference recording using the admin menu overwrites the DAHDI conference data structure used to modify the admin user's conference mute mode. * Made no longer pass the user's DAHDI conference data structure into the menu functions. The menu now uses its own DAHDI conference data structure to start the recording channel. * Moved the unlock conf->playlock to before playing the conf-full message. No sense keeping the lock while that prompt is playing. The user is never going to get into the conference at that point. ........ Merged revisions 413991 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-05-14 15:31 +0000 [r413895] Walter Doekes * /, res/res_musiconhold.c: res_musiconhold: Minor cleanup. Fix a few free()'s that should be ast_free()'s. Reverted an old workaround that isn't necessary. Reorder a tiny bit of code. Remove a bit of commented-out code. Review: https://reviewboard.asterisk.org/r/3536/ ........ Merged revisions 413894 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-05-13 17:40 +0000 [r413876] Jonathan Rose * channels/chan_sip.c: chan_sip: Add TLS and SRTP status to CLI command 'sip show channel' ASTERISK-23564 #close Reported by: Patrick Laimbock Review: https://reviewboard.asterisk.org/r/3474/ 2014-05-13 14:34 +0000 [r413788-413838] Walter Doekes * /, channels/chan_sip.c: chan_sip+CEL: Add missing ANSWER and PICKUP events to INVITE/w/replaces pickup. When doing a "BLF-style call pickup" -- an INVITE with Replaces: header -- the CEL log would lack the ANSWER and PICKUP events. This patch adds the two missing events to the handle_invite_replaces() function. ASTERISK-22977 #close Review: https://reviewboard.asterisk.org/r/3073/ ........ Merged revisions 413832 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * res/res_format_attr_h264.c: h264: Fix H264 SDP payload format. https://tools.ietf.org/html/rfc3984#section-8.1 says profile-level-id takes 3 bytes in base16 (6 hex digits). This fixes video setup in certain cases. ASTERISK-23664 #close ASTERISK-23664 #comment Patch r3530.patch uploaded by Guillaume Maudoux. Review: https://reviewboard.asterisk.org/r/3530/ * main/rtp_engine.c, /: rtp: Fix case typo in H263+ mime. http://tools.ietf.org/html/rfc3555#section-4.2.6 says the canonical mime subtype is "H263-1998", not "h263-1998". Original code was added in r183101 on 2009-03-19 02:26:50 +0100. This fixes issues with Polycom phones. ASTERISK-23665 #close ASTERISK-23665 #comment Patch r3529.patch uploaded by Guillaume Maudoux, backported by me. Review: https://reviewboard.asterisk.org/r/3529/ ........ Merged revisions 413787 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-05-12 23:48 +0000 [r413765] Richard Mudgett * channels/sig_pri.c, /, configure, include/asterisk/autoconfig.h.in, configure.ac: chan_dahdi/sig_pri: Prevent unnecessary PROGRESS events when overlap dialing is enabled. When overlap dialing is enabled, the lack of inband audio available information in the SETUP_ACKNOWLEDGE events causes an interoperability problem with SIP. sig_pri doesn't know if there is dialtone present when a SETUP_ACKNOWLEDGE is received so it assumes it is there and posts an AST_CONTROL_PROGRESS frame. The SIP channel driver then sends out a 183 Session Progress and blocks the desired 180 Ringing message when the ALERTING message comes in. * Made the configure script detect if the installed version of libpri supports the SETUP_ACKNOWLEDGE enhancements. * Using the new API, made generate an AST_CONTROL_PROGRESS frame on an incoming SETUP_ACKNOWLEDGE message when the message indicates inband audio is present instead of assuming that dialtone is present. * Using the new API, made SETUP_ACKNOWLEDGE send out an inband audio available indication only if dialtone is expected. The change also makes the fallback behaviour of sending the PROGRESS message better by sending it only if dialtone is expected. * Changed receiving a PROCEEDING message to not generate an AST_CONTROL_PROGRESS frame if the progress indication ie indicates non-end-to-end-ISDN. This helps interoperability with SIP. * Changed sending a PROCEEDING message in response to an AST_CONTROL_PROCEEDING frame to not indicate inband audio available. It was silly to do so anyway because the channel driver doesn't know if inband audio is even available. This helps interoperability with SIP. This patch and a corresponding change in libpri work together to allow Asterisk to control the inband audio available progress indication ie on the SETUP_ACKNOWLEDGE message when dialtone is present. AST-1338 #close Reported by: Tyler Stewart Review: https://reviewboard.asterisk.org/r/3521/ ........ Merged revisions 413714 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-05-12 22:02 +0000 [r413710] Jonathan Rose * apps/app_chanspy.c: app_chanspy: Fix a test that was failing on account of r413551 ASTERISK-23381 #close ASTERISK-23381 #comment Reported by: Robert Moss Review: https://reviewboard.asterisk.org/r/3505/ 2014-05-09 23:08 +0000 [r413587-413595] Kinsey Moore * /, funcs/func_env.c: Fix 32bit build for func_env ........ Merged revisions 413592 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * res/res_fax_spandsp.c, res/res_odbc.c, main/asterisk.c, res/res_calendar.c, apps/app_voicemail.c, channels/chan_unistim.c, main/ccss.c, funcs/func_sysinfo.c, main/utils.c, res/res_musiconhold.c, channels/chan_gtalk.c, res/res_jabber.c, res/res_http_websocket.c, res/res_format_attr_h264.c, main/enum.c, main/io.c, main/channel.c, res/ael/pval.c, channels/chan_phone.c, main/manager.c, res/res_config_odbc.c, apps/app_minivm.c, channels/chan_motif.c, res/res_agi.c, main/logger.c, main/app.c, apps/app_confbridge.c, res/res_format_attr_silk.c, channels/chan_mgcp.c, apps/app_adsiprog.c, res/res_rtp_asterisk.c, main/stun.c, res/res_calendar_icalendar.c, channels/chan_sip.c, apps/app_festival.c, res/res_fax.c, main/translate.c, main/slinfactory.c, res/res_crypto.c, main/acl.c, apps/app_queue.c, apps/app_getcpeid.c, channels/sig_pri.c, res/res_srtp.c, channels/chan_jingle.c, res/res_corosync.c, res/res_stun_monitor.c, main/abstract_jb.c, main/callerid.c, main/file.c, main/config_options.c, main/adsi.c, main/event.c, pbx/pbx_dundi.c, apps/app_sms.c, channels/sip/config_parser.c, apps/app_stack.c, apps/app_verbose.c, main/dsp.c, main/xmldoc.c, main/udptl.c, main/format.c, cel/cel_pgsql.c, main/frame.c, channels/chan_local.c, main/rtp_engine.c, main/security_events.c, /, funcs/func_env.c, res/res_timing_dahdi.c, bridges/bridge_softmix.c, main/devicestate.c, cdr/cdr_adaptive_odbc.c, res/res_calendar_caldav.c, main/taskprocessor.c, res/res_xmpp.c, res/res_format_attr_h263.c, channels/chan_iax2.c, res/res_pktccops.c, main/config.c, main/loader.c, main/cli.c, res/res_format_attr_celt.c, apps/confbridge/conf_config_parser.c, funcs/func_hangupcause.c, channels/chan_dahdi.c, cel/cel_odbc.c, channels/sig_analog.c, include/asterisk/astobj.h, channels/chan_skinny.c, formats/format_pcm.c, main/features.c, apps/app_dumpchan.c, funcs/func_srv.c, channels/chan_alsa.c, main/stdtime/localtime.c, main/bridging.c, channels/sip/include/sip.h, main/sched.c, apps/app_dial.c, res/res_calendar_exchange.c, main/pbx.c, pbx/dundi-parser.c, main/aoc.c, main/cel.c, channels/iax2-parser.c, res/res_calendar_ews.c, res/res_monitor.c, main/netsock.c, main/data.c, main/audiohook.c, funcs/func_iconv.c, pbx/pbx_config.c: Allow Asterisk to compile under GCC 4.10 This resolves a large number of compiler warnings from GCC 4.10 which cause the build to fail under dev mode. The vast majority are signed/unsigned mismatches in printf-style format strings. ........ Merged revisions 413586 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-05-09 16:10 +0000 [r413551] Jonathan Rose * apps/app_chanspy.c: app_chanspy: Fix a bug where Barge mode could fail If the barge audiohook was attached prior to the spyee and its peer actually being bridged, the audiohook would not be applied and the connected peer would not be able to hear audio from the spy when the spy is in barge mode. (closes issue ASTERISK-23381) Reported by: Robert Moss Review: https://reviewboard.asterisk.org/r/3505/ 2014-05-08 00:34 +0000 [r413486] Joshua Colp * main/manager.c, /, apps/app_queue.c: app_queue: Extend documentation for various Manager actions and events. ........ Merged revisions 413485 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-05-07 20:29 +0000 [r413451] Richard Mudgett * apps/app_confbridge.c: app_confbridge: Fix ref leak in CLI "confbridge kick" command. Fixed ref leak in the CLI "confbridge kick" command when the channel to be kicked was not in the conference. 2014-05-07 17:48 +0000 [r413397] Mark Michelson * res/res_config_odbc.c, /: Fix encoding of custom prepare extra data. Patches: res_config_odbc-take2.patch by John Hardin (License #6512) ........ Merged revisions 413396 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-05-06 17:01 +0000 [r413305] Mark Michelson * res/res_config_odbc.c, /: Ensure that all parts of SQL UPDATEs and DELETEs are encoded. Patches: res_config_odbc.patch by John Hardin (License #6512) ........ Merged revisions 413304 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-05-02 20:25 +0000 [r413225-413251] Mark Michelson * res/res_config_odbc.c, /: Prevent crashes in res_config_odbc due to uninitialized string fields. Patches: odbc-crash.patch by John Hardin (License #6512) ........ Merged revisions 413241 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * res/res_config_pgsql.c, /: Return the number of rows affected by a SQL insert, rather than an object ID. The realtime API specifies that the store callback is supposed to return the number of rows affected. res_config_pgsql was instead returning an Oid cast as an int, which during any nominal execution would be cast to 0. Returning 0 when more than 0 rows were inserted causes problems to the function's callers. To give an idea of how strange code can be, this is the necessary code change to fix a device state issue reported against chan_pjsip in Asterisk 12+. The issue was that the registrar would attempt to insert contacts into the database. Because of the 0 return from res_config_pgsql, the registrar would think that the contact was not successfully inserted, even though it actually was. As such, even though the contact was query-able and it was possible to call the endpoint, Asterisk would "think" the endpoint was unregistered, meaning it would report the device state as UNAVAILABLE instead of NOT_INUSE. The necessary fix applies to all versions of Asterisk, so even though the bug reported only applies to Asterisk 12+, the code correction is being inserted into 1.8+. Closes issue ASTERISK-23707 Reported by Mark Michelson ........ Merged revisions 413224 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-04-30 20:26 +0000 [r413139] Richard Mudgett * main/message.c, channels/chan_sip.c, include/asterisk/message.h: chan_sip.c: Fixed off-nominal message iterator ref count and alloc fail issues. * Fixed early exit in sip_msg_send() not destroying the message iterator. * Made ast_msg_var_iterator_next() and ast_msg_var_iterator_destroy() tolerant of a NULL iter parameter in case ast_msg_var_iterator_init() fails. * Made ast_msg_var_iterator_destroy() clean up any current message data ref. * Made struct ast_msg_var_iterator, ast_msg_var_iterator_init(), ast_msg_var_iterator_next(), ast_msg_var_unref_current(), and ast_msg_var_iterator_destroy() use iter instead of i. 2014-04-30 13:04 +0000 [r413123] Kinsey Moore * res/res_http_websocket.c: Websocket: Add session locking and delay close This resolves a race condition where data could be written to a NULL FILE pointer causing a crash as a websocket connection was in the process of shutting down by adding locking to websocket session writes and by deferring session teardown until session destruction. (closes issue ASTERISK-23605) Review: https://reviewboard.asterisk.org/r/3481/ Reported by: Matt Jordan 2014-04-25 17:47 +0000 [r413008] Matthew Jordan * res/res_rtp_asterisk.c: res_rtp_asterisk: Add support for DTLS handshake retransmissions On congested networks, it is possible for the DTLS handshake messages to get lost. This patch adds a timer to res_rtp_asterisk that will periodically check to see if the handshake has succeeded. If not, it will retransmit the DTLS handshake. Review: https://reviewboard.asterisk.org/r/3337 ASTERISK-23649 #close Reported by: Nitesh Bansal patches: dtls_retransmission.patch uploaded by Nitesh Bansal (License 6418) 2014-04-23 17:51 +0000 [r412923] Richard Mudgett * /, main/http.c: http: Fix spurious ERROR message in responses with no content. Backport -r411687 and fix the fix because content_length is the length of out plus the length of the file controlled by fd. When a response has an out content length of 0, fwrite would be called to write a buffer with no data in it. This resulted in the following classic error message: [Apr 3 11:49:17] ERROR[26421] http.c: fwrite() failed: Success This patch makes it so that we only attempt to write the content of out if the out string is non-zero. ........ Merged revisions 412922 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-04-21 17:53 +0000 [r412767-412822] Jonathan Rose * /, CHANGES: chan_sip: trust_id_outbound CHANGES message improvement (closes issue AST-1301) (closes issue ASTERISK-19465) Reported by: Krzysztof Chmielewski ........ Merged revisions 412821 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * /, CHANGES: Typo in CHANGES ........ Merged revisions 412764 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-04-21 16:13 +0000 [r412748] Kinsey Moore * main/manager.c, /, main/http.c: HTTP: Add TCP_NODELAY to accepted connections This adds the TCP_NODELAY option to accepted connections on the HTTP server built into Asterisk. This option disables the Nagle algorithm which controls queueing of outbound data and in some cases can cause delays on receipt of response by the client due to how the Nagle algorithm interacts with TCP delayed ACK. This option is already set on all non-HTTP AMI connections and this change would cover standard HTTP requests, manager HTTP connections, and ARI HTTP requests and websockets in Asterisk 12+ along with any future use of the HTTP server. Review: https://reviewboard.asterisk.org/r/3466/ ........ Merged revisions 412745 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-04-21 15:51 +0000 [r412746] Jonathan Rose * configs/sip.conf.sample, CHANGES, channels/sip/include/sip.h, /, channels/chan_sip.c: chan_sip: Add sendrpid trust options In r411189, some behavior was changed which made sendrpid behavior act in a more trusting manner by sending full user data for peers set with private caller presence in P-Asserted-Identity headers. Since this changed long time expected behaviors, we decided to pull that patch when that was pointed out by the community. Instead, this patch provides a trust_id_outbound setting which will expose the data per RFC-3325 if set to 'yes' and simply not send the PAI/RPID headers at all if set to 'no'. By default trust_id_outbound will be set to 'legacy' which will preserve the behavior prior to these patches. Extra special thanks to Walter Doekes for providing advice and feedback. (closes issue AST-1301) (closes issue ASTERISK-19465) Reported by: Krzysztof Chmielewski Review: https://reviewboard.asterisk.org/r/3447/ ........ Merged revisions 412744 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-04-21 08:29 +0000 [r412712] Igor Goncharovskiy * channels/chan_unistim.c: Fix wrong dialtone. The "modulation" should not be referenced for tone+tone as it refers to the on-off characteristic - this often resulted in a single tone rather than the multitone as in the UK. 2014-04-19 01:02 +0000 [r412656] Matthew Jordan * /, apps/app_sms.c: app_sms: Fix uninitialized values; hangup channel when REL is sent successfully This patch fixes two issues in app_sms: (1) Firstly, the 'flags' field on the stack in sms_exec() is uninitialised, causing it to use the wrong protocol in some cases. This patch correctly initializes the flags fields. (2) Secondly, when disconnect supervision is not working or inbanddisconnect=yes is set in chan_dahdi.conf, app_sms was failing to terminate the call after it sent the REL(ease) message and the peer stopped talking to it. This patch fixes the code to handle the 'bad stop bit' message more gracefully in that case, and hang up the call. Review: https://reviewboard.asterisk.org/r/1392/ ASTERISK-18331 #close Reported by: David Woodhouse patches: asterisk-fix-sms.patch uploaded by David Woodhouse (License 5754) ........ Merged revisions 412655 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-04-18 17:15 +0000 [r412586] Rusty Newton * sounds/sounds.xml, sounds/Makefile: sounds: Fix Sounds Makefile and XML that didn't support new sound prompt sets In sounds/Makefile 1 Adds and moves some lines necessary for the en_GB core set. I'm just following how the other sets are defined here. 2 removes the ES extra sounds related lines as we don't have ES extra sound sets. In sounds/sounds.xml 3 Adds member definitons for EN_AU, EN_GB, IT for core sound sets, and EN_GB in extra sound sets ASTERISK-23550 #close Review: https://reviewboard.asterisk.org/r/3464/ 2014-04-17 20:06 +0000 [r412468] Matthew Jordan * channels/chan_oss.c, main/Makefile: main/Makefile: Fix build failure on SmartOS/Illumos/SunOS This patch fixes two issues when building on SmartOS: - channels/chan_oss.c: it makes sure soundcard.h is found - main/Makefile: only use "-Wl,--version-script" when GNU LD is used as the Sun Linker doesn't support that. Similar checks are already used elswhere in the Makefile Review: https://reviewboard.asterisk.org/r/3426 ASTERISK-23576 #close Reported by: Sebastian Wiedenroth patches: fix-sunos.diff uploaded by Sebastian Wiedenroth (License 6597) 2014-04-15 16:23 +0000 [r412348] Richard Mudgett * channels/chan_sip.c: chan_sip.c: Moved some sip_pvt unrefs after their last use. * Moved sip_pvt unref in ast_hangup() and handle_request_do() to the end of the function. The unref needs to happen after the last use of the pointer. 2014-04-15 15:40 +0000 [r412329] Jonathan Rose * /, channels/chan_sip.c, configs/sip.conf.sample: Reverting r411189 so that it can be put up for public review --- r411189 | jrose | 2014-03-26 10:50:48 -0500 (Wed, 26 Mar 2014) | 12 lines chan_sip: Send real CallerID information with P-Assserted-Identity (RFC-3325) Prior to this patch, the P-Asserted-Identity header would include anonymous caller id information which seems to go against the point of the P-Asserted-Identity header. Now the real caller ID information will be included in this header. Also, no privacy header would be included. This patch adds 'Privacy: id' to outgoing SIP messages that include the P-Asserted-Identity header. (closes issue AST-1301) --- ........ Merged revisions 412328 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-04-14 15:50 +0000 [r412305] Corey Farrell * main/autoservice.c: autoservice: fix reference leak of logger callid. autoservice acquires a local reference to the logger callid of each channel in a loop. This local reference was not released, causing the callid of every channel in autoservice to leak. This change moves the callid unref inside the loop. ASTERISK-23616 #close Reported by: ibercom 2014-04-11 21:38 +0000 [r412226] Richard Mudgett * apps/app_stack.c, /: app_stack: Add missing unlock in off-nominal path of STACK_PEEK function. ASTERISK-23620 #close Reported by: Bradley Watkins Patches: ASTERISK-23620_unlock_oldlist.patch (license #5021) patch uploaded by Bradley Watkins ........ Merged revisions 412225 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-04-11 02:10 +0000 [r412115] Matthew Jordan * /, channels/chan_sip.c, channels/sip/security_events.c, include/asterisk/astobj2.h, main/utils.c, main/astobj2.c, contrib/scripts/refcounter.py (added), main/asterisk.c, build_tools/cflags.xml: main/astobj2: Make REF_DEBUG a menuselect item; improve REF_DEBUG output This patch does the following: (1) It makes REF_DEBUG a meneselect item. Enabling REF_DEBUG now enables REF_DEBUG globally throughout Asterisk. (2) The ref debug log file is now created in the AST_LOG_DIR directory. Every run will now blow away the previous run (as large ref files sometimes caused issues). We now also no longer open/close the file on each write, instead relying on fflush to make sure data gets written to the file (in case the ao2 call being performed is about to cause a crash) (3) It goes with a comma delineated format for the ref debug file. This makes parsing much easier. This also now includes the thread ID of the thread that caused ref change. (4) A new python script instead for refcounting has been added in the contrib/scripts folder. Review: https://reviewboard.asterisk.org/r/3377/ ........ Merged revisions 412114 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-04-08 21:20 +0000 [r411944-411974] Richard Mudgett * main/asterisk.c, /: Internal timing: Add notice that the -I and internal_timing option are no longer needed. Add notice messages during execution that the -I command line option and the astersik.conf internal_timing option are no longer needed. The internal timing functionality is now always enabled if there is a timing module loaded. NOTE: Since the command line options and the asterisk.conf config file are processed before the logging system is initialized, the messages are output to stderr. Change requested as a result of asterisk-dev list comments about the commit for ASTERISK-22846 that removed the -I and internal_timing options. Review: https://reviewboard.asterisk.org/r/3423/ ........ Merged revisions 411964 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * /, main/config.c: config: Fix CB_ADD_LEN() to work as originally intended. Fix a long standing bug in CB_ADD_LEN() behaving like CB_ADD(). ASTERISK-23546 #close Reported by: Walter Doekes ........ Merged revisions 411960 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * apps/confbridge/conf_config_parser.c: app_confbridge: Fix confbridge.conf dsp_talking_threshold option setting wrong parameter. Fixed copy pasta error. ASTERISK-23545 #close Reported by: John Knott 2014-04-07 14:48 +0000 [r411808] Walter Doekes * configs/res_odbc.conf.sample, /, UPGRADE.txt: configs: Clean up long line and typo in res_odbc.conf.sample. ........ Merged revisions 411807 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-04-04 18:46 +0000 [r411716] Richard Mudgett * include/asterisk/options.h, main/asterisk.c, main/channel.c, /, channels/chan_sip.c, configs/asterisk.conf.sample, UPGRADE.txt: internal_timing: Remove the option and always make it enabled if a timing module is loaded. The masquerade supertest frequently fails because either the local channel chain doesn't completely optimize out or the DTMF handshake doesn't completely get accross. Local channel optimization requires frames flowing to trigger when optimization can happen. When optimization happens the media frame that triggered the optimization is dropped. Sending DTMF requires frames to flow in the other direction for timing purposes while sending nothing. If internal timing is not enabled when MOH is playing, Asterisk switches to received timing when an audio frame is received. With optimization dropping media frames and MOH not sending frames unless it receives frames, occasionaly there are no more frames being passed and the test fails. * The asterisk command line -I option and the asterisk.conf internal_timing option are removed. Asterisk now always uses internal timing when needed if any timing module is loaded. The issue ASTERISK-14861 did this quite awhile ago in v1.4 but effectively is broken if other internal timing modules besides DAHDI are used. The ast_read_generator_actions() now only does received timing if it has no choice for frame generators like MOH, silence, and playback streaming. * Cleaned up some code dealing with frame generators in ast_deactivate_generator(), generator_write_format_change(), ast_activate_generator(), and ast_channel_stop_silence_generator(). ASTERISK-22846 #close Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/3414/ ........ Merged revisions 411715 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-04-01 20:43 +0000 [r411633] Corey Farrell * utils/extconf.c, include/asterisk/options.h, main/asterisk.c, apps/app_voicemail.c, main/channel.c: app_voicemail: fix missing symbol ASTERISK-23391 caused a regression where the symbol 'defaultlanguage' was used by app_voicemail but not exported by main/asterisk. This change renames the variable to ast_defaultlanguage. The variable was already renamed in Asterisk 12+. (closes issue ASTERISK-23559) Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/3408/ 2014-04-01 16:49 +0000 [r411585] Joshua Colp * apps/app_queue.c, /: app_queue: Fix a bug where realtime members would be deleted during reload causing waiting callers to get ejected. This patch causes realtime queue members to remain in queues during the reload process. Previously these members would be removed causing any waiting callers to be ejected from the queue with a reason of "EXITEMPTY". ASTERISK-23547 #close ASTERISK-23547 #comment Patch app_queue_fix_realtime_reload_1.8_trunk.patch submitted by Italo Rossi (license 6409) Review: https://reviewboard.asterisk.org/r/3404/ ........ Merged revisions 411584 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-04-23 Asterisk Development Team * Asterisk 11.9.0 Released. 2014-04-21 Asterisk Development Team * Asterisk 11.9.0-rc3 Released. * chan_sip: Add sendrpid trust options In r411189, some behavior was changed which made sendrpid behavior act in a more trusting manner by sending full user data for peers set with private caller presence in P-Asserted-Identity headers. Since this changed long time expected behaviors, we decided to pull that patch when that was pointed out by the community. Instead, this patch provides a trust_id_outbound setting which will expose the data per RFC-3325 if set to 'yes' and simply not send the PAI/RPID headers at all if set to 'no'. By default trust_id_outbound will be set to 'legacy' which will preserve the behavior prior to these patches. Extra special thanks to Walter Doekes for providing advice and feedback. 2014-04-14 Asterisk Development Team * Asterisk 11.9.0-rc2 Released. * autoservice: fix reference leak of logger callid. autoservice acquires a local reference to the logger callid of each channel in a loop. This local reference was not released, causing the callid of every channel in autoservice to leak. This change moves the callid unref inside the loop. ASTERISK-23616 #close Reported by: ibercom * app_voicemail: fix missing symbol ASTERISK-23391 caused a regression where the symbol 'defaultlanguage' was used by app_voicemail but not exported by main/asterisk. This change renames the variable to ast_defaultlanguage. The variable was already renamed in Asterisk 12+. (closes issue ASTERISK-23559) Reported by: Corey Farrell 2014-03-28 Asterisk Development Team * Asterisk 11.9.0-rc1 Released. 2014-03-28 17:44 +0000 [r411531] Alexandr Anikin * addons/ooh323c/src/oochannels.c, addons/ooh323c/src/ooCmdChannel.c, addons/ooh323c/src/ooq931.c, addons/ooh323c/src/ooh323.c, addons/ooh323c/src/ooGkClient.c, addons/chan_ooh323.c: process stack command even if gatekeeper client isn't register don't destroy gatekeeper client if it is not started don't destroy gatekeeper client in some sort of gatekeeper errors signal rtp create condition when call cleared before rtp structure created (closes issue ASTERISK-23460) Reported by: Dmitry Melekhov Patches: ASTERISK-23460-2.patch Tested by: Dmitry Melekhov 2014-03-28 16:16 +0000 [r411463] Scott Griepentrog * main/manager.c, /, main/http.c, main/tcptls.c: http: response body often missing after specific request This patch works around a problem with the HTTP body being dropped from the response to a specific client and under specific circumstances: a) Client request comes from node.js user agent "Shred" via use of swagger-client library. b) Asterisk and Client are *not* on the same host or TCP/IP stack In testing this problem, it has been determined that the write of the HTTP body is lost, even if the data is written using low level write function. The only solution found is to instruct the TCP stack with the shutdown function to flush the last write and finish the transmission. See review for more details. ASTERISK-23548 #close (closes issue ASTERISK-23548) Reported by: Sam Galarneau Review: https://reviewboard.asterisk.org/r/3402/ ........ Merged revisions 411462 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-03-28 15:43 +0000 [r411373-411458] Matthew Jordan * /, UPGRADE.txt: UPGRADE: Note IAX2 compatibility issue between 1.4 and 1.8+ systems. ........ Merged revisions 411457 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * configs/res_odbc.conf.sample, include/asterisk/res_odbc.h, res/res_config_odbc.c, /, res/res_odbc.exports.in, UPGRADE.txt, res/res_odbc.c: res_config_odbc/res_odbc: Fix handling of non-text columns updates with empty values. This patch fixes setting nullable integer columns to NULL instead of an empty string, which fails for PostgreSQL, for example. The current code is supposed to do so, but the check is broken. The patch also allows the first column in the list to be a nullable integer. This patch also adds a compatibility setting in res_odbc.conf, allow_empty_string_in_nontext. It is enabled by default. It should be disabled for database backends (such as PostgreSQL) that require NULL instead of an empty string for Integer columns. Review: https://reviewboard.asterisk.org/r/3375 (issue ASTERISK-23459) Reported by: zvision patches: res_config_odbc.diff uploaded by zvision (License 5755) ........ Merged revisions 411399 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * channels/sip/include/sip.h, /: chan_sip: Add MESSAGE request to allowed methods The allowed methods advertised by chan_sip did not previously note the MESSAGE request. Even in Asterisk 1.8, we do accept in-dialog MESSAGE requests; we should advertise that we support MESSAGE requests. ASTERISK-23504 #close ASTERISK-23504 #comment Reported by: Martin Kontsek ASTERISK-23504 #comment Patch sip.h_patch.diff uploaded by Martin Kontsek (license 6587) Review: https://reviewboard.asterisk.org/r/3396/ ........ Merged revisions 411372 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-03-27 19:13 +0000 [r411310-411314] Corey Farrell * funcs/func_strings.c, funcs/func_math.c, funcs/func_jitterbuffer.c, res/res_xmpp.c, channels/chan_iax2.c, res/res_jabber.c, res/res_mutestream.c, funcs/func_global.c, apps/app_speech_utils.c, apps/confbridge/conf_config_parser.c, funcs/func_pitchshift.c, funcs/func_callcompletion.c, funcs/func_groupcount.c, funcs/func_volume.c, funcs/func_odbc.c, funcs/func_blacklist.c, funcs/func_channel.c, funcs/func_frame_trace.c, main/features.c, funcs/func_callerid.c, apps/app_stack.c, main/message.c, res/res_calendar.c, apps/app_jack.c, apps/app_voicemail.c, funcs/func_speex.c, funcs/func_dialplan.c, channels/chan_sip.c, /: Fix dialplan function NULL channel safety issues (closes issue ASTERISK-23391) Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/3386/ ........ Merged revisions 411313 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * main/format.c, include/asterisk.h, main/asterisk.c: main/formats: Fix crash in ast_format_cmp during non-clean shutdown. * Backport ast_register_cleanup from Asterisk 12. * Use ast_register_cleanup for format_attr_shutdown. ast_register_cleanup was originally commited in r390122 by dlee. (closes issue ASTERISK-23103) Reported by: JoshE 2014-03-26 22:44 +0000 [r411244] Joshua Colp * /, main/say.c: say: Fix a bug where SayNumber in Polish tries to play incorrect sound. This change fixes a bug where calling SayNumber with a number divisible by 100 using the Polish language would cause the code to attempt to play a sound file with an empty name. (closes issue ASTERISK-23509) Reported by: zvision Review: https://reviewboard.asterisk.org/r/3378/ ........ Merged revisions 411243 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-03-26 15:57 +0000 [r411190] Jonathan Rose * configs/sip.conf.sample, /, channels/chan_sip.c: chan_sip: Send real CallerID information with P-Assserted-Identity (RFC-3325) Prior too this patch, the P-Asserted-Identity header would include anonymous caller id information which seems to go against the point of the P-Asserted-Identity header. Now the real caller ID information will be included in this header. Also, no privacy header would be included. This patch adds 'Privacy: id' to outgoing SIP messages that include the P-Asserted-Identity header. (closes issue AST-1301) ........ Merged revisions 411189 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-03-25 15:52 +0000 [r411089] Kinsey Moore * /, channels/chan_sip.c: chan_sip: Fix incorrect use of timers If update_provisional_keepalive() is called while send_provisional_keepalive_full() is waiting on the PVT lock, then pvt->provisional_keepalive_sched_id will be changed to a new sched_id value by update_provisional_keepalive(), but that new sched_id then may be overwritten with -1 by send_provisional_keepalive_full(), killing the pvt's reference to a schedule and "leaking" the reference. (closes issue ASTERISK-22079) Review: https://reviewboard.asterisk.org/r/3368/ Reported by: Jamuel Starkey, Matteo, Leif Madsen, Steve Davies Patches: provisional_keepalive_fix.diff uploaded by Steve Davies (license 5012) ........ Merged revisions 411088 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-03-24 21:37 +0000 [r411022] Joshua Colp * /, channels/chan_sip.c: chan_sip: Always use fromdomain if set for domain, even if callerid is set to restricted. (closes issue ASTERISK-20841) Reported by: Kelly Goedert ........ Merged revisions 411021 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-03-20 22:46 +0000 [r410965] Jonathan Rose * apps/app_confbridge.c: app_confbridge: Fix bug - users with startmuted set don't start muted (closes issue ASTERISK-23461) Reported by: Chico Manobela Review: https://reviewboard.asterisk.org/r/3373/ 2014-03-18 11:50 +0000 [r410829] Sean Bright * res/res_fax_spandsp.c: res_fax_spandsp: Use g711_free() when available. Per Johann Steinwendtner on the asterisk-dev mailing list: http://lists.digium.com/pipermail/asterisk-dev/2014-March/066102.html g711_free() was introduced in spandsp 0.0.6pre4 and g711_release() became a noop. I opted not to remove the call to g711_release() since it is harmless and to call g711_free() if we have a sufficiently recent version of spandsp. (issue ASTERISK-20149) Reported by: Alexandr Gordeev 2014-03-17 21:55 +0000 [r410717-410749] Russ Meyerriecks * /, main/callerid.c: !fixup: callerid: Logic error in checksum processing Fixes syntax error in previous commit :-( ........ Merged revisions 410748 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * /, main/callerid.c: callerid: Logic error in checksum processing Callerid checksum-ing was being handled incorrectly here. When the checksum is calculated to be 0x00, it will perform 0x100-0x00 which results in 0x100. This value will then fail the otherwise correct callerid message. This patch changes the logic to simply add the calculated checksum to the transmitted 2's compliment checksum. Review: https://reviewboard.asterisk.org/r/3356/ (closes issue ASTERISK-23488) ........ Merged revisions 410710 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-03-14 21:12 +0000 [r410609] Jonathan Rose * main/manager.c: manager: fix memory leak in manager_add_filter function (closes issue ASTERISK-23420) Reported by: Etienne Lessard Patches: manager_eventfilter_leak uploaded by Etienne Lessard (license 6394) 2014-03-14 20:53 +0000 [r410556-410606] Mark Michelson * main/db.c: Remove an extra ast_cond_wait() that slipped through the patch. * main/db.c: Prevent delayed astdb syncs. The syncing thread sleeps for a second before waiting to be told to attempt to sync again. If a signal were sent during this sleeping period, we would end up having to wait until the next sync signal occurred in order to sync up the astdb. This code rearrangement also ensures that any pending transactions will be synced prior to Asterisk shutting down. Patches: db_sync.patch by John Hardin (License #6512) 2014-03-12 18:35 +0000 [r410490] Richard Mudgett * apps/confbridge/conf_state.c, apps/confbridge/conf_state_single.c, apps/confbridge/conf_state_inactive.c, apps/confbridge/conf_state_single_marked.c: app_confbridge: Make explicitly stop MOH if a user is kicked or hangs up while MOH is playing. When MOH is playing to a user in a conference and the user is kicked or hangs up from the conference then the AMI MusicOnHoldStop events didn't happen. (Asterisk v11 AMI event: MusicOnHold, state:Stop) (closes issue ASTERISK-23311) Reported by: Benjamin Keith Ford Review: https://reviewboard.asterisk.org/r/3306/ 2014-03-10 17:09 +0000 [r410381] Richard Mudgett * /, main/http.c: AST-2014-001: Stack overflow in HTTP processing of Cookie headers. Sending a HTTP request that is handled by Asterisk with a large number of Cookie headers could overflow the stack. Another vulnerability along similar lines is any HTTP request with a ridiculous number of headers in the request could exhaust system memory. (closes issue ASTERISK-23340) Reported by: Lucas Molas, researcher at Programa STIC, Fundacion; and Dr. Manuel Sadosky, Buenos Aires, Argentina ........ Merged revisions 410380 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-03-10 13:18 +0000 [r410311] Kinsey Moore * /, channels/chan_sip.c: AST-2014-002: chan_sip: Exit early on bad session timers request This change allows chan_sip to avoid creation of the channel and consumption of associated file descriptors altogether if the inbound request is going to be rejected anyway. (closes issue ASTERISK-23373) Reported by: Corey Farrell Patches: chan_sip-earlier-st-1.8.patch uploaded by Corey Farrell (license 5909) chan_sip-earlier-st-11.patch uploaded by Corey Farrell (license 5909) ........ Merged revisions 410308 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-03-07 22:52 +0000 [r410225] Corey Farrell * /, channels/chan_sip.c: chan_sip: Fix deadlock of monlock between unload_module and do_monitor Release monlock before calling pthread_join. This ensures do_monitor cannot freeze by locking monlock during module unload. (closes issue ASTERISK-21406) Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/3284/ ........ Merged revisions 410224 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-03-07 04:38 +0000 [r410106] Matthew Jordan * /, channels/chan_sip.c: chan_sip: Allow static realtime members to be qualified during module load. When a static realtime peer with qualify=yes is loaded, Asterisk will fail to send an OPTIONS request due to the lastms being equal to 0. This results in the peer being unable to receive calls from Asterisk because the status is permanently UNKNOWN. This patch allows an OPTIONS request to be sent during module load by ignoring the lastms value on startup only. Review: https://reviewboard.asterisk.org/r/3294/ (closes issue ASTERISK-17523) Reported by: Maciej Krajewski Tested by: wushumasters patches: realtime_fix_11.7.0.txt uploaded by Trevor Peirce (license 6112) ........ Merged revisions 410105 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-03-06 23:15 +0000 [r410044] Russell Bryant * /, res/res_musiconhold.c: moh: fix a refcount error with realtime MOH I observed a crash in res_musiconhold on an Asterisk 11 system using realtime MOH. Investigation of the backtrace showed a corrupt mohclass, implying that it got destroyed before the code expected it to. I went looking for reference counting errors that could have caused this crash and this patch this result. It contains 2 changes. 1) Remove a usless block of code that was impossible to reach. There was even a comment indicating that it was impossible to reach. The conditional includes "!ast_test_flag(global_flags, MOH_CACHERTCLASSES)" and it's inside of an if block with the opposite check "ast_test_flag(global_flags, MOH_CACHERTCLASSES)". There's no good reason to keep it around. 2) A similar block to #1 contained a reference counting error. It stores state->class in the local variable mohclass without increasing its reference count. The reference count on mohclass is decremented at the end of the function. This block of code probably very rarely runs, which would help explain why this system was working fine for many months before experiencing a crash. Review: https://reviewboard.asterisk.org/r/3282/ ........ Merged revisions 410043 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-03-06 01:58 +0000 [r409990] Matthew Jordan * res/res_fax_spandsp.c: res_fax_spandsp: Fix crash when passing ulaw/alaw data to spandsp When acting as a T.38 fax gateway, res_fax_spandsp would at times cause a crash in libspandsp. This would occur when, during fax tone detection, a ulaw/alaw frame would be passed to modem_connect_tones_rx. That particular routine expects the data to be in slin format. This patch looks at the frame type and, if the data is ulaw/alaw, converts the format to slin before passing it to modem_connect_tones_rx. Review: https://reviewboard.asterisk.org/r/3296 (closes issue ASTERISK-20149) Reported by: Alexandr Gordeev Tested by: Michal Rybarik patches: spandsp_g711decode.diff uploaded by Michal Rybarik (license 6578) 2014-03-05 20:37 +0000 [r409917] Kinsey Moore * main/config.c, /: config: Fix inverted test The test of the result of the stat() call was inverted such that its output was only used if the call failed. This inverts the test so that the output of stat() is used correctly. This was causing full reloads on unchanged files. (closes issue ASTERISK-23383) Reported by: David Woolley ........ Merged revisions 409916 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-03-05 18:45 +0000 [r409886] Mark Michelson * funcs/func_presencestate.c: Fix documentation for PRESENCE_STATE to properly illustrate how to create a presence hint. There was a missing comma. This was discovered by Dan Kaplan. 2014-03-05 16:55 +0000 [r409834] David M. Lee * main/config.c, /, configure, include/asterisk/autoconfig.h.in, configure.ac: Corrected cross-platform stat nanosecond code When nanosecond time resolution was added for identifying config file changes, it didn't cover all of the myriad of ways that one might obtain nanosecond time resolution off of struct stat. Rather than complicate the #if even further figuring out one system from the next, this patch directly tests for the three struct members I know about today, and #ifdef's accordingly. Review: https://reviewboard.asterisk.org/r/3273/ ........ Merged revisions 409833 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-03-05 12:04 +0000 [r409778] Sean Bright * /, contrib/scripts/astgenkey, contrib/scripts/astgenkey.8: Fix references to 'keys' CLI commands in astgenkey ........ Merged revisions 409777 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-03-05 06:28 +0000 [r409745-409761] Igor Goncharovskiy * channels/chan_unistim.c, /: Correct RTP handling in chan_unistim and fix transfer process broken in previous fix: - Fixed too early RTP setup with phone, that cause no ringback tone on caller side - Handle call transfer cancel only in STATE_CALL case (related to ASTERISK-23073) (Reported by: Németh Tamás, niurkin sil) * channels/chan_unistim.c: Add update_peer function to unistim_rtp_glue, improve other unistim_rtp_glue functions conforming to other channel drivers. Do not forget auto-detected and user-selected phone settings on 'unistim reload' ........ Merged revisions 409705 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-03-05 04:55 +0000 [r409681-409703] Moises Silva * res/res_http_websocket.c: Fix res/res_http_websocket.c build failure in 32bit due to incorrect print format for uint64_t * res/res_http_websocket.c: Fix WebRTC over WSS not working Several fixes for the WebSockets implementation in res/res_http_websocket.c * Flush the websocket session FILE* as fwrite() may not actually guarantee sending the data to the network. If we do not flush, it seems that buffering on the SSL socket for outbound messages causes issues * Refactored ast_websocket_read to take into account that SSL file descriptors may be ready to read via fread() but poll() will not actually say so because the data was already read from the network buffers and is now in the libc buffers (closes issue ASTERISK-23099) (closes issue ASTERISK-21930) Review: https://reviewboard.asterisk.org/r/3248/ 2014-03-04 19:33 +0000 [r409625] Michael L. Young * funcs/func_audiohookinherit.c, /: func_audiohookinheritance: Check If A Channel Was Specified This patch prevents a crash when using the function audiohookinheritance without setting the channel. (closes issue ASTERISK-23104) Reported by: Joel Vandal Tested by: Joel Vandal Patches: asterisk-23104_audiohook_inherit_no_channel-11.diff uploaded by Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/3272/ ........ Merged revisions 409623 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-03-04 16:51 +0000 [r409567] Kinsey Moore * main/astobj2.c, /: AO2: Add an assert for bad objects This adds an assert that will only be active if Asterisk is compiled with DO_CRASH and allows the testsuite to fail tests that would otherwise require log file parsing. ........ Merged revisions 409566 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-03-04 16:40 +0000 [r409565] Jonathan Rose * res/res_rtp_asterisk.c: res_rtp_asterisk: Fix one way audio problems with hold/unhold when using ICE ICE sessions will now be restarted if sessions are changed to use new sets of remote candidates. (closes issue ASTERISK-22911) Reported by: Vytis Valentinavičius Review: https://reviewboard.asterisk.org/r/3275/ 2014-03-04 15:35 +0000 [r409524] Kinsey Moore * main/rtp_engine.c, /: rtp_engine: Clean up after a failed remote bridge Upon failure of an INVITE transaction meant to initiate a remote native bridge, rtp_engine.c would not clean up non-reference-counted bridge instance pointers leaving a dangling pointer which was being used to perform a local native bridge after the other channel had hung up. This lead to dereferencing into freed memory and plenty of AO2 errors. This change allows the remote native bridge loop to clean up properly when the bridge fails. (closes issue ASTERISK-23310) Reported by: Jeremy Laine ........ Merged revisions 409521 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-03-04 14:52 +0000 [r409473] Sean Bright * /, channels/chan_sip.c: Minor whitespace change to 'sip show peers' output. (closes issue ASTERISK-23406) Reported by: ibercom Tested by: ibercom Patches: asterisk-11.patch uploaded by ibercom ........ Merged revisions 409472 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-03-03 02:07 +0000 [r409362] Matthew Jordan * /, main/asterisk.c: doxygen: Tweak the link back to ye olde Digium website ........ Merged revisions 409361 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-03-02 12:26 +0000 [r409344] Tzafrir Cohen * /, Makefile.rules: Makefile: replace -O6 with -O3 -O6 is not a legal option of gcc. Unofficially gcc considers it to be equivalent of -O3. clang chalks on it, though. This commit sets the default optimization flag to be -O3, like gcc actually considered it. Review: https://reviewboard.asterisk.org/r/3280/ ........ Merged revisions 409308 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-02-28 21:30 +0000 [r409255] Richard Mudgett * /, channels/chan_sip.c: chan_sip: Add precautionary p->owner checks. * Add precautionary p->owner checks in sip_hangup(), get_refer_info(), get_also_info(), and interpret_t38_parameters(). * Simplify some tangled logic in get_refer_info(), get_also_info(), and add_rpid(). * Removed some dead code in handle_request_invite(). (closes issue ASTERISK-23323) Reported by: Walter Doekes Patches: issueA23323-more_p_owner_checks-1.8.x.patch (license #5674) uploaded by wdoekes (modified) issueA23323-more_p_owner_checks-11.x.patch (license #5674) uploaded by wdoekes (modified) issueA23323-more_p_owner_checks-12.x.patch (license #5674) uploaded by wdoekes (modified) issueA23323-more_p_owner_checks-trunk.patch (license #5674) uploaded by wdoekes (modified) ........ Merged revisions 409207 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-02-28 21:13 +0000 [r409208] Kinsey Moore * apps/app_queue.c: app_queue: Fix documentation generation The documentation for QueueMemberPaused was causing documentation generation to fail because the documentation for that AMI event was in the wrong location. This moves that documentation the correct location and adds a missing parameter. (closes issue SWDAT-261) 2014-02-28 18:00 +0000 [r409157] Richard Mudgett * /, channels/chan_sip.c: chan_sip: Fix crash in ast_channel_hangupcause_set(). * Fix crash in ast_channel_hangupcause_set() because p->owner not checked before calling. Regression introduced by the fix for ASTERISK-22621. (closes issue ASTERISK-23135) Reported by: OK (issue ASTERISK-23323) Reported by: Walter Doekes ........ Merged revisions 409156 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-02-27 19:38 +0000 [r409129-409130] Jonathan Rose * res/res_rtp_asterisk.c: res_rtp_asterisk: correct build error from r409129 Accidentally placed a declaration below functional code (issue ASTERISK-23213) Reported by: Andrea Suisani Review: https://reviewboard.asterisk.org/r/3256/ * res/res_rtp_asterisk.c: res_rtp_asterisk: Fix checklist creating problems in ICE sessions Prior to this patch, local candidate lists including SRFLX would fail to start properly when building ICE candidate check lists. This patch fixes that problem by making sure that each SRFLX candidate is associated with the proper base address so that the check list can create matches properly. This patch was written by jcolp. The issue will be left open to await testing by the issue participants. (issue ASTERISK-23213) Reported by: Andrea Suisani Review: https://reviewboard.asterisk.org/r/3256/ 2014-02-27 16:24 +0000 [r409083] David M. Lee * /, utils/astman.c: Fix memory stomping bug in astman. This memset complained in dev mod on my Ubuntu box. The memset is both unnecessary and dangerous. At this point, m hasn't been initialized yet, so the memset will write off to whatever address happens to be on the stack at the time. ........ Merged revisions 409077 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-02-27 16:03 +0000 [r409053] Corey Farrell * /, res/res_fax.c, configs/res_fax.conf.sample: res_fax: Warn that minrate=2400 is not valid for V.27 instead of failing load. Change minrate from 2400 to 4800 on config reload in response to changes from ASTERISK-22790 only. Any config with minrate of 2400 that would fail before r405693 will still fail. Comment out many settings in res_fax.conf.sample. The defaults are set in res_fax.c, so setting the same value in sample config does nothing but make the sample config more fragile. (closes issue ASTERISK-23231) Reported by: David Brillert Review: https://reviewboard.asterisk.org/r/3261/ ........ Merged revisions 409052 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-02-27 12:47 +0000 [r409002] Matthew Jordan * main/rtp_engine.c, /, include/asterisk/rtp_engine.h: rtp_engine: fix crash during remote native bridging when calling get_codecs When two RTP channels are in a remote bridge, the remote bridging loop in rtp_engine will periodically check to see if the two channels can still be bridged. One of the many things it checks is whether or not the codecs have changed on the channel. If the codec has changed, it will break out of the loop to re-determine which type of bridge is appropriate. In order to perform this check, the ast_rtp_glue virtual table's get_codec callback is called for each channel. The callback implementations assume that the channel tech private is valid when called; as such, there has always been some code in place to check whether or not the channel pvt is NULL before calling. However, this check is insufficient. The channels are unlocked during the remote bridging loop. It is possible for a channel to get masqueraded between the check for the pvt being NULL and the actual call to get_codec. When this occurs, the callback is called with a ZOMBIE channel, which now has a NULL pvt. Crash. While this has always been possible in Asterisk 1.8, it is much more likely to occur in Asterisk 11 and later versions due to the timing changes that occur when getting the codec from a channel. Note that this is much more likely to be reproduced on slow, boggy hardware running Asterisk 11 - but fairly rarely otherwise. Also Note: This crash was also caught by the various SIP blind transfer tests, in addition to the bug report Alec filed. Review: https://reviewboard.asterisk.org/r/3247/ (closes issue ASTERISK-21737) Reported by: Alec Davis Tested by: Alec Davis ........ Merged revisions 409001 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-02-25 17:43 +0000 [r408877] Rusty Newton * /, configs/voicemail.conf.sample: configs/voicemail.conf.sample - Make mailcmd sample text more explicit Made the wording a bit more explicit. Didn't really change the meaning. ........ Merged revisions 408876 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-02-22 17:42 +0000 [r408838] Alexandr Anikin * addons/chan_ooh323.c: ignore AST_CONTROL_PVT_CAUSE_CODE without any messages (closes issue ASTERISK-23336) Reported by: Alexander Semych 2014-02-22 02:28 +0000 [r408786] Corey Farrell * res/ael/pval.c, main/pbx.c, /, utils/extconf.c, utils/conf2ael.c: Remove extra defines of AST_PBX_MAX_STACK. * Ensure AST_PBX_MAX_STACK is only defined in extconf.h and pbx.h. * Fix incorrect function parameters in utils/extconf.c. (closes issue ASTERISK-23141) Reported by: Maxim Review: https://reviewboard.asterisk.org/r/3241/ ........ Merged revisions 408785 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-02-21 20:21 +0000 [r408643-408748] Kevin Harwell * /, apps/app_forkcdr.c: app_forkcdr: ForkCDR v option does not keep CDR variables for subsequent records When the 'v' option is specified to ForkCDR application, AST_CDR_FLAG_KEEP_VARS flag is set only for the first CDR in the chain. So ForkCDR works fine with this option only once. After the second and further calls to ForkCDR, CDR variables get cleared on all CDRs besides the first one and moved to the newly forked CDR. It always sets the KEEP_VARS flag on the first CDR in the chain, instead of the most recent CDR which is used as a base to fork a new CDR. This patch sets KEEP_VARS flag on the most recent CDR on the stack (the CDR used for forking). (closes issue ASTERISK-23260) Reported by: zvision Patches: app_forkcdr.diff uploaded by zvision (license 5755) ........ Merged revisions 408747 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * contrib/scripts/install_prereq: install_prereq: Missing uuid[-dev] for debian distros Added uuid and uuid-dev to install prereq script. (closes issue ASTERISK-23255) Reported by: Rusty Newton * contrib/scripts/install_prereq, main/rtp_engine.c: rtp_engine: Dynamic payload change in rtp mapping not supported Asterisk didn't support the dynamic payload change in rtp mapping in the 200 OK response. Scenario: Asterisk sends the INVITE proposing alaw and telephone-event, it proposes rtpmap:101 for telephone-event. Peer responds with 2xx, it answers with alaw and telephone-event also, but it proposes a different rtpmap number (rtpmap:103) for telephone-event. Expected Behaviour: Asterisk should honour the rtpmapping in the response and send DTMF packets using 103 as payload type for DTMF. Actual Behaviour: Asterisk sends DTMF packets using payload type 101. With this patch asterisk now supports changes that can occur in the rtp mapping in the response. (closes issue ASTERISK-23279) Reported by: NITESH BANSAL Review: https://reviewboard.asterisk.org/r/3225/ Patches: dynamic_payload_change.patch uploaded by nbansal (license 6418) * main/rtp_engine.c, /: rtp_engine: Output mixup in ${CHANNEL(rtpqos,audio,all)} Fixed the output of CHANNEL(rtpqos,audio,all) to use txjitter instead of rxjitter. (closes issue ASTERISK-23261) Reported by: rsw686 Patches: rtpqos.patch uploaded by rsw686 (license 5887) ........ Merged revisions 408646 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * /, channels/chan_sip.c, main/channel.c: channel.c: MOH is not working for transferee after attended transfer Updated the code to check to see if MOH is playing on the transferor and if so then start it on the channel that replaces it during a masquerade. Example scenario of the problem: Alice calls Bob and then Bob begins the attended transfer process into a queue. Upon going on hold Alice hears music and so does Bob once he is in the queue. Bob then transfers Alice into the queue and then music for Alice stops even though she should be hearing it since has now replaced Bob in the queue. The problem that was occurring is that once the channel was masqueraded the app (queues, confbridge, etc...) had no way of knowing that the channel had just been swapped out thus it did not start music for the present channel. Credit to Olle Johansson for pointing me in the right direction on this issue. (closes issue ASTERISK-19499) Reported by: Timo Teräs Review: https://reviewboard.asterisk.org/r/3226/ ........ Merged revisions 408642 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-02-21 10:40 +0000 [r408590] Alexandr Anikin * /, addons/ooh323c/src/ooCalls.h: Fix type of roundTripDelay variables ........ Merged revisions 408589 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-02-21 00:47 +0000 [r408537] Michael L. Young * /, apps/app_chanspy.c: app_chanspy: Documentation Update To Clarify "x" Option When using the "x" option (specify a DTMF digit to exit the application), it is not obvious in the documentation that this only works when spying on a channel. If a channel being used to spy on other channels is waiting to connect to a channel or is no longer attached to a channel, the DTMF is ignored. As noted on the issue tracker, since there are workarounds available and this is a rarely used option we are opting for a documentation change here. (closes issue ASTERISK-22661) Reported by: Chris Hillman Patches: asterisk-22661-doc-clarify-chan_spy.diff uploaded by Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/2990/ ........ Merged revisions 408536 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-02-20 02:41 +0000 [r408448] Rusty Newton * apps/app_queue.c, /: apps/app_queue - Fix incorrect Macro parameter documentation Macro is executed on the called channel, not the calling channel. (closes issue ASTERISK-23069) Reported By: Bryan Anderson ........ Merged revisions 408447 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-02-19 19:05 +0000 [r408388] Richard Mudgett * main/config.c, /: config: Add file size and nanosecond resolution fields to the cached modified config file information. Repeatedly modifying config files and reloading too fast sometimes fails to reload the configuration because the cached modification timestamp has one second resolution. * Added file size and nanosecond resolution fields to the cached config file modification timestamp information. Now if the file size changes or the file system supports nanosecond resolution the modified file has a better chance of being detected for reload. * Added a missing unlock in an off-nominal code path. (closes issue AST-1303) Review: https://reviewboard.asterisk.org/r/3235/ ........ Merged revisions 408387 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-02-19 11:45 +0000 [r408312-408330] Alexandr Anikin * addons/ooh323c/src/ooCapability.c, /, addons/ooh323c/src/ooh245.c: process receiveAndTransmit user input remote caps instead of receive only send receiveAndTransmit user input our caps instead of receive only ........ Merged revisions 408328 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * addons/ooh323c/src/ooh323.c: Allow different socket and signalling ip on h.323 connection if gk mode is active Reported by: Gabriele Odone Patches: ASTERISK-22738-1.patch Tested by: Gabriele Odone 2014-02-16 03:15 +0000 [r408193-408201] Matthew Jordan * main/pbx.c, /: pbx: Handle a completely empty dialplan during a context merge It is highly unlikely, but - at least in Asterisk 12 - theoretically possible to load Asterisk with no dialplan whatsoever. If that occurs, and some other module (that is not a pbx module) attempts to merge its contexts into the dialplan, the existing merge routine will crash. This is because it is not insane, and rightly believes that you provided some sort of dialplan, somewhere. This patch will gracefully merge the contexts in such a case. Note that this is highly unlikely to occur in 1.8/11, as features will most likely provide some dialplan via parking. However, in Asterisk 12, parking is now provided by res_parking, and hence may create its dialplan later. (closes issue ASTERISK-23297) Reported by: CJ Oster Review: https://reviewboard.asterisk.org/r/3222 ........ Merged revisions 408200 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * Makefile: buildsystem: Unbreak the build (infloop) on Asterisk 11+ Apparently r408084 ( https://reviewboard.asterisk.org/r/3212/ ) broke the build. This patch fixes it by ignoring the .lastclean dependencies if the MENUSELECT_EMBED variable is not defined. patches: tmp.diff uploaded by wdoekes (License 5674) Review: https://reviewboard.asterisk.org/r/3228/ 2014-02-14 21:53 +0000 [r408137-408143] Scott Griepentrog * main/pbx.c, /: pbx: ast_custom_function_unregister resource leak In pbx.c ast_custom_function_unregister(), a list of escalations being removed from the list wasn't being free'd creating a leak. This patch corrects that by freeing the records. Review: https://reviewboard.asterisk.org/r/3213/ Reported by: Corey Farrell Patches: acf_escalating_leak.patch uploaded by coreyfarrell (license 5909) ........ Merged revisions 408142 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * main/format.c: format.c: correct possible null pointer dereference In ast_format_sdp_parse and ast_format_sdp_generate the check checks for a valid interface and function were potentially confusing, and hid an error in the test of the presence of the function that is called later. This patch clears up and corrects the test. Review: https://reviewboard.asterisk.org/r/3208/ (closes issue ASTERISK-23098) Reported by: marcelloceschia Patches: main_format.patch uploaded by marcelloceschia (license 6036) ASTERISK-23098.patch uploaded by coreyfarrell (license 5909) 2014-02-14 13:27 +0000 [r408084] Walter Doekes * Makefile, /: buildsystem: Don't force main to depend on everything else. Directory 'main' only needs to depend on embedded modules. If no module embedding is selected, the dependency is dropped. Review: https://reviewboard.asterisk.org/r/3212/ ........ Merged revisions 408083 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-02-14 01:24 +0000 [r408021] Rusty Newton * configs/agents.conf.sample, /: configs/agents.conf.sample - Remove example for non-functional "goodbye" parameter The "goodbye" parameter is not implemented in the source code, it does nothing. (closes issue SWP-6518) Reported By: Steve Pitts ........ Merged revisions 408020 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-02-10 16:34 +0000 [r407874] Walter Doekes * res/res_config_pgsql.c, /: res_config_pgsql: Fix ast_update2_realtime calls. Fix so multiple updates from a single call works (add missing ','). Remove bogus ast_free's that weren't supposed to be there. Moved a few spaces for readability. Review: https://reviewboard.asterisk.org/r/3194/ ........ Merged revisions 407873 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-02-10 15:28 +0000 [r407857] Kinsey Moore * configs/confbridge.conf.sample, apps/confbridge/include/confbridge.h, UPGRADE.txt, apps/app_confbridge.c, apps/confbridge/conf_state_multi_marked.c, apps/confbridge/conf_state_empty.c, apps/confbridge/conf_config_parser.c: ConfBridge: Correct prompt playback target Currently, when the first marked user enters the conference that contains waitmarked users, a prompt is played indicating that the user is being placed into the conference. Unfortunately, this prompt is played to the marked user and not the waitmarked users which is not very helpful. This patch changes that behavior to play a prompt stating "The conference will now begin" to the entire conference after adding and unmuting the waitmarked users since the design of confbridge is not conducive to playing a prompt to a subset of users in a conference in an asynchronous manner. (closes issue PQ-1396) Review: https://reviewboard.asterisk.org/r/3155/ Reported by: Steve Pitts 2014-02-09 15:52 +0000 [r407818] Tzafrir Cohen * channels/chan_dahdi.c, /: chan_dahdi: 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. Backported from trunk/12. Review: https://reviewboard.asterisk.org/r/726/ ........ Merged revisions 394552 394567 from http://svn.asterisk.org/svn/asterisk/trunk ........ Merged revisions 407817 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-02-07 20:46 +0000 [r407727-407765] Richard Mudgett * /, channels/chan_iax2.c: chan_iax2: Add some more iaxs[] NULL checks to a routine already full of them. ........ Merged revisions 407764 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * channels/chan_iax2.c, include/asterisk/frame.h, configs/iax.conf.sample, /: chan_iax2: Block unnecessary control frames to/from the wire. Establishing an IAX2 call between Asterisk v1.4 and v1.8 (or later) results in an unexpected call disconnect. The problem happens because newer values in the enum ast_control_frame_type are not consistent between the branch versions of Asterisk. For example: 1) v1.4 calls v1.8 (or later) using IAX2 2) v1.8 answers and sends a connected line update control frame. (on v1.8 AST_CONTROL_CONNECTED_LINE = 22) 3) v1.4 receives the control frame as an end-of-q (on v1.4 AST_CONTROL_END_OF_Q = 22) 4) v1.4 disconnects the call once the receive queue becomes empty. Several things are done by this patch to fix the problem and attempt to prevent it from happening again in the future: * Added a warning at the definition of enum ast_control_frame_type about how to add new control frame values. * Made block sending and receiving control frames that have no reason to go over the wire. * Extended the connectedline iax.conf parameter to also include the redirecting information updates. * Updated the connectedline iax.conf parameter documentation to include a notice that the parameter must be "no" when the peer is an Asterisk v1.4 instance. (closes issue AST-1302) Review: https://reviewboard.asterisk.org/r/3174/ ........ Merged revisions 407678 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-02-07 13:06 +0000 [r407623] Tzafrir Cohen * /, configs/indications.conf.sample: indications.conf: add stutter tone; end properly * If the "stutter" (voicemail indication) tone is indeed a stutter tone, and it ends with a constant tone, make sure that it is the dial tone. This was done for India (in), Mexico (mx) and the Philippines (ph). * If no "stutter" tone exists for a country, provide one. This was done for Spain (es), Malaysia (my) and Venezuela (ve). Review: https://reviewboard.asterisk.org/r/3158/ ........ Merged revisions 407622 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-02-05 22:59 +0000 [r407512] Rusty Newton * /, formats/format_wav.c: formats/format_wav: enhancing log message "Not a wav file" to be clear on what is supported Modifying the log message to be more specific as to what is supported. Specifically it seems format_wav supports only PCM encoded versions with a lower-case '.wav' extension. (closes issues ASTERISK-22310) Reported by: Jim Credland Review: https://reviewboard.asterisk.org/r/3188/ ........ Merged revisions 407511 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-02-05 20:37 +0000 [r407457] Jonathan Rose * channels/chan_local.c: chan_local: Fix reversed LocalOptimization field in LocalBridge event (closes issue ASTERISK-23232) Reported by: Leon Roy 2014-02-05 20:37 +0000 [r407456] Kinsey Moore * /, main/logger.c: Logger: Fix handling of absolute paths This fixes path handling for log files so that an extra / is not appended to the file path when the path is absolute (begins with /). This would previously result in different but functionally equivalent paths in the output of 'logger show channels'. ........ Merged revisions 407455 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-02-04 19:56 +0000 [r407273-407338] Richard Mudgett * include/asterisk/devicestate.h, /, main/devicestate.c: devicestate: Make ast_devstate_changed_literal() return value and doxygen consistent. Nothing actually cares about the value anyway. (closes issue ASTERISK-23178) Reported by: Jonathan Rose ........ Merged revisions 407337 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * configs/sip.conf.sample, main/tcptls.c, /: tcptls.c: Made TLS handle a certificate chain file. Thanks to Guillaume Martres for doing the necessary research to validate the change. (closes issue ASTERISK-17727) Reported by: LN Patches: use_certificate_chain.patch (license #5864) patch uploaded by st documente_certificate_chain.patch (license #6576) patch uploaded by Guillaume Martres ........ Merged revisions 407272 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-02-04 02:20 +0000 [r407210] Joshua Colp * res/res_clialiases.c, /: res_clialiases: Fix crash when reloading and re-aliasing an alias that is in use. The code assumed that unregistering the alias would always succeed while in practice this is not actually true. A common case is the "reload" command itself. If the cli_aliases.conf configuration file was changed and reload executed the command would fail to unregister and ultimately point to freed memory. The reload process now checks whether unregistering succeeded or not and if not the old CLI alias is retained. (closes issue ASTERISK-19773) Reported by: Joel Vandal (closes issue ASTERISK-22757) Reported by: Gareth Blades ........ Merged revisions 407205 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-02-01 00:23 +0000 [r407103] Corey Farrell * apps/app_stack.c, /: app_stack: protect against missing parameters to STACK_PEEK and LOCAL_PEEK STACK_PEEK requires 2 parameters and LOCAL_PEEK requires 1 parameter. This protects against situations where those parameters are blank or missing by logging an error and returning. (closes issue ASTERISK-23220) Reported by: James Sharp ........ Merged revisions 407100 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-01-31 23:28 +0000 [r407074] Matthew Jordan * apps/app_dial.c, /: app_dial: Allow macro/gosub pre-bridge execution to occur on priorities The parsing for the destination of the macro/gosub uses the '^' character to separate out context, extension, and priority. However, the logic for the macro/gosub execution was written such that it would only do the actual macro/gosub jump if a '^' character existed. This doesn't apply when the macro/gosub jump occurs in a priority/priority label. This patch changes the logic so that the parsing still occurs, but the jump will occur even for priorities/priority labels. (issue ASTERISK-23164) Review: https://reviewboard.asterisk.org/r/3154 ........ Merged revisions 407041 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-01-30 20:28 +0000 [r406934] Corey Farrell * main/udptl.c, res/res_rtp_asterisk.c, /: res_rtp_asterisk & udptl: fix port selection to work with SELinux restrictions ast_bind to a port reserved for another program by SELinux causes errno == EACCES. This caused random failures when binding rtp or udptl sockets. Treat EACCES as a non-fatal error, try next port. (closes issue ASTERISK-23134) Reported by: Corey Farrell ........ Merged revisions 406933 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-01-30 17:32 +0000 [r406918] Sean Bright * main/manager.c: Make a NOTICE about an invalid channel name more useful. 2014-01-29 00:39 +0000 [r406861] Russell Bryant * /, configs/queues.conf.sample: queues.conf.sample Fix documented default for persistentmembers Closes issue ASTERISK-22662 ........ Merged revisions 406860 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-01-28 23:10 +0000 [r406802] Kevin Harwell * configure, include/asterisk/autoconfig.h.in, configure.ac, cdr/cdr_radius.c, cel/cel_radius.c, /: cdr_radius, cel_radius: build agains libfreeradius-client Asterisk's RADIUS module currently build against libradiusclient-ng, but this project has been superseeded by libfreeradius-client. The API is 99% compatible except that the header name has changed, the library name has changed, and the configuration file location has changed. (closes issue ASTERISK-22980) Reported by: Jeremy Lainé Patches: freeradius-client.patch uploaded by sharky (license 6561) ........ Merged revisions 406801 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-01-28 16:40 +0000 [r406722] Scott Griepentrog * main/rtp_engine.c, /: rtp_engine: improved handling of get_rtp_info failure In ast_rtp_instance_make_compatible(), after a failure of channel tech call get_rtp_info() to return peer_instance, the null pointer would be passed to ao2_ref, producing an error that looked like a refernce counting problem but is not. This patch corrects that and adds helpful LOG_ERROR messages to indicate which failure path occurred. (issue AST-1276) Review: https://reviewboard.asterisk.org/r/3156/ ........ Merged revisions 406721 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-01-27 20:35 +0000 [r406567-406644] Russell Bryant * /, main/config.c: Allow nested #includes in extconfig.conf extconfig.conf was hard-coded to not allow nested includes for some reason. The code has been this way since a patch was merged for ASTERISK-3333 (revision 4889), which was a significant update to this code ("Merge config updates"). I can't figure out any good reason why this should be limited. This patch just removes the limit and uses the default nesting depth limit. Closes issue ASTERISK-17837 Review: https://reviewboard.asterisk.org/r/3159/ ........ Merged revisions 406643 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * main/channel.c, /, main/file.c, include/asterisk/channel.h: Protect ast_filestream object when on a channel The ast_filestream object gets tacked on to a channel via chan->timingdata. It's a reference counted object, but the reference count isn't used when putting it on a channel. It's theoretically possible for another thread to interfere with the channel while it's unlocked and cause the filestream to get destroyed. Use the astobj2 reference count to make sure that as long as this code path is holding on the ast_filestream and passing it into the file.c playback code, that it knows it's valid. Bug reported by Leif Madsen. Review: https://reviewboard.asterisk.org/r/3135/ ........ Merged revisions 406566 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-01-26 23:01 +0000 [r406515] Richard Mudgett * main/tcptls.c, /: tcptls.c: Add missing cleanup on off nominal path. ........ Merged revisions 406514 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-01-24 23:07 +0000 [r406400-406418] Richard Mudgett * /, main/cel.c: CEL: Protect data structures during reload and shutdown. The CEL data structures need to be protected during a configuration reload and shutdown. Asterisk crashed during a shutdown because CEL events were still in flight and the CEL data structures were already destroyed. * Protected the appset and linkedids ao2 containers using the reload_lock. As a result appset, linkedids, and held objects don't need a lock. * Added NULL checks before use of the appset and linkedids ao2 containers in case the CEL module is already shutdown. * Fixed overloading of the linkedids held objects reference count. During shutdown any held objects would be leaked. * Fixed memory leak of linkedids held objects if the LINKEDID_END is not being tracked. The objects in the linkedids container were not removed if the LINKEDID_END event is not used. * Added access protection to the appset container during the CLI "cel show status" command. * Made CEL config reload not set defaults if the cel.conf file is invalid. (closes issue AST-1253) Reported by: Guenther Kelleter Review: https://reviewboard.asterisk.org/r/3127/ ........ Merged revisions 406417 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * main/manager.c, /: manager: Register atexit shutdown routine only once. * Made register atexit shutdown routine only once in __init_manager(). * Fixed some initial load failure conditions in __init_manager(). * Made reset options to defaults on reload when the reload will actually happen. * Removed unnecessary container traversals of the white/black filters during manager_free_user(). * ast_free() does not need a NULL check before calling. ........ Merged revisions 406359 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-01-24 21:14 +0000 [r406361] Jonathan Rose * res/res_config_pgsql.c, /: res_config_pgsql: Fix a memory leak and use RAII_VAR for cleanup when practical Review: https://reviewboard.asterisk.org/r/3141/ ........ Merged revisions 406360 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-01-24 17:54 +0000 [r406341] Richard Mudgett * main/manager.c: manager: Protect data structures during shutdown. Occasionally, the manager module would get an "INTERNAL_OBJ: bad magic number" error on a "core restart gracefully" command if an AMI connection is established. * Added ao2_global_obj protection to the sessions global container. * Fixed the order of unreferencing a session object in session_destroy(). * Removed unnecessary container traversals of the white/black filters during session_destructor(). (closes issue AST-1242) Reported by: Guenther Kelleter Review: https://reviewboard.asterisk.org/r/3144/ 2014-01-22 22:18 +0000 [r406245] Scott Griepentrog * main/pbx.c, /, utils/extconf.c: pbx.c: Pre-initialize timezone to avoid crash on destroy In ast_build_timing, initialize the timezone value to NULL in order to avoid deferencing an uninitialized value later when calling ast_destroy_timing. The timezone value could be uninitialized if ast_build_timing were to fail due to a zero length time string. (closes issue ASTERISK-22861) Reported by: Sebastian Murray-Roberts Review: https://reviewboard.asterisk.org/r/3134/ Patches: ast_build_timing-initialize-timezone.patch uploaded by coreyfarrell (license 5909) ........ Merged revisions 406241 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-01-22 19:31 +0000 [r406171-406217] Kinsey Moore * apps/app_confbridge.c: ConfBridge: Fix channel parameter documentation Confbridge AMI and CLI commands for mute, unmute, and setting the single video source can accept channel prefixes in lieu of a full channel name, but documentation states only that it is required and is a channel name. This corrects the documentation. (closes issue PQ-1397) Reported by: Steve Pitts * /, channels/chan_sip.c: chan_sip: Decline image streams on unsupported transports This change allows chan_sip to decline individual image streams over unsupported transports in the SDP of the 200 response. Previously, an image stream offer with RTP/AVP as the transport would cause chan_sip to respond with a 488. (closes issue ASTERISK-22988) Reported by: adomjan Original patch by: adomjan ........ Merged revisions 406170 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-01-21 21:05 +0000 [r406080] Walter Doekes * main/manager.c, /, configs/manager.conf.sample: manager: Clarify eventfilter documentation. Textual changes only. Review: https://reviewboard.asterisk.org/r/3133/ ........ Merged revisions 406079 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-01-21 19:59 +0000 [r406038] Kinsey Moore * res/res_pktccops.c, channels/chan_mgcp.c, /: chan_mgcp: Enforce locking for oseq This restricts direct usage of global oseq so that all accesses are locked and threads are not racing to get oseq values that they did not claim. This also fixes a build error in res_pktccops under dev mode. (closes issue ASTERISK-23100) Reported by: adomjan Patch by: adomjan ........ Merged revisions 406037 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-01-20 22:04 +0000 [r405927] Richard Mudgett * /, channels/sig_pri.c: chan_dahdi/PRI: Suppress CONNECTED_LINE updates when nothing in the udpate is valid. * Also simplified some subddress handling code. (closes issue ASTERISK-23008) Reported by: Michael Cargile ........ Merged revisions 405926 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-01-17 15:40 +0000 [r405792] Rusty Newton * /, channels/chan_sip.c, doc/asterisk.8, main/features.c, configs/sip.conf.sample, apps/app_queue.c, apps/app_transfer.c, channels/chan_iax2.c: Documentation: doc fixes across various parts of the code for ASTERISK issues 23061,23028,23046,23027 Fixes typos of "transfered" instead of "transferred" in various code. Fixes incorrect gosub param help text for app_queue. Fixes Asterisk man pages containing unquoted minus signs. Adds note about the "textsupport" option in sip.conf.sample. (issue ASTERISK-23061) (issue ASTERISK-23028) (issue ASTERISK-23046) (issue ASTERISK-23027) (closes issue ASTERISK-23061) (closes issue ASTERISK-23028) (closes issue ASTERISK-23046) (closes issue ASTERISK-23027) Reported by: Eugene, Jeremy Laine, Denis Pantsyrev Patches: transferred.patch uploaded by Jeremy Laine (license 6561) hyphen.patch uploaded by Jeremy Laine (license 6561) sip.conf.sample.patch uploaded by Eugene (license 6360) ........ Merged revisions 405791 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-01-16 19:51 +0000 [r405693-405745] Kevin Harwell * main/manager.c: manager: Originate doesn't abort on failed format_cap allocation action_originate responds to the remote system with an error when cap==NULL, but doesn't return (abort the originate). Patched to return. (closes issue ASTERISK-23034) Reported by: Corey Farrell Patches: ASTERISK-23034.patch uploaded by coreyfarrell (license 5909) * configs/res_fax.conf.sample, UPGRADE.txt, /, res/res_fax.c: res_fax: check_modem_rate() returned incorrect rate for V.27 According to the new standard for V.27 and V.32 they are able to transmit at a bit rate of 4,800 or 9,600. The check_mode_rate function needed to be updated to reflect this. Also, because of this change the default 'minrate' value was updated to be 4800. (closes issue ASTERISK-22790) Reported by: Paolo Compagnini Patches: res_fax.txt uploaded by looserouting (license 6548) ........ Merged revisions 405656 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-01-15 16:35 +0000 [r405582] Joshua Colp * /, cel/cel_manager.c: cel_manager: Don't crash if configuration file is invalid. The cel_manager module did not properly handle the case where the configuration file was invalid. The module will now output a warning message and disable itself if this occurs. Reported by: Bryan Walters ........ Merged revisions 405581 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-03-03 Asterisk Development Team * Asterisk 11.8.0 Released. 2014-03-01 Asterisk Development Team * Asterisk 11.8.0-rc3 Released. * chan_sip: Fix crash in ast_channel_hangupcause_set(). Fix crash in ast_channel_hangupcause_set() because p->owner not checked before calling. Regression introduced by the fix for ASTERISK-22621. (closes issue ASTERISK-23135) Reported by: OK (issue ASTERISK-23323) Reported by: Walter Doekes 2014-02-27 Asterisk Development Team * Asterisk 11.8.0-rc2 Released. * res_rtp_asterisk: Fix checklist creating problems in ICE sessions Prior to this patch, local candidate lists including SRFLX would fail to start properly when building ICE candidate check lists. This patch fixes that problem by making sure that each SRFLX candidate is associated with the proper base address so that the check list can create matches properly. This patch was written by jcolp. Note that the issue will be left open to await testing by the issue participants. (issue ASTERISK-23213) Reported by: Andrea Suisani Review: https://reviewboard.asterisk.org/r/3256 revisions 409129,409130 from https://svn.asterisk.org/svn/asterisk/branches/11 2014-01-14 Asterisk Development Team * Asterisk 11.8.0-rc1 Released. 2014-01-14 18:43 +0000 [r405434-405487] Scott Griepentrog * /, channels/chan_sip.c: chan_sip: No BYE message sent after INVITE with Replaces Setting channel state DOWN is an unnecessary step that was only being done in handle_invite_replaces(). This changes that by removing the call and reducing locking. (closes issue ASTERISK-23010) Reported by: Ryan Tilton Review: https://reviewboard.asterisk.org/r/3116/ ........ Merged revisions 405486 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * /, channels/chan_sip.c: chan_sip: fix Local From tag on outbound register regression In ASTERISK-12117, an improvement to insure consistant local from tags on outbound registrations resulted in an undesirable behavior - caused by leftover unexpired sip_pvt dialogs (with the previous cseq number), resulting in many uncessary REGISTER requests. Instead of significant rework of transmit_register(), this change deletes the dialogs after a 200 OK response indiciating a successful registration, keeping the old dialogs from interfering with normal operation. (closes issue ASTERISK-22946) Reported by: Stephan Eisvogel Review: https://reviewboard.asterisk.org/r/3109/ ........ Merged revisions 405433 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-01-14 17:26 +0000 [r405431] Richard Mudgett * main/asterisk.c, configs/logger.conf.sample, main/cli.c, include/asterisk/logger.h, main/pbx.c, main/manager.c, funcs/func_timeout.c, apps/app_dumpchan.c, main/logger.c, UPGRADE.txt, apps/app_verbose.c: verbosity: Fix performance of console verbose messages. The per console verbose level feature as previously implemented caused a large performance penalty. The fix required some minor incompatibilities if the new rasterisk is used to connect to an earlier version. If the new rasterisk connects to an older Asterisk version then the root console verbose level is always affected by the "core set verbose" command of the remote console even though it may appear to only affect the current console. If an older version of rasterisk connects to the new version then the "core set verbose" command will have no effect. * Fixed the verbose performance by not generating a verbose message if nothing is going to use it and then filtered any generated verbose messages before actually sending them to the remote consoles. * Split the "core set debug" and "core set verbose" CLI commands to remove the per module verbose support that cannot work with the per console verbose level. * Added a silent option to the "core set verbose" command. * Fixed "core set debug off" tab completion. * Made "core show settings" list the current console verbosity in addition to the root console verbosity. * Changed the default verbose level of the 'verbose' setting in the logger.conf [logfiles] section. The default is now to once again follow the current root console level. As a result, using the AMI Command action with "core set verbose" could again set the root console verbose level and affect the verbose level logged. (closes issue AST-1252) Reported by: Guenther Kelleter Review: https://reviewboard.asterisk.org/r/3114/ 2014-01-14 15:32 +0000 [r405362-405380] Matthew Jordan * channels/chan_sip.c: chan_sip: Hangup transferer/transferee when transfer to Parking fails When performing a SIP transfer to a Park extension, if the Park fails, chan_sip will currently not hang up either the transferer or the transfer target. This results in the channels being orphaned with no thread to service frames, resulting in stuck channels. This patch immediately hangs up the two channels if a Park fails. (closes issue ASTERISK-22834) Reported by: rsw686 Tested by: rsw686 (closes issue ASTERISK-23047) Reported by: Tommy Thompson Tested by: Tommy Thomspon Review: https://reviewboard.asterisk.org/r/3107 * res/Makefile: res/Makefile: alias dist-clean to distclean A 'make distclean' is equivalent to 'make dist-clean' in the top most Makefile. This patch updates the res/Makefile to recognize both distclean and dist-clean. Note that this is needed for removing build.mak, which can run into problems if the source file of Asterisk or its path is changed after build.mak is generated. (issue ASTERISK-22480) Reported by: Matt Jordan 2014-01-10 17:50 +0000 [r405281] Richard Mudgett * main/logger.c: Logging callid: Fix some sizeof() references per coding guidelines. 2014-01-09 16:49 +0000 [r405234] Kevin Harwell * res/res_rtp_asterisk.c: res_rtp_asterisk: Fails to resume WebRTC call from hold In ast_rtp_ice_start if the ice session create check list failed, start check was never initiated and ice_started was never set to true. Upon re-entering the function (for instance, [un]hold) it would try to create the check list again with duplicate remote candidates. Fixed so that if the create check list fails the necessary data structures are properly re-initialized for any subsequent retries. Note, it was decided to not stop ice support (by calling ast_rtp_ice_stop) on a check list failure because it possible things might still work. However, a debug message was added to help with any future troubleshooting. (closes issue ASTERISK-22911) Reported by: Vytis Valentinavičius Patches: works_on_my_machine.patch uploaded by xytis (license 6558) 2014-01-09 15:41 +0000 [r405215] Matthew Jordan * apps/confbridge/conf_state_multi_marked.c, apps/app_confbridge.c: app_confbridge: Fix crash caused when waitmarked/marked users leave together When waitmarked users join a ConfBridge, the conference state is transitioned from EMPTY -> INACTIVE. In this state, the users are maintined in a waiting users list. When a marked user joins, the ConfBridge conference transitions from INACTIVE -> MULTI_MARKED, and all users are put onto the active list of users. This process works correctly. When the marked user leaves, if they are the last marked user, the MULTI_MARKED state does the following: (1) It plays back a message to the bridge stating that the leader has left the conference. This requires an unlocking of the bridge. (2) It moves waitmarked users back to the waiting list (3) It transitions to the appropriate state: in this case, INACTIVE However, because it plays the prompt back to the bridge before moving the users and before finishing the state transition, this creates a race condition: with the bridge unlocked, waitmarked users who leave the conference (or are kicked from it) can cause a state transition of the bridge to another state before the conference is transitioned to the INACTIVE state. This causes the state machine to get a bit wonky, often leading to a crash when the MULTI_MARKED state attempts to conclude its processing. This patch fixes this problem: (1) It prevents kicked users from being kicked again. That's just a nicety. (2) More importantly, it fixes the race condition by only playing the prompt once the state has transitioned correctly to INACTIVE. If waitmarked users sneak out during the prompt being played, no harm no foul. Review: https://reviewboard.asterisk.org/r/3108/ (closes issue AST-1258) Reported by: Steve Pitts 2014-01-09 14:12 +0000 [r405161] Walter Doekes * apps/app_dumpchan.c, /: "Minimun" typo. ........ Merged revisions 405160 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-01-08 16:17 +0000 [r405081-405091] Kinsey Moore * /, configure, configure.ac, pbx/pbx_lua.c: pbx_lua: Add support for Lua 5.2 This adds support for Lua 5.2 in pbx_lua which is available on newer operating systems. (closes issue ASTERISK-23011) Review: https://reviewboard.asterisk.org/r/3075/ Reported by: George Joseph Patch by: George Joseph ........ Merged revisions 405090 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * UPGRADE.txt, /: UPGRADE: Add a note about non-functionality Add a note that the "retry on 403 response to REGISTER" for chan_sip is non-functional in the versions in which it was first introduced. ........ Merged revisions 405088 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * /, channels/chan_sip.c: Add the missing part of r400140 When the patch to add retry-on-forbidden-response was committed, part of the patch for chan_sip was not committed which caused the feature to be entirely nonfunctional. This corrects the code in question. (closes issue ASTERISK-17138) Review: https://reviewboard.asterisk.org/r/2874 ........ Merged revisions 405033 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-01-03 22:24 +0000 [r404888] Tzafrir Cohen * main/asterisk.c, /: asterisk.c: suppress live_dangerously warning on rasterisk Even since the fixes of AST-2013-007, Asterisk prints the following warning on startup if the user decided to live dangerously: Privilege escalation protection disabled! See https://wiki.asterisk.org/wiki/x/1gKfAQ for more details. This message is intended for the logs and interactive startup. No need for it to appear on a remote console. This commit removes it from there. (closes issue ASTERISK-23084) Review: https://reviewboard.asterisk.org/r/3101/ ........ Merged revisions 404861 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-01-03 21:58 +0000 [r404773-404858] Kevin Harwell * cel/cel_pgsql.c, /: cel_pgsql: module not correctly reloading Upon reload the module unconditionally "unloaded" the module (freeing memory and setting pointers to NULL) and then when attempting a "load" if the config file had not changed then nothing would be reinitialized. By moving the "unload" to occur conditionally (reload only) after an attempted configuration load, but before module "loading" alleviates the issue. The module now loads/unloads/reloads correctly. (closes issue ASTERISK-22871) Reported by: Matteo ........ Merged revisions 404857 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * channels/chan_dahdi.c, /: chan_dahdi: dahdi show channels slices PRI channel dnid on output dahdi show channels output slices the callerid (which is dnid copied over on PRI channels). If the channel naming structures look like: 'DAHDI/i1/1408409XXXX-6' then the output slices 1408409XXXX down to 1408409XXX. This patch just opens it up to 15 chars so you can see the whole thing. (closes issue ASTERISK-22918) Reported by: outtolunc Patches: svn_chan_dahdi.c.format12_15.diff.txt uploaded by outtolunc (license 5198) ........ Merged revisions 404784 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * /, apps/app_meetme.c: app_meetme: compiler warning Fixed a compiler warning (errors in 'dev-mode') given by gcc version 4.8.1. The one in app_meetme involved the 'sizeof-pointer-memaccess' (see: http://gcc.gnu.org/gcc-4.8/porting_to.html) warning. Fixed so it would no longer issue a warning and can compile again in 'dev-mode'. Review: https://reviewboard.asterisk.org/r/3098/ ........ Merged revisions 404742 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2014-01-02 19:35 +0000 [r404675] Scott Griepentrog * /, funcs/func_strings.c: func_strings: use memmove to prevent overlapping memory on strcpy When calling REPLACE() with an empty replace-char argument, strcpy is used to overwrite the the matching . However as the src and dest arguments to strcpy must not overlap, it causes other parts of the string to be overwritten with adjacent characters and the result is mangled. Patch replaces call to strcpy with memmove and adds a test suite case for REPLACE. (closes issue ASTERISK-22910) Reported by: Gareth Palmer Review: https://reviewboard.asterisk.org/r/3083/ Patches: func_strings.patch uploaded by Gareth Palmer (license 5169) ........ Merged revisions 404674 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-12-31 21:26 +0000 [r404579-404604] Kevin Harwell * /, cel/cel_pgsql.c: cel_pgsql: deadlock on unload and core_event_dispatcher A deadlock can happen between a thread unloading or reloading the cel_pgsql module and the core_event_dispatcher taskprocessor thread. Description of what is happening: Thread 1 (for example, a netconsole thread): a "module reload cel_pgsql" is launched the thread enter the "my_unload_module" function (cel_pgsql.c) the thread acquire the write lock on psql_columns the thread enter the "ast_event_unsubscribe" function (event.c) the thread try to acquire the write lock on ast_event_subs[sub->type] Thread 2 (core_event_dispatcher taskprocessor thread): the taskprocessor pop a CEL event the thread enter the "handle_event" function (event.c) the thread acquire the read lock on ast_event_subs[sub->type] the thread callback the "pgsql_log" function (cel_pgsql.c), since it's a subscriber of CEL events the thread try to acquire a read lock on psql_columns (closes issue ASTERISK-22854) Reported by: Etienne Lessard Patches: cel_pgsql_fix_deadlock_event.patch uploaded by hexanol (license 6394) ........ Merged revisions 404603 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * main/channel.c: channels.c: core show channeltypes slicing 'core show channeltypes' type column is being sliced, resulting in incomplete type names. (closes issue ASTERISK-22919) Reported by: outtolunc Patches: svn_channel.c.format_15.diff.txt uploaded by outtolunc (license 5198) 2013-12-20 21:15 +0000 [r404457] Scott Griepentrog * /, main/say.c: say.c: correct time for polish In ast_say_date_with_format_pl(), change ast_say_number() to use tm_sec instead of tm_mn. (closes issue ASTERISK-22856) Reported by: Robert Mordec Review: https://reviewboard.asterisk.org/r/3082/ Patches: say.c.patch uploaded by veilen (license 6555) ........ Merged revisions 404456 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-12-19 16:57 +0000 [r404344-404351] Scott Griepentrog * res/res_fax.c: res_fax.c: crash on framehook with no dsp in fax detect In fax_detect_framehook() a null pointer reference can occur where a voice frame is processed but no dsp is attached to the fax detection structure. The code block that rejects frames that detection cannot be processed on is checking for dsp but falls through when it should instead return, as this change implements. (closes issue ASTERISK-22942) Reported by: adomjan Review: https://reviewboard.asterisk.org/r/3076/ * main/db.c: astdb: crash in sqlite3 during shutdown When Asterisk is shut down, the astdb_atexit() function releases (finalize) the previously initiated (prepared) SQL statements in sqlite3. Another thread making a subsequent request can cause a crash in sqlite3. This patch eliminates that issue by resetting the statement pointer after it is released/cleared. The sqlite3 code detects the null pointer, and aborts the operation cleanly. (closes issue AST-1265) Reported by: Alexander Hömig (closes issue ASTERISK-22350) Reported by: Birger "WIMPy" Harzenetter Review: https://reviewboard.asterisk.org/r/3078/ 2013-12-19 08:15 +0000 [r404318] Alexandr Anikin * addons/ooh323c/src/ooGkClient.c, addons/chan_ooh323.c, addons/ooh323c/src/ooGkClient.h, addons/ooh323c/src/oochannels.c: Handle temporary failures on gk registration Introduce new 'stopped' state for gk client and restart gk client on failures Remove ooh323 stack command lock as it is not need now. (closes issue ASTERISK-21960) Reported by: Dmitry Melekhov Patches: ASTERISK-21960.patch ASTERISK-21960-stacklockup-2.patch Tested by: Dmitry Melekhov 2013-12-18 22:34 +0000 [r404275] Jason Parker * main/manager.c: Add AMI event for presence state. Review: https://reviewboard.asterisk.org/r/3039/ 2013-12-18 20:19 +0000 [r404219] Richard Mudgett * addons/ooh323c/src/ooTimer.c, /: ooh323c: Fix gcc 4.6.3 compiler warnings. ........ Merged revisions 404212 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-12-18 11:59 +0000 [r404136] Joshua Colp * /, res/res_calendar.c: res_calendar: Protect channel when adding datastore. This change adds a missing channel lock when adding a datastore to a channel. ........ Merged revisions 404135 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-12-18 00:28 +0000 [r404045-404087] Rusty Newton * /, funcs/func_strings.c: func_strings: Documentation fix for QUOTE() Example output was inaccurate. (issue ASTERISK-22970) (closes issue ASTERISK-22970) Reported by: Gareth Palmer Patches: func_strings.patch uploaded by Gareth Palmer (license 5169) ........ Merged revisions 404081 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * main/rtp_engine.c, channels/chan_iax2.c, apps/app_chanspy.c, apps/app_mixmonitor.c, include/asterisk/test.h, main/channel.c: Several components: fixing Typos in comments and code, "avaliable" instead of "available" (issue ASTERISK-23021) (closes issue ASTERISK-23021) Reported by: Jeremy Lainé Tested by: Rusty Newton Patches: available.patch uploaded by Jeremy Lainé (license 6561) 2013-12-16 17:14 +0000 [r403917] David M. Lee * funcs/func_realtime.c, main/pbx.c, main/tcptls.c, funcs/func_db.c, /, README-SERIOUSLY.bestpractices.txt, configs/asterisk.conf.sample, funcs/func_shell.c, funcs/func_env.c, funcs/func_lock.c, UPGRADE.txt, include/asterisk/pbx.h, main/asterisk.c: security: Inhibit execution of privilege escalating functions This patch allows individual dialplan functions to be marked as 'dangerous', to inhibit their execution from external sources. A 'dangerous' function is one which results in a privilege escalation. For example, if one were to read the channel variable SHELL(rm -rf /) Bad Things(TM) could happen; even if the external source has only read permissions. Execution from external sources may be enabled by setting 'live_dangerously' to 'yes' in the [options] section of asterisk.conf. Although doing so is not recommended. (closes issue ASTERISK-22905) Review: http://reviewboard.digium.internal/r/432/ ........ Merged revisions 403913 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-12-16 15:55 +0000 [r403855-403863] Scott Griepentrog * main/pbx.c, /: pbx.c: put copy of ast_exten.data on stack to prevent memory corruption During dialplan execution in pbx_extension_helper(), the contexts global read lock prevents link list corruption, but was released with a pointer to the ast_exten and data later used in variable substitution. Instead, this patch removes pbx_substitute_variables() and locates a copy of the ast_exten data on the stack before releasing the lock, where ast_exten could get free'd by another thread performing a module reload. (issue AST-1179) Reported by: Thomas Arimont (issue AST-1246) Reported by: Alexander Hömig Review: https://reviewboard.asterisk.org/r/3055/ ........ Merged revisions 403862 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * /, apps/app_sms.c: app_sms: BufferOverflow when receiving odd length 16 bit message This patch prevents an infinite loop overwriting memory when a message is received into the unpacksms16() function, where the length of the message is an odd number of bytes. (closes issue ASTERISK-22590) Reported by: Jan Juergens Tested by: Jan Juergens ........ Merged revisions 403853 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-12-11 19:14 +0000 [r403635] Russell Bryant * /, channels/chan_sip.c: Reset peer outboundproxy on sip.conf reload If you set a peer's outboundproxy and then removed it from the config, this would not get picked up in a config reload. This patch fixes that by resetting it in set_peer_defaults(). Closes ASTERISK-19454 Review: https://reviewboard.asterisk.org/r/3065/ ........ Merged revisions 403634 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-12-09 03:11 +0000 [r403450] Matthew Jordan * res/res_fax_spandsp.c, /: res_fax_spandsp: Always init T.38 session to avoid crashes during state change Prior to this patch, res_fax_spandsp was conservative with how it initialized the spandsp T.38 context. It would only initialize it if the driver thought the current state was a T.38 fax. While this works fine in nominal situations, in certain off nominal situations, res_fax_spandsp can believe that a T.38 fax will not occur when in fact one has started. In particular, this was discovered when res_fax would fall back to audio after timing out on a T.38 upgrade. The SIP channel driver would continue to retry the re-INVITE and - if the remote end responded after res_fax timed out with a 200 OK - a T.38 frame would be delivered to the res_fax stack when it no longer expected it. As it turns out, there does not appear to be any downside to always initializing the T.38 context, other than the actual memory allocation. Since that avoids this off nominal situation (and others which are equally likely hard to predict), this is the safest way to avoid this problem. Much thanks to Torrey as well for providing a scenario that reproduces this issue. (closes issue ASTERISK-21242) Reported by: Ashley Winters Tested by: Torrey Searle patches: always-init-t38.patch uploaded by awinters (License 6477) A_PARTY.xml uploaded by tsearle (License 5334) ........ Merged revisions 403449 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-12-02 17:55 +0000 [r403288] Alexandr Anikin * addons/chan_ooh323.c: Check and reject non-digits e164 values on peers and general sections in ooh323.conf Regenerate e164 endpoint list on reload ooh323 (issue ASTERISK-22901) Reported by: Cyril CONSTANTIN Patches: ASTERISK-22901.patch 2013-11-22 17:11 +0000 [r403015] Joshua Colp * /, main/translate.c: translate: Move freeing of frame to after it is used. When translating from one format to another it is possible to inform the translation function that the source frame should be freed. This was previously done immediately but shortly afterwards the frame that was freed was accessed and used again. This change moves code around a bit so that the frame is now freed after it has been completely used. (closes issue ASTERISK-22788) Reported by: Corey Farrell Patches: translate-access-after-free-11up.patch uploaded by coreyfarrell (license 5909) translate-access-after-free-1.8.patch uploaded by coreyfarrell (license 5909) ........ Merged revisions 403014 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-11-12 15:00 +0000 [r402709] Kinsey Moore * channels/chan_dahdi.c, /: chan_dahdi: Fix crash during caller ID read Asterisk will sometimes core dump during caller id read on analog channels due to a negative return value from the read() in my_get_callerid that slips through as a negative length argument to callerid_feed() if the errno returned by DAHDI is ELAST. This change ensures that the negative return is treated properly even when it is ELAST. (closes issue ASTERISK-22746) Reported by: Michael Walton Patches: chan_dahdi_cid_crash_fix.r401410.patch uploaded by Michael Walton (License 6502) ........ Merged revisions 402708 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-11-11 19:26 +0000 [r402686] Mark Michelson * apps/app_confbridge.c: Get rid of some inaccurate comments. I'm doing some unrelated work in app_confbridge and finding these "invalid pin" comments to be annoying. Get out! 2013-11-11 15:35 +0000 [r402646] Kinsey Moore * /, apps/app_queue.c: app_queue: Honor penalty limits of 0 In the current app_queue code from 1.8 up to trunk the upper and lower penalties can be set to 0 but the value is interpreted to be disabled instead of actually setting limits. This is especially evident if min and max limits are set to 0 and members with penalties of 0 and 1 are in the queue since the member with penalty 1 will still receive calls. This patch adjusts the special disabled value to be INT_MAX instead of 0. (closes issue ASTERISK-20862) Review: https://reviewboard.asterisk.org/r/2995/ Reported by: Schmooze Com ........ Merged revisions 402645 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-11-08 22:48 +0000 [r402605] Scott Griepentrog * channels/sip/include/sip.h, /, channels/chan_sip.c: chan_sip: keep same local (from) tag for outgoing register requests For outbound register requests the tag on the From line was updated every 20 seconds prior to a successful registration and also once for each registration renewal. That behavior can possibly cause the registration to be denied because of the different tag, and is not aligned with the intention of RFC 3261 8.1.3.5 "... request constitutes a new transaction and SHOULD have the same value of the Call-ID, To, and From of the previous request...". This updates chan_sip to have a field to keep the local tag in the registration structure and use that tag for registration requests where the callid is also unchanged. (closes issue ASTERISK-12117) Reported by: Pawel Pierscionek Review: https://reviewboard.asterisk.org/r/2988/ ........ Merged revisions 402604 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-11-05 15:11 +0000 [r402450-402469] Kevin Harwell * /: Recorded merge of revisions 402468 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ chan_sip: notify dialog info ignores presentation indicator in callerid The presentation indicator in a callerid (e.g. set by dialplan function Set(CALLERID(name-pres)= ...)) is not checked when SIP Dialog Info Notifies are generated during extension monitoring. Added a check to make sure the name and/or number presentations on the callee (remote identity) are set to allow. If they are restricted then "anonymous" is used instead. (closes issue AST-1175) Reported by: Thomas Arimont Review: https://reviewboard.asterisk.org/r/2976/ * channels/chan_sip.c: chan_sip: notify dialog info ignores presentation indicator in callerid The presentation indicator in a callerid (e.g. set by dialplan function Set(CALLERID(name-pres)= ...)) is not checked when SIP Dialog Info Notifies are generated during extension monitoring. Added a check to make sure the name and/or number presentations on the callee (remote identity) are set to allow. If they are restricted then "anonymous" is used instead. (closes issue AST-1175) Reported by: Thomas Arimont Review: https://reviewboard.asterisk.org/r/2976/ 2013-11-02 02:11 +0000 [r402407-402425] Richard Mudgett * apps/confbridge/conf_state_inactive.c, apps/confbridge/conf_state_single_marked.c, apps/confbridge/include/confbridge.h, apps/confbridge/conf_state_multi.c, apps/app_confbridge.c, apps/confbridge/conf_state_multi_marked.c, apps/confbridge/conf_state.c, apps/confbridge/conf_state_single.c: confbridge: Separate user muting from system muting overrides. The system overrides the user muting requests when MOH is playing or a waitmarked user is waiting for a marked user to join. System muting overrides interfere with what the user may wish the muting to be when the system override ends. * User muting requests are now independent of the system muting overrides. The effective muting is now the logical or of the user request and system override. * Added a Muted column to the CLI "confbridge list " command. * Added a Muted header to the AMI ConfbridgeList action ConfbridgeList event. (closes issue AST-1102) Reported by: John Bigelow Review: https://reviewboard.asterisk.org/r/2960/ * main/config.c, configs/confbridge.conf.sample: config: Allow ConfBridge DTMF menus to have '#' as the first digit. ConfBridge allows custom DTMF menus to be created in the confbridge.conf file by assigning a DTMF key sequence to a sequence of actions as follows: DTMF-sequence = action,action... Unfortunately, the normal config file processing code interprets an initial '#' character as starting a directive such as #include. * Add the ability to escape the first non-blank character in a config line so the '#' character can be used without triggering the directive processing code. (closes issue AFS-2) (closes issue ASTERISK-22478) Reported by: Nicolas Tanski Patches: jira_asterisk_22478_v11.patch (license #5621) patch uploaded by rmudgett (modified) Review: https://reviewboard.asterisk.org/r/2969/ 2013-11-01 12:31 +0000 [r402345] Kinsey Moore * include/asterisk/rtp_engine.h, res/res_rtp_asterisk.c, channels/chan_sip.c: chan_sip: Fix RTCP port for SRFLX ICE candidates This corrects one-way audio between Asterisk and Chrome/jssip as a result of Asterisk inserting the incorrect RTCP port into RTCP SRFLX ICE candidates. This also exposes an ICE component enumeration to extract further details from candidates. (closes issue ASTERISK-21383) Reported by: Shaun Clark Review: https://reviewboard.asterisk.org/r/2967/ 2013-10-31 15:59 +0000 [r402288] Matthew Jordan * main/loader.c, /: core/loader: Don't call dlclose in a while loop For awhile now, we've noticed continuous integration builds hanging on CentOS 6 64-bit build agents. After resolving a number of problems with symbols, strange locks, and other shenanigans, the problem has persisted. In all cases, gdb shows the Asterisk process stuck in loader.c on one of the infinite while loops that calls dlclose repeatedly until success. The documentation of dlclose states that it returns 0 on success; any other value on error. It does not state that repeatedly calling it will eventually clear those errors. Most likely, the repeated calls to dlclose was to force a close by exhausting the references on the library; however, that will never succeed if: (a) There is some fundamental error at work in the loaded library that precludes unloading it (b) Some other loaded module is referencing a symbol in the currently loaded module This results in Asterisk sitting forever. Since we have matching pairs of dlopen/dlclose, this patch opts to only call dlclose once, and log out as an ERROR if dlclose fails to return success. If nothing else, this might help to determine why on the CentOS 6 64-bit build agent things are not closing successfully. Review: https://reviewboard.asterisk.org/r/2970 ........ Merged revisions 402287 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-10-29 23:42 +0000 [r402225] Rusty Newton * sounds/Makefile, /: Updates for 1.4.25 core sounds and 1.4.14 extra sounds, plus new en_GB language set The new sound packages relate to issues: ASTERISK-22544, ASTERISK-22411, ASTERISK-21413, ASTERISK-20782 Modified sounds/Makefile for the new sound versions and to account for the new en_GB language set. (issue ASTERISK-22659) (closes issue ASTERISK-22659) (closes issue ASTERISK-22411) (closes issue ASTERISK-22544) ........ Merged revisions 402224 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-10-29 12:49 +0000 [r402151] Matthew Jordan * main/xmldoc.c, main/channel.c, main/pbx.c, /, main/translate.c: Remove some spammy debug messages; improve clarity of others Debug messages aren't free. Even when the debug level is sufficiently low such that the messages are never evaluated, there is a cost to having to parse Asterisk logs that contain debug messages that (a) fail to convey sufficient information or (b) occur so frequently as to be next to meaningless. Based on having to stare at lots of DEBUG messages, this patch makes the following changes: * channel.c: When copying variables from a parent channel to a child channel, specify the channels involved. Do not log anything for a variable that is not inherited; the fact that it doesn't have an _ or __ already signifies that it won't be inherited. * pbx.c: Specify what function evaluation has occurred that created the result. * translate.c: Bump up the translator path messages to 10. I've never once had to use these debug messages, and for each format that is registered (on startup) and unregistered (on shutdown) the entire f^2 matrix is logged out. For short tests in the Asterisk Test Suite, this should make finding the actual test much easier. * xmldoc.c: The debug message that 'blah' is not found in the tree is expected. Often, description elements - which are not required - are not provided. This debug message adds no additional value, as it is not indicative of an error or helpful in debugging which element did not contain a 'blah' element as a child. If an element is supposed to contain a child element, then that XML tree should have failed validation in the first place. Review: https://reviewboard.asterisk.org/r/2966/ ........ Merged revisions 402150 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-10-28 14:50 +0000 [r402111] Michael L. Young * channels/chan_sip.c, UPGRADE.txt: chan_sip: Clarify 'Forcerport' Setting Displayed When Running "sip show peers" While looking at ASTERISK-22236, Walter Doekes pointed out that when running "sip show peers", the setting being displayed can be confusing. The display of "N" used to mean NAT (i.e. yes). The NAT setting has gone through many different changes resulting in the display of different characters to try and convey what the current setting is for 'Forcerport' (A for Auto and Forcerport is currently on, a for Auto but Forcerport is off, Y for yes, and N for no). During the initial code review to try and clarify these settings (especially since "N" no longer meant what it used to mean in prior versions of Asterisk), Mark Michelson suggested using the full space available to display the settings which helped to make the settings very clear. That was a great suggestion. Therefore, this patch does the following: * The column for 'Forcerport' now will show: Auto (Yes), Auto (No), Yes, or No. * A column for the 'Comedia' setting has been added. It too will display the setting in a non-cryptic way: Auto (Yes), Auto (No), Yes, or No. * UPGRADE.txt has been updated to document this change. (closes issue ASTERISK-22728) Reported by: Walter Doekes Tested by: Michael L. Young Patches: asterisk-forcerport-display-clarification_v3.diff uploaded by Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/2941 2013-12-17 Asterisk Development Team * Asterisk 11.7.0 Released. 2013-12-16 Asterisk Development Team * Asterisk 11.7.0-rc2 Released. * AST-2013-006 - app_sms: BufferOverflow when receiving odd length 16 bit message This patch prevents an infinite loop overwriting memory when a message is received into the unpacksms16() function, where the length of the message is an odd number of bytes. (closes issue ASTERISK-22590) * AST-2013-007 - security: Inhibit execution of privilege escalating functions This patch allows individual dialplan functions to be marked as 'dangerous', to inhibit their execution from external sources. A 'dangerous' function is one which results in a privilege escalation. For example, if one were to read the channel variable SHELL(rm -rf /) Bad Things(TM) could happen; even if the external source has only read permissions. Execution from external sources may be enabled by setting 'live_dangerously' to 'yes' in the [options] section of asterisk.conf. Although doing so is not recommended. (closes issue ASTERISK-22905) 2013-10-28 Asterisk Development Team * Asterisk 11.7.0-rc1 Released. 2013-10-25 23:32 +0000 [r401960-402042] Scott Griepentrog * /, include/asterisk/rtp_engine.h, main/rtp_engine.c: rtp_engine: fix rtp payloads copy and improve argument names In function ast_rtp_instance_early _bridge_make_compatible the use of instance 0/1 as arguments doesn't clearly communicate a direction that the copying of payloads from the source channel to the destination channel will occur, making it more probable to have the arguments to ast_rtp_codecs_payloads_copy() put in the reverse order. This patch renames the arguments with _dst and _src suffixes and corrects the copy direction. (closes issue ASTERISK-21464) Reported by: Kevin Stewart Review: https://reviewboard.asterisk.org/r/2894/ ........ Merged revisions 402000 from http://svn.asterisk.org/svn/asterisk/branches/1.8 Test shows rtpmap:119 being copied per this change, but is not in sip invite * include/asterisk/pbx.h, main/pbx.c, /: pbx.c: fix confused match caller id that deleted exten still in hash This fixes a bug where a zero length callerid match adjacent to a no match callerid extension entry would be deleted together, which then resulted in hashtable references to free'd memory. A third state of the matchcid value has been added to indicate match to any extension which allows enforcing comparison of matchcid on/off without errors. (closes issue AST-1235) Reported by: Guenther Kelleter Review: https://reviewboard.asterisk.org/r/2930/ ........ Merged revisions 401959 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-10-25 17:29 +0000 [r401896-401935] Jonathan Rose * /, utils/clicompat.c: Put clicompat-r2.patch back in We've figured out how to resolve the problems this was causing in 12/trunk, so this can go back in now. (issue ASTERISK-22467) Reported by: Corey Farrell Patches: clicompat-r2.patch uploaded by coreyfarrell (license 5909) ........ Merged revisions 401914 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * utils/clicompat.c, /: revert clicompat-r2.patch from r401704 Patch caused the following build errors against testsuite https://bamboo.asterisk.org/bamboo/browse/AST-ATRUNKBUILD4-244 (issue ASTERISK-22467) Reported by: Corey Farrell ........ Merged revisions 401895 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-10-25 16:05 +0000 [r401833-401884] Kevin Harwell * channels/chan_sip.c: chan_sip: Allow a sip peer to accept both AVP and AVPF calls Adapts the behaviour of avpf to only impact the format of outgoing calls. For inbound calls, both AVP and AVPF calls will be accepted regardless of the value of avpf in the configuration. (closes issue ASTERISK-22005) Reported by: Torrey Searle Patches: optional_avpf_trunk.patch uploaded by tsearle (license 5334) * main/logger.c: Logging: Logging types ignored after specifying a verbose level If one specified a verbose level within a logging facility in logger.conf then any component after it was ignored. Fixed so all values are correctly read. (closes issue ASTERISK-22456) Reported by: Kevin Harwell 2013-10-24 20:33 +0000 [r401620-401830] Jonathan Rose * /, main/utils.c: utils: Fix memory leaks and missed unregistration of CLI commands on shutdown Final set of patches in a series of memory leak/cleanup patches by Corey Farrell (closes issue ASTERISK-22467) Reported by: Corey Farrell Patches: main-utils-1.8.patch uploaded by coreyfarrell (license 5909) main-utils-11.patch uploaded by coreyfarrell (license 5909) main-utils-12up.patch uploaded by coreyfarrell (license 5909) ........ Merged revisions 401829 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * /, tests/test_linkedlists.c: test_linkedlists: Fix memory leak (issue ASTERISK-22467) Reported by: Corey Farrell Patches: test_linkedlists-1.8.patch uploaded by coreyfarrell (license 5909) test_linkedlists-11up.patch uploaded by coreyfarrell (license 5909) ........ Merged revisions 401790 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * main/jitterbuf.c, /: jitterbuf: Fix memory leak on jitter buffer reset (issue ASTERISK-22467) Reported by: Corey Farrell Patches: jitterbuf-jb_reset-leak-1.8.patch jitterbuf-jb_reset-leak-11up.patch ........ Merged revisions 401786 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * /, main/astobj2.c: astobj2: Unregister debug CLI commands at exit (issue ASTERISK-22467) Reported by: Corey Farrell Patches: astobj2-clean-debug-cli-1.8-11.patch uploaded by coreyfarrell (license 5909) astobj2-clean-debug-cli-12up.patch uploaded by coreyfarrell (license 5909) ........ Merged revisions 401781 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * /, apps/app_voicemail.c: app_voicemail: Memory Leaks against tests (issue ASTERISK-22467) Reported by: Corey Farrell Patches: app_voicemail-1.8.patch uploaded by coreyfarrell (license 5909) app_voicemail-11up.patch uploaded by coreyfarrell (license 5909) ........ Merged revisions 401743 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * utils/clicompat.c, channels/chan_dahdi.c, codecs/ilbc/doCPLC.c, main/data.c, /, main/app.c, main/asterisk.c: memory leaks: Memory leak cleanup patch by Corey Farrell (second set) Also covers ast_app_parse_timelen-fail-zero-length.patch, but the patch was replaced with one of my own. (issue ASTERISK-22467) Reported by: Corey Farrell Patches: chan_dahdi-cleanup_push.patch uploaded by coreyfarrell (license 5909) clicompat-r2.patch uploaded by coreyfarrell (license 5909) codecs-ilbc-doCPLC.patch uploaded by coreyfarrell (license 5909) data-cleanup-test-registration.patch uploaded by coreyfarrell (license 5909) main-asterisk-kill-listener.patch uploaded by coreyfarrell (license 5909) ........ Merged revisions 401704 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * tests/test_dlinklists.c, funcs/func_math.c, channels/sip/reqresp_parser.c, main/test.c, main/editline/readline.c, /: memory leaks: Memory leak cleanup patch by Corey Farrell (first set) (issue ASTERSIK-22467) Reported by: Corey Farrell Patches: chan_sip-parse_contact_header_test-free-contacts.patch uploaded by coreyfarrell (license 5909) cli-filename-completion-leak.patch uploaded by coreyfarrell (license 5909) func_math.patch uploaded by corefarrell (license 5909) main-test-cleanup.patch uploaded by coreyfarrell (license 5909) test_dlinklists.patch uploaded by coreyfarrell (license 5909) ........ Merged revisions 401660 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * res/res_rtp_asterisk.c, /, main/translate.c: res_rtp_asterisk: Address jittery DTMF events in RTP streams (closes issue ASTERISK-21170) Reported by: NITESH BANSAL Patches: dtmf-timestamp.patch uploaded by NITESH BANSAL (license 6418) Review: https://reviewboard.asterisk.org/r/2938/ ........ Merged revisions 401619 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-10-23 16:46 +0000 [r401579] Richard Mudgett * cdr/cdr_adaptive_odbc.c, /: cdr_adaptive_odbc: Also apply a filter when the CDR value is empty. Extra CDR records are written if a filtered CDR value is empty because the filter is not checked. (closes issue ASTERISK-22272) Reported by: Jordi Llull Chavarria ........ Merged revisions 401577 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-10-23 15:22 +0000 [r401538] Kinsey Moore * channels/chan_mgcp.c, /: chan_mgcp: Properly handle malformed media lines This corrects a situation in which a media line was not parsed properly and resulted in a crash. (closes issue ASTERISK-21190) Reported by: adomjan Patches: chan_mgcp.c-sscnaf_fix uploaded by adomjan (License 5448) ........ Merged revisions 401537 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-10-23 11:11 +0000 [r401498] Joshua Colp * /, channels/chan_sip.c: Fix an issue where an incompatible audio format may be added to SDP. If preferred codecs included any non-audio format the code would mistakenly add the audio format, even if it was not a joint capability with the remote side. (closes issue ASTERISK-21131) Reported by: nbougues Patches: patch_unsupported_codec_1.8.patch uploaded by nbougues (license 6470) ........ Merged revisions 401497 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-10-22 22:42 +0000 [r401446] Matthew Jordan * res/res_rtp_asterisk.c, /: res_rtp_asterisk: Fix crash when RTCP is not available during SSRC change In r400089, a patch was put in to correct erroneous RTCP statistic resets. Unfortunately, ast_rtp_read can be called on an RTP instance that does not have RTCP information. This patch prevents that crash by only resetting the statistics if we do actually have an RTCP instance. (issue AST-1174) (closes issue ASTERISK-22667) Reported by: John Bigelow ........ Merged revisions 401445 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-10-22 19:02 +0000 [r401379-401433] Richard Mudgett * apps/app_queue.c: app_queue: Fix CLI "queue remove member" queue_log entry. The queue_log entry resulting from CLI "queue remove member" when log_membername_as_agent is enabled is wrong. It always uses the interface name instead of the member name in the queue_log entry. * Get the queue member before removing it from the queue so the member name is available for the queue_log entry. (closes issue ASTERISK-21826) Reported by: Oscar Esteve Patches: fix_membername.diff (license #6505) patch uploaded by Oscar Esteve (modified to fix potential ref leak) * channels/sig_analog.c, /: chan_dahdi: Fix unable to get index warning when transferring an analog call. Transferring an analog call using flashhooks generated an unable to get index WARNING message when the transfer is completed. * Removed unnecessary analog subchannel shell games when transferring a call using flashhooks. Thanks to Tzafrir Cohen for mentioning this in a comment on issue ASTERISK-22720. ........ Merged revisions 401378 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-10-21 19:46 +0000 [r401326] Kevin Harwell * main/editline/term.c, /: Segfault in LIBEDIT_INTERNAL after tgetstr(), when libncurses5-dev isn't installed Include the appropriate declarations when not using termcap, but term+curses and [n]curses do not exist. (closes issue ASTERISK-22351) Reported by: A. Iglesias Patches: issueA22351_libedit_internal_without_ncurses_dev.patch uploaded by wdoekes (license 5674) ........ Merged revisions 401325 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-10-18 15:11 +0000 [r401182] Michael L. Young * channels/chan_sip.c: Remove Port Restriction When Checking For NAT When trying to determine if a peer is behind NAT, we should not be using the ports when comparing addresses. This patch removes the port from being checked and just useds the addresses now. (closes issue ASTERISK-22729) Reported by: Michael L. Young Tested by: Michael L. Young Patches: asterisk-remove-using-port-for-nat-check.diff uploaded by Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/2927/ 2013-10-18 14:43 +0000 [r401179] Walter Doekes * main/channel.c, /: Properly copy/remove the device state cache flag over a masquerade. In r378303 the AST_FLAG_DISABLE_DEVSTATE_CACHE flag was added that tells the devstate system to not cache states for non-real devices. However, when optimizing away channels (ast_do_masquerade), that flag wasn't copied. In my case, using Local devices as queue members created a situation where the endpoint was considered in use, but the state change of the device being available again was ignored (not cached). The endpoint channel was optimized into the (previously) Local channel, but kept the do-not-cache flag. The end result being that the queue member apparently stayed in use forever. (closes issue ASTERISK-22718) Reported by: Walter Doekes Review: https://reviewboard.asterisk.org/r/2925/ ........ Merged revisions 401178 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-10-17 20:32 +0000 [r401167] Michael L. Young * channels/chan_sip.c: Fix Setting A chan_sip Dialog's SIP_NAT_FORCE_RPORT Flag A condition was added in a commit to fix ASTERISK-21374, that, if the SIP_PAGE3_NAT_AUTO_RPORT flag was set, to then copy a peer's SIP_NAT_FORCE_RPORT flag to the dialog. This condition should not have been there since it assumed that if Asterisk is in an environment where NAT is involved, that the auto_* nat settings or force_rport setting would be on in the global settings. If the nat setting in the global setting is set to 'nat=no' and then turned on for peers (which is not quite the recommended way, although it is allowed) this flag is never copied to the dialog resulting in problems like, REGISTER replies going to the wrong port. This patch removes this conditional check and will now always use the peer's flag which by this point in the code the checks on whether the peer is behind NAT or not (if using auto_force_rport) have already been run. (closes issue ASTERISK-22236) Reported by: Filip Frank Tested by: Michael L. Young Patches: asterisk-2236-always-set-rport.diff uploaded by Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/2919/ 2013-10-17 15:36 +0000 [r401120] Kinsey Moore * /, res/res_xmpp.c, res/res_jabber.c: Reduce log level of a non-pubsub error message Drop an error log message to debug level 1 since distributed device state functions correctly when receiving this message and it spams the logs. (closes issue ASTERISK-22410) Reported by: abelbeck Patches: asterisk-1.8-res_jabber-log-nonpubsub-error-to-debug.patch uploaded by abelbeck (License 5903) asterisk-11-res_xmpp-log-nonpubsub-error-to-debug.patch uploaded by abelbeck (License 5903) ........ Merged revisions 401119 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-10-16 11:52 +0000 [r401076] Walter Doekes * apps/app_queue.c, /: Don't check all realtime queues when doing "queue show some_queue". When using realtime queues, queues have to be fetched from the database every now and then to see if any info has been changed or to see if the queue has been removed. When fetching info for an individual queue, the pruning of other queues is unnecessarily costly. Review: https://reviewboard.asterisk.org/r/2907/ ........ Merged revisions 401049 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-10-15 19:57 +0000 [r401016] Richard Mudgett * channels/chan_iax2.c: chan_iax2: Fix channel left locked in off nominal code path. 2013-10-15 14:58 +0000 [r400971] Mark Michelson * /, channels/chan_sip.c: Prevent chan_sip from sending duplicate BYEs. When a 200 OK for an initial INVITE is received, we were doing the right thing by ACKing and sending an immediate BYE. However, we also were doing the wrong thing and queuing an answer frame, thus causing the call to be answered. This would cause the call to be hung up by the channel thread, thus resulting in a second BYE being sent out. In this fix, I also have set the hangupcause to be correct since the initial BYE being sent by Asterisk had an unknown hangup cause. I have changed to using "Bearer capabilty not available" since the call was hung up due to an SDP offer/answer error. (closes issue ASTERISK-22621) reported by Kinsey Moore ........ Merged revisions 400970 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-10-14 21:44 +0000 [r400909] Richard Mudgett * channels/chan_dahdi.c, /: chan_dahdi: Reflect the set software gain in the CLI "dahdi show channel" output. * Remember the swgain setting from CLI "dahdi set swgain" command so the CLI "dahdi show channel" output will reflect the current setting. * Updated CLI "dahdi set hwgain" and "dahdi set swgain" documentation. (issue ASTERISK-22429) Reported by: Jaco Kroon Patches: jira_asterisk_22429_v1.8_v2.patch (license #5621) patch uploaded by rmudgett ........ Merged revisions 400907 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-10-14 21:42 +0000 [r400908] Mark Michelson * /, channels/chan_sip.c: Do not increment the SDP version between 183 and 200 responses. Bumping the SDP version number can cause interoperability problems since receivers of the responses will expect that a 200 SDP will be identical to a previous 183 SDP. (closes issue ASTERISK-21204) reported by NITESH BANSAL Patches: dont-increment-session-version-in-2xx-after-183.patch uploaded by NITESH BANSAL (License #6418) ........ Merged revisions 400906 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-10-08 22:27 +0000 [r400768] Kinsey Moore * /, configure, configure.ac: Add warning when compiling with iODBC support When running configure, libiodbc2 development headers will fulfill the requirement for ODBC development headers, but will not function properly. This adds a warning when libiodbc2 development headers are detected instead of unixodbc development headers. (closes issue ASTERISK-22459) Reported by: Patrick Maille Tested by: Walter Doekes Patches: issueA22459_warn_when_using_iodbc.patch uploaded by Walter Doekes (License 5674) ........ Merged revisions 400767 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-10-08 20:14 +0000 [r400723-400741] Richard Mudgett * UPGRADE.txt, apps/app_confbridge.c, apps/confbridge/conf_config_parser.c, configs/confbridge.conf.sample, apps/confbridge/include/confbridge.h: app_confbridge: Can now set the language used for announcements to the conference. ConfBridge now has the ability to set the language of announcements to the conference. The language can be set on a bridge profile in confbridge.conf or by the dialplan function CONFBRIDGE(bridge,language)=en. (closes issue ASTERISK-19983) Reported by: Jonathan White Patches: M19983_rev2.diff (license #5138) patch uploaded by junky (modified) Tested by: rmudgett * apps/confbridge/conf_config_parser.c: app_confbridge: Fix duplicate default_user profile. * Fixed looking in the wrong profiles container to see if the default_user profile is already created in verify_default_profiles(). The bridge profile container is never going to hold user profiles. :) 2013-10-08 18:18 +0000 [r400681-400697] Kinsey Moore * funcs/func_config.c, /: Fix func_config list entry allocation The AST_CONFIG dialplan function defined in func_config.c allocates its config file list entries using ast_malloc. List entry allocations destined for use with Asterisk's linked list API must be ast_calloc()d or otherwise initialized so that list pointers are set to NULL. These uses of ast_malloc have been replaced by ast_calloc to prevent dereferencing of uninitialized pointer values when traversing the list. (closes issue ASTERISK-22483) Reported by: Brian Scott ........ Merged revisions 400694 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * res/res_rtp_asterisk.c: Fix STUN crash when using IPv6 any address Ensure that when chan_sip binds to the IPv6 any address ([::]), IPv4 candidates are also added. (closes issue ASTERISK-21917) Reported by: Torrey Searle Patches: 0023_ipv6_stun_crash.patch uploaded by Torrey Searle (License 5334) 2013-10-06 17:09 +0000 [r400623] Michael L. Young * apps/app_queue.c, /: Fix Regression With Queuelog EXITWITHKEY Only Logging Two Out Of Four Fields Commit r62462 added two extra fields for logging "the original position the caller entered the queue at, and the amount of time the caller was waiting in the queue." But when r75969 was merged from 1.4 into trunk (r75977), these two fields disappeared. Those two extra fields were not logged in 1.4 and when the patch was merged, those fields went away. Therefore, this is a regression and was caught by the reporter because he was reading the awesome "Asterisk: The Definitive Guide" book. (closes issue ASTERISK-22197) Reported by: Dalius M. Tested by: Dalius M. Patches: asterisk-22197-q-log-exitwithkey.diff uploaded by Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/2901/ ........ Merged revisions 400622 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-10-03 22:59 +0000 [r400470] 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 2013-10-03 19:22 +0000 [r400394-400421] 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 * 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 2013-10-02 21:31 +0000 [r400315] 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 2013-10-02 17:36 +0000 [r400279] Tzafrir Cohen * Makefile, doc/astdb2sqlite3.8 (added), doc/astdb2bdb.8 (added): man pages for astdb2bdb and astdb2sqlite3 Review: https://reviewboard.asterisk.org/r/2898/ 2013-09-30 15:26 +0000 [r400140] Kinsey Moore * UPGRADE.txt, configs/sip.conf.sample, /, channels/chan_sip.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. (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 2013-09-28 22:21 +0000 [r400075-400093] Matthew Jordan * 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 * /, 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 2013-09-27 21:35 +0000 [r400014] Richard Mudgett * /, 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 2013-09-27 17:24 +0000 [r399962] Jonathan Rose * /, channels/chan_sip.c, channels/sip/include/sip.h: chan_sip: Reject calls on 200 OKs if no SDP has been received When Asterisk receives a 200 OK in response to an invite, that peer should have sent an SDP at some point by then. If the channel has never received an SDP, media won't have been set and the remote address won't be known. Endpoints in general should not be doing this. This patch makes it so that Asterisk will simply hang up a call if it sends a 200 OK at this point. So far this odd behavior for endpoints has only been observed in tests which involved manually created SIP transactions in SIPp. (closes issue ASTERISK-22424) Reported by: Jonathan Rose Review: https://reviewboard.asterisk.org/r/2827/ ........ Merged revisions 399939 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-09-25 20:28 +0000 [r399834] 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 2013-09-25 19:27 +0000 [r399795] 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 2013-09-24 20:20 +0000 [r399708] Richard Mudgett * /, 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 2013-09-20 22:35 +0000 [r399564] 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/ 2013-09-20 14:23 +0000 [r399513] Kevin Harwell * main/logger.c: Fix memory leak in logger. Fixed a memory leak discovered in the logger where a temporary string buffer was not being freed. (closes issue ASTERISK-22540) Reported by: John Hardin 2013-09-19 16:45 +0000 [r399457] 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 2013-10-21 Asterisk Development Team * Asterisk 11.6.0 Released. 2013-10-18 Asterisk Development Team * Asterisk 11.6.0-rc2 Released. * Remove Port Restriction When Checking For NAT When trying to determine if a peer is behind NAT, we should not be using the ports when comparing addresses. This patch removes the port from being checked and just useds the addresses now. * Properly copy/remove the device state cache flag over a masquerade. In r378303 the AST_FLAG_DISABLE_DEVSTATE_CACHE flag was added that tells the devstate system to not cache states for non-real devices. However, when optimizing away channels (ast_do_masquerade), that\ flag wasn't copied. In my case, using Local devices as queue members created a situation where the endpoint was considered in use, but the state change of the device being available again was ignored (not cached). The endpoint channel was optimized into the (previously) Local channel, but kept the do-not-cache flag. The end result being that the queue member apparently stayed in use forever. * Fix Setting A chan_sip Dialog's SIP_NAT_FORCE_RPORT Flag A condition was added in a commit to fix ASTERISK-21374, that, if the SIP_PAGE3_NAT_AUTO_RPORT flag was set, to then copy a peer's SIP_NAT_FORCE_RPORT flag to the dialog. This condition should not have been there since it assumed that if Asterisk is in an environment where NAT is involved, that the auto_* nat settings or force_rport setting would be on in the global settings. If the nat setting in the global setting is set to 'nat=no' and then turned on for peers (which is not quite the recommended way, although it is allowed) this flag is never copied to the dialog resulting in problems like, REGISTER replies going to the wrong port. This patch removes this conditional check and will now always use the peer's flag which by this point in the code the checks on whether the peer is behind NAT or not (if using auto_force_rport) have already been run. * Fix memory leak in logger Fixed a memory leak discovered in the logger where a temporary string buffer was not being freed. 2013-09-19 Asterisk Development Team * Asterisk 11.6.0-rc1 Released. 2013-09-18 23:36 +0000 [r399442] Richard Mudgett * main/udptl.c: UDPTL: Backport some fixes from v12 that should be in v11. Backported the following as applied to udptl.c: * -r398020 Fixup udpdl defaults if config file not present. * -r398533 Fixup improper use of ao2_global_obj_replace(). 2013-09-18 19:55 +0000 [r399403] 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 2013-09-18 17:22 +0000 [r399353-399373] 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 * 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/ 2013-09-18 01:34 +0000 [r399305] Michael L. Young * /, main/features.c: Fix Segfault When Syntax Of A Line Under [applicationmap] Is Invalid When processing the lines under the [applicationmap] context in features.conf, a segfault occurs from attempting to process a line with an invalid syntax (basically missing most of the arguments). Example: [applicationmap] automon=*6 * This patch moves the checking for empty arguments to before they are accessed. * Also, checked the "todo" comment and removed it. Some applications do not require arguments. (closes issue ASTERISK-22416) Reported by: CGI.NET Tested by: CGI.NET Patches: asterisk-22416-check-syntax-first_v2.diff by Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/2803 ........ Merged revisions 399304 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-09-17 18:32 +0000 [r399222-399267] Kevin Harwell * main/asterisk.c, main/logger.c: Remote console: more output discrepancies The remote console continued to have issues with its output. In this case CLI command output would either not show up (if verbose level = 0) or would contain verbose prefixes (if verbose level > 0) once log messages were sent to the remote console. The fix now now adds verbose prefix data to all new lines contained in a verbose log string. (closes issue ASTERISK-22450) Reported by: David Brillert (closes issue AST-1193) Reported by: Guenther Kelleter Review: https://reviewboard.asterisk.org/r/2825/ * 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/ 2013-09-16 16:42 +0000 [r399159] Richard Mudgett * 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 2013-09-13 20:49 +0000 [r399099] 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 2013-09-13 13:48 +0000 [r399034] 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 2013-09-12 20:19 +0000 [r398986] 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 2013-09-12 00:02 +0000 [r398881-398885] 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 * 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 2013-09-11 19:46 +0000 [r398836] 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 2013-09-11 18:01 +0000 [r398820] 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. 2013-09-10 17:56 +0000 [r398758] Richard Mudgett * main/event.c, res/res_musiconhold.c, main/indications.c, main/asterisk.c, main/xmldoc.c, main/cli.c, /, funcs/func_dialgroup.c, main/heap.c: 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 2013-09-10 17:48 +0000 [r398749-398753] 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 * 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 2013-09-09 23:21 +0000 [r398721] 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 2013-09-09 20:02 +0000 [r398649] 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 2013-09-07 00:59 +0000 [r398510-398618] 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) * /, res/res_xmpp.c, res/res_jabber.c: 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 * /, res/res_xmpp.c, res/res_jabber.c: 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 * 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 2013-09-05 19:13 +0000 [r398302-398457] Richard Mudgett * 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 * 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 * 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 * channels/iax2-parser.c: chan_iax2: Add missing control frame names to debug frame decode output. (Part 2) * 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 2013-09-04 21:33 +0000 [r398281-398285] 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) * 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) 2013-09-04 15:57 +0000 [r398236] 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 2013-09-03 19:45 +0000 [r398214] Alexandr Anikin * addons/ooh323c/src/ooh245.c: Fix remote tcs sequence handling on empty tcs received 2013-09-02 07:28 +0000 [r398168] 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 2013-08-30 19:16 +0000 [r398022-398103] Kevin Harwell * main/indications.c, main/config.c, res/res_security_log.c, /, channels/chan_sip.c, main/translate.c, main/named_acl.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-11.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 * res/res_agi.c, main/manager.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-11.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 * /, main/features.c: Fix memory leak Fixed a features.c test that leaked a reference to a parked call. This caused chancount to never reach 0, so graceful shutdown stops. Also added an unregister test. (closes issue ASTERISK-22413) Reported by: Corey Farrell Patches: features-TEST_FRAMEWORK.patch uploaded by coreyfarrell (license 5909) ........ Merged revisions 398021 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-08-30 16:57 +0000 [r398019] Richard Mudgett * 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 2013-08-30 16:20 +0000 [r397948-398011] 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 * main/asterisk.c: Check return value on fwrite * channels/chan_misdn.c, apps/app_dumpchan.c, main/features.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/ 2013-08-27 18:03 +0000 [r397758] 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 2013-08-27 16:40 +0000 [r397744] Richard Mudgett * channels/chan_sip.c, channels/chan_motif.c, channels/chan_iax2.c, channels/sig_pri.c, channels/sig_ss7.c, channels/chan_dahdi.c, channels/sig_analog.c: Fix uninitialized value in struct ast_control_pvt_cause_code usage. 2013-08-27 15:55 +0000 [r397712] 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 2013-08-23 21:57 +0000 [r397604] Joshua Colp * res/res_rtp_asterisk.c, UPGRADE.txt, res/Makefile: Make libuuid an optional dependency for res_rtp_asterisk instead of a requirement. Review: https://reviewboard.asterisk.org/r/2777/ 2013-08-23 16:07 +0000 [r397528] Richard Mudgett * main/utils.c, include/asterisk/lock.h, main/astmm.c, channels/sig_pri.c, main/astobj2.c, include/asterisk/logger.h, main/lock.c, include/asterisk/utils.h, include/asterisk/astmm.h, /, main/logger.c: Fix memory corruption when trying to get "core show locks". Review https://reviewboard.asterisk.org/r/2580/ tried to fix the mismatch in memory pools but had a math error determining the buffer size and didn't address other similar memory pool mismatches. * Effectively reverted the previous patch to go in the same direction as trunk for the returned memory pool of ast_bt_get_symbols(). * Fixed memory leak in ast_bt_get_symbols() when BETTER_BACKTRACES is defined. * Fixed some formatting in ast_bt_get_symbols(). * Fixed sig_pri.c freeing memory allocated by libpri when MALLOC_DEBUG is enabled. * Fixed __dump_backtrace() freeing memory from ast_bt_get_symbols() when MALLOC_DEBUG is enabled. * Moved __dump_backtrace() because of compile issues with the utils directory. (closes issue ASTERISK-22221) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2778/ ........ Merged revisions 397525 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-08-22 08:22 +0000 [r397378] Walter Doekes * default.exports, /, main/asterisk.exports.in: 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 2013-08-21 23:02 +0000 [r397365] 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/ 2013-08-21 17:07 +0000 [r397309] 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 2013-08-21 15:12 +0000 [r397257] 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 2013-08-21 14:36 +0000 [r397254] 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 2013-08-21 02:11 +0000 [r397205] 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 2013-08-20 17:41 +0000 [r397133-397157] Mark Michelson * /, channels/chan_sip.c: Remove REF_DEBUG definition. ........ Merged revisions 397156 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * /, 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 2013-08-20 15:27 +0000 [r397034-397107] 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 * main/xmldoc.c, /: 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 * main/cel.c, /: Protect CEL from an invalid config on reload This patch fixes CEL to properly handle an invalid config on reload. (closes issue ASTERISK-22259) Reported by: Corey Farrell Tested by: Corey Farrell Patches: cel-config.patch uploaded by Corey Farrell ........ Merged revisions 397033 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-08-20 11:47 +0000 [r396995] Walter Doekes * configs/h323.conf.sample, /, configs/sip.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 2013-08-20 01:18 +0000 [r396944-396961] Matthew Jordan * 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. Note that this is a backport of r396915 from Asterisk trunk. ........ Merged revisions 396958 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * 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 * 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 2013-08-16 22:45 +0000 [r396884] John Bigelow * main/features.c: Add test suite events to indicate when a feature is detected or not These are needed by the bridge test suite tests for them to be able to run against Asterisk 11. Review: https://reviewboard.asterisk.org/r/2751/ 2013-08-15 16:29 +0000 [r396746] 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 2013-08-14 19:06 +0000 [r396620-396657] 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 * /, 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 2013-08-13 18:45 +0000 [r396580-396583] 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 * /, 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 2013-08-08 20:21 +0000 [r396441] Walter Doekes * include/asterisk/logger.h, /, main/logger.c, main/utils.c, main/astobj2.c: Consistent memory allocation by ast_bt_get_symbols. Always use ast_alloc/ast_free. This is handled differently in trunk (r391012). Review: https://reviewboard.asterisk.org/r/2580/ ........ Merged revisions 396427 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-08-08 07:03 +0000 [r396377] 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 2013-08-06 08:37 +0000 [r396287-396310] 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. * 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, pbx/pbx_dundi.c, utils/extconf.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 2013-08-05 20:19 +0000 [r396197-396248] 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 * UPGRADE.txt: Change "from" to "From". (related to issue ASTERISK-21903) * /, UPGRADE.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 2013-07-22 13:50 +0000 [r394890-395033] 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 * CHANGES, UPGRADE.txt: Add an upgrade note for libuuid dependency; remove note in CHANGES This patch notes that libuuid is now a dependency for res_rtp_asterisk; this was introduced in between 11.4.0 and 11.5.0 to resolve a dependency for pjproject, which res_rtp_asterisk uses for ICE/STUN/TURN support. It also removes a conflicting note from CHANGES. While support for playing prompts to the first participant was added for app_queue, it was disabled by default and an option added to enable it. That was properly noted in the UPGRADE.txt file. * /, 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 * /, 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 * 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 * 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 * 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 2013-07-18 12:52 +0000 [r394641] 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 2013-07-14 02:34 +0000 [r394303-394345] 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 * /, 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 2013-07-11 21:28 +0000 [r394173] 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 2013-07-10 01:49 +0000 [r393929] 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 2013-07-03 23:52 +0000 [r393628-393630] Richard Mudgett * apps/app_mixmonitor.c: MixMonitor: Fix refleak in manager_stop_mixmonitor() if could not stop monitoring. ........ Merged revisions 393490 from http://svn.asterisk.org/svn/asterisk/trunk * 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 2013-07-02 10:14 +0000 [r393395] Igor Goncharovskiy * channels/chan_unistim.c: Fix issue with inability to cancell call transfer made by on-sceen menus. Reported by: Igor Olhovskiy 2013-06-25 01:07 +0000 [r392810] Matthew Jordan * channels/chan_motif.c, main/http.c, main/config_options.c, main/named_acl.c, res/res_calendar.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) 2013-06-14 16:21 +0000 [r391794] 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 2013-06-13 18:47 +0000 [r391700] Richard Mudgett * apps/confbridge/conf_config_parser.c, apps/confbridge/include/confbridge.h, apps/app_confbridge.c: 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. 2013-06-12 21:00 +0000 [r391560] 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) 2013-06-12 02:25 +0000 [r391507] Matthew Jordan * main/loader.c, main/format.c, /: Fix memory leak while loading priority modules and adding formats This patch fixes two 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. ........ Merged revisions 391489 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-06-11 10:22 +0000 [r391379] 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) 2013-06-11 08:10 +0000 [r391334] 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 2013-07-15 Asterisk Development Team * Asterisk 11.5.0 Released. 2013-07-12 Asterisk Development Team * Asterisk 11.5.0-rc2 Released. * Properly lock and safely handle a transfer failure in IAX2 When touching the bridgecallno, we need to lock it - otherwise a race condition can occur. This patch does the proper locking of the bridgecallno before modifying its state. 2013-06-10 Asterisk Development Team * Asterisk 11.5.0-rc1 Released. 2013-06-10 14:25 +0000 [r391241] Matthew Jordan * /, configs/queues.conf.sample, UPGRADE.txt, apps/app_queue.c: 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 2013-06-10 09:32 +0000 [r391063-391148] 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 * /, channels/chan_iax2.c: fix bad edit after conflict resolution ........ Merged revisions 391107 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * /, 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 * /, 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 2013-05-31 10:34 +0000 [r390228-390229] Alexandr Anikin * addons/chan_ooh323.c: remove unnecessary declarations (issue ASTERISK-21800) * addons/chan_ooh323.c, /: 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 2013-05-29 20:18 +0000 [r390047] 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 2013-05-28 17:43 +0000 [r389896] 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 2013-05-24 11:49 +0000 [r389677] Matthew Jordan * /, 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 2013-05-24 10:12 +0000 [r389661] 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) 2013-05-20 17:43 +0000 [r389245] Jason Parker * /: Add doxygen.log to svn:ignore property. ........ Merged revisions 389244 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-05-15 15:57 +0000 [r388839] kharwell : * 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 2013-05-15 14:25 +0000 [r388816] 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/ 2013-05-15 12:39 +0000 [r388769] 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 2013-05-14 18:55 +0000 [r388700] 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 2013-05-13 21:17 +0000 [r388601-388605] 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/ * 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/ 2013-05-13 20:35 +0000 [r388597] 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 2013-05-13 19:24 +0000 [r388578] 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 2013-05-13 18:09 +0000 [r388530] 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 2013-05-13 14:26 +0000 [r388478] 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 2013-05-10 22:11 +0000 [r388424-388426] 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 * utils, /: Add version.c to list of ignored files in the utils directory. ........ Merged revisions 388423 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-05-10 20:41 +0000 [r388378] 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 2013-05-10 11:46 +0000 [r388253] Sean Bright * channels/chan_sip.c: Fix copy/paste error in one-touch-recording implementation. 2013-05-09 04:10 +0000 [r388108-388112] 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 * 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/ 2013-05-08 07:19 +0000 [r387880] 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: Dan Martens, David Brillert, alecdavis alecdavis (license 585) Review https://reviewboard.asterisk.org/r/2475/ ........ Merged revisions 387875 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-05-07 18:29 +0000 [r387823] David M. Lee * 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. 2013-05-06 15:55 +0000 [r387689] 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 2013-05-02 17:15 +0000 [r387422] 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 2013-05-02 08:09 +0000 [r387295-387345] 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 * /, 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 * 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 * /, 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 2013-05-01 21:17 +0000 [r387038-387216] 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 * 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) * /, 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 2013-04-30 22:15 +0000 [r387030] Jonathan Rose * main/event.c: Add forgotten event types to event_names array 2013-04-30 13:46 +0000 [r386930] 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 2013-04-29 23:35 +0000 [r386878] 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 2013-04-29 08:54 +0000 [r386794] 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 2013-04-26 21:27 +0000 [r386642-386677] Matthew Jordan * 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 * /, 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 2013-04-25 03:02 +0000 [r386484-386486] 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" * /, 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 2013-04-22 16:30 +0000 [r386286] 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 2013-04-19 22:25 +0000 [r386159] 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 2013-04-19 05:18 +0000 [r386006-386051] 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 * 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/ 2013-04-16 23:27 +0000 [r385917-385938] Alec L Davis * res/res_xmpp.c: Distributed Device State broken at sites using res_xmpp or res_jabber where Secuity Advisory AST-2012-015 is inplace res_xmpp was not adding AST_EVENT_IE_CACHABLE to the event as each message came in, then devstate_change_collector_cb() was unable to find AST_EVENT_IE_CACHABLE in the event, so defaulted incorrectly to AST_DEVSTATE_NOT_CACHABLE. (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/ * /, main/devicestate.c, res/res_jabber.c: Distributed Device State broken at sites using res_xmpp or res_jabber where Secuity Advisory AST-2012-015 is inplace res_jabber/res_xmpp were not adding AST_EVENT_IE_CACHABLE to the event as each message came in, then devstate_change_collector_cb() was unable to find AST_EVENT_IE_CACHABLE in the event, so defaulted incorrectly to AST_DEVSTATE_NOT_CACHABLE. (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/ ........ Merged revisions 385916 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-04-15 17:23 +0000 [r385768] 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 2013-04-15 15:18 +0000 [r385689] David M. Lee * channels/sig_ss7.c, channels/sip/include/security_events.h, contrib/realtime/mysql/queue_log.sql, 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, include/asterisk/select.h, res/res_rtp_multicast.c, 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 2013-04-14 03:00 +0000 [r385634-385637] 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 * /, 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 2013-04-12 22:37 +0000 [r385594] 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 2013-04-12 22:25 +0000 [r385582] 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 2013-04-12 22:18 +0000 [r385473-385557] 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 * 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/ 2013-04-12 08:50 +0000 [r385403-385430] 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. (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 * /, 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 2013-04-11 19:59 +0000 [r385356] Jason Parker * res/res_rtp_asterisk.c, build_tools/menuselect-deps.in, configure, include/asterisk/autoconfig.h.in, configure.ac, makeopts.in: Add dependency on libuuid, for res_rtp_asterisk pjproject is what actually requires libuuid. (closes issue ASTERISK-21125) reported by Private Name (Ed. note: Really? Private Name? I am rolling my eyes so hard right now.) 2013-04-11 16:52 +0000 [r385313] Richard Mudgett * configs/cli_aliases.conf.sample: Fix 'pri intense debug span' alias. 2013-04-10 14:25 +0000 [r385173-385199] 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 * /, 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 2013-04-08 23:36 +0000 [r385048] 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 2013-04-05 20:34 +0000 [r384827] Michael L. Young * channels/chan_sip.c, UPGRADE.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/ 2013-04-03 20:18 +0000 [r384689] Richard Mudgett * 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 2013-04-03 17:10 +0000 [r384641] 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 2013-04-02 17:34 +0000 [r384545] 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 2013-04-01 14:07 +0000 [r384414] Joshua Colp * apps/app_voicemail.c: Remove silly use of strncmp. 2013-04-01 13:28 +0000 [r384411] David M. Lee * 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 2013-03-29 16:31 +0000 [r384326] 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 2013-05-17 Asterisk Development Team * Asterisk 11.4.0 Released. 2013-05-15 Asterisk Development Team * Asterisk 11.4.0-rc3 Released. * 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. 2013-05-09 Asterisk Development Team * Asterisk 11.4.0-rc2 Released. * 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. * Distributed Device State broken at sites using res_xmpp or res_jabber where Secuity Advisory AST-2012-015 is inplace res_jabber/res_xmpp were not adding AST_EVENT_IE_CACHABLE to the event as each message came in, then devstate_change_collector_cb() was unable to find AST_EVENT_IE_CACHABLE in the event, so defaulted incorrectly to AST_DEVSTATE_NOT_CACHABLE. * 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. * 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. * 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. 2013-03-28 Asterisk Development Team * Asterisk 11.4.0-rc1 Released. 2013-03-27 19:51 +0000 [r384163] Kinsey Moore * /, channels/chan_sip.c, main/format_pref.c: Address uninitialized conditional that valgrind found ........ Merged revisions 384162 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-03-27 18:51 +0000 [r384119] 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 2013-03-27 17:06 +0000 [r384049] 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 2013-03-27 15:23 +0000 [r383973-384003] 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) * 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) * 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) 2013-03-26 02:28 +0000 [r383840-383878] 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 * 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 2013-03-26 01:36 +0000 [r383836] Russell Bryant * /, 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 2013-03-25 23:24 +0000 [r383798] 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 2013-03-25 12:36 +0000 [r383668] 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 2013-03-22 20:41 +0000 [r383631] 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/ 2013-03-20 20:25 +0000 [r383457-383461] 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 * funcs/func_curl.c: Minor cleanup in func_curl near hashcompat code. Review: https://reviewboard.asterisk.org/r/2402/ 2013-03-19 15:58 +0000 [r383341-383342] David M. Lee * codecs/Makefile: Remove codecs/speex/*.i on make clean * codecs/Makefile, /: Removed codecs/g722/*.i on make clean ........ Merged revisions 383340 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-03-16 15:14 +0000 [r383266] Joshua Colp * res/res_xmpp.c: Fix a bug where resources were not found due to hashing on the priority itself. 2013-03-15 12:51 +0000 [r383166] Kinsey Moore * main/tcptls.c, main/manager.c, /, channels/chan_sip.c, main/http.c: tcptls: Prevent unsupported options from being set AMI, HTTP, and chan_sip all support TLS in some way, but none of them support all the options that Asterisk's TLS core is capable of interpreting. This prevents consumers of the TLS/SSL layer from setting TLS/SSL options that they do not support. This also gets tlsverifyclient closer to a working state by requesting the client certificate when tlsverifyclient is set. Currently, there is no consumer of main/tcptls.c in Asterisk that supports this feature and so it can not be properly tested. Review: https://reviewboard.asterisk.org/r/2370/ Reported-by: John Bigelow Patch-by: Kinsey Moore (closes issue AST-1093) ........ Merged revisions 383165 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-03-15 01:34 +0000 [r383121-383125] 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 * 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 2013-03-14 16:57 +0000 [r383062] 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 2013-03-12 21:17 +0000 [r382940-382943] 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 * 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 2013-03-12 20:06 +0000 [r382923] 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 2013-03-12 16:23 +0000 [r382848] Matthew Jordan * /, channels/chan_sip.c, UPGRADE.txt: 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 2013-03-12 08:53 +0000 [r382827] 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 2013-03-08 20:16 +0000 [r382739] 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) 2013-03-07 17:57 +0000 [r382617] 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. 2013-03-07 15:08 +0000 [r382574] Kinsey Moore * 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. 2013-03-07 14:58 +0000 [r382573] Matthew Jordan * res/res_rtp_asterisk.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 2013-03-06 18:28 +0000 [r382514] Kinsey Moore * /: Recorded merge of revisions 382513 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Correct app_page documentation The 'A' and 'n' options for Page() mention that the announcement will be played simultaneously. This is not necessarily the case. 2013-03-05 03:51 +0000 [r382410] 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 2013-03-04 21:12 +0000 [r382390] 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) 2013-03-04 20:03 +0000 [r382385] kharwell : * 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 2013-03-01 04:28 +0000 [r382322] 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) 2013-02-28 21:58 +0000 [r382296-382298] 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. * 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. 2013-02-28 17:16 +0000 [r382230-382234] 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 * /, apps/app_meetme.c, UPGRADE.txt: 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 2013-02-27 16:17 +0000 [r382151-382174] 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 * configure, include/asterisk/autoconfig.h.in: Regenerate the configure script. The one in the tree was not working for me at all. 2013-02-26 19:45 +0000 [r382111] 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 2013-02-26 19:34 +0000 [r382108] 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 2013-02-26 19:19 +0000 [r382096] Tzafrir Cohen * /, main/Makefile: Remove unneeded linux-gnueabi* As of r380521 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 2013-02-26 15:38 +0000 [r382066-382069] Matthew Jordan * apps/app_confbridge.c: Fix typo in r382068 Well, that was embarrassing. Removed an '-l' that somehow got in there. * 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 * 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 2013-02-25 12:50 +0000 [r381917-382022] 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 * 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 * 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 * 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 2013-02-22 19:38 +0000 [r381893] 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/ 2013-02-22 15:41 +0000 [r381880] 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) 2013-02-21 22:48 +0000 [r381848] 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 2013-02-20 19:14 +0000 [r381835] Matthew Jordan * apps/app_voicemail.c: Let vm_mailbox_snapshot_create's combine option apply to "Urgent" as well The vm_mailbox_snapshot_create function has an option that combines the contents of INBOX and Old into a single snapshot. The intent of this is that both 'new' messages and 'deleted' messages are given in a single snapshot, as some applications prefer this view of the voicemail world. Unfortunately, the initial implementation ignored the "Urgent" folder. The "Urgent" folder is a pseudo-INBOX, in that new messages left with the 'U' flag will be placed in that folder as opposed to INBOX. Thus, the option failed the intent with which it was added. This patch makes it so that the "Urgent" folder is included in the snapshot when that option is used. 2013-02-19 19:44 +0000 [r381702-381791] kharwell : * /, 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 * 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 * 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/ 2013-02-18 20:30 +0000 [r381669] 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 2013-02-18 19:43 +0000 [r381655] 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/ 2013-02-16 16:22 +0000 [r381594-381613] 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) * main/presencestate.c, funcs/func_presencestate.c, main/manager.c: Fix crash in PresenceState AMI action when specifying an invalid provider This patch fixes a crash in Asterisk that could be caused by using the PresenceState AMI action while providing an invalid provider. This patch also adds some additional warnings when a user attempts to provide the PresenceState action with invalid data, and removes some NOTICE statements that were still lurking in the code from testing. (closes issue AST-1084) Reported by: John Bigelow Tested by: John Bigelow 2013-02-15 18:42 +0000 [r381566] 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) 2013-02-15 17:17 +0000 [r381554] kharwell : * 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:12 +0000 [r381553] 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) 2013-02-14 19:44 +0000 [r381467] 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 2013-02-14 03:48 +0000 [r381365] 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 2013-02-12 20:31 +0000 [r381306] 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 2013-02-12 20:16 +0000 [r381282] Kinsey Moore * channels/sip/include/sip.h, channels/chan_sip.c, channels/sip/security_events.c: 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. 2013-02-11 20:55 +0000 [r381217] kharwell : * 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 2013-02-11 15:03 +0000 [r381159] 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) 2013-02-08 17:29 +0000 [r381067] Richard Mudgett * 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 2013-02-06 20:14 +0000 [r380974] 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 2013-02-06 08:42 +0000 [r380926-380942] 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) * channels/chan_skinny.c: Reset skinny vmexten on reload. Make skinny reset vmexten '\0' on reload to ensure that it is set to '\0' if the appropriate item is removed/commented in skinny.conf. part of ASTERISK-21037 Reported by: snuffy Tested by: snuffy, myself Patches: part of immed_dial_fix.diff uploaded by snuffy (license 5024) 2013-02-05 19:09 +0000 [r380854-380894] 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 * 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 * apps/app_page.c: app_page: Fixup application XML documentation typos and inaccuracies. * apps/confbridge/conf_config_parser.c: Because the compiler can check types with a struct copy and memcpy() cannot. * 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 2013-02-04 19:50 +0000 [r380816] Jason Parker * res/pjproject/aconfigure, res/pjproject/build/os-auto.mak.in, Makefile, res/pjproject/aconfigure.ac, res/Makefile, res/pjproject/build/common.mak: 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/ 2013-01-31 21:42 +0000 [r380735-380736] Jason Parker * res/pjproject/pjlib/include/pj/config_site.h: Ignore warnings caused by PJ_TODO()s in pjproject. * res/pjproject/pjlib/src/pj/ssl_sock_ossl.c, res/pjproject/pjlib/src/pj/log.c, res/pjproject/pjlib/src/pj/pool_buf.c, res/pjproject/pjsip-apps/src/samples/icedemo.c, res/pjproject/pjmedia/src/test/test.c: Fix a few compiler warnings. 2013-01-31 20:10 +0000 [r380698] 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 2013-01-31 19:03 +0000 [r380671-380673] Jason Parker * res/pjproject/pjsip/build/Makefile, res/pjproject/pjsip-apps/build/Makefile, res/pjproject/pjmedia/build/Makefile, res/pjproject/pjlib-util/build/Makefile, res/pjproject/pjlib/build/Makefile, res/pjproject/pjnath/build/Makefile: 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) * res/pjproject/aconfigure, res/pjproject/aconfigure.ac: Always check for libm, regardless of configure options. * res/pjproject/aconfigure, res/pjproject/aconfigure.ac, res/pjproject/build/cc-auto.mak.in, res/pjproject/build/rules.mak: Remove a cross-compile workaround. ar and ranlib can be easily detected with autoconf. 2013-01-31 00:30 +0000 [r380575-380612] Richard Mudgett * /, 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 * 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 2013-03-27 Asterisk Development Team * Asterisk 11.3.0-rc2 Released. * 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. * 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. * 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. * 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. * 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. * Let vm_mailbox_snapshot_create's combine option apply to "Urgent" as well The vm_mailbox_snapshot_create function has an option that combines the contents of INBOX and Old into a single snapshot. The intent of this is that both 'new' messages and 'deleted' messages are given in a single snapshot, as some applications prefer this view of the voicemail world. Unfortunately, the initial implementation ignored the "Urgent" folder. The "Urgent" folder is a pseudo-INBOX, in that new messages left with the 'U' flag will be placed in that folder as opposed to INBOX. Thus, the option failed the intent with which it was added. * 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. * 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. * 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. * 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. * 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. * 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. * 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. * 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 * 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. * 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. 2013-01-30 Asterisk Development Team * Asterisk 11.3.0-rc1 Released. 2013-01-30 17:46 +0000 [r380452-380521] Matthew Jordan * /, configure, include/asterisk/autoconfig.h.in, 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 * 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. * /, 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 * 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 2013-01-29 17:54 +0000 [r380384] 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 2013-01-29 17:14 +0000 [r380350] 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 2013-01-29 17:05 +0000 [r380348] 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/ 2013-01-29 14:45 +0000 [r380298-380331] 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 * autoconf/ast_check_pwlib.m4, /, configure: 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 2013-01-28 21:08 +0000 [r380255] 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 2013-01-28 01:57 +0000 [r380211] 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 2013-01-27 20:31 +0000 [r380193] 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/ 2013-01-24 16:39 +0000 [r380043] 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) 2013-01-24 04:01 +0000 [r380028] 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 2013-01-23 00:23 +0000 [r379964] 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 2013-01-22 22:05 +0000 [r379892-379949] 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) * /, 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 2013-01-22 14:51 +0000 [r379826] Matthew Jordan * /, 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 2013-01-22 00:35 +0000 [r379808] 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(). 2013-01-21 20:40 +0000 [r379790] Matthew Jordan * 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, /, contrib/init.d/rc.redhat.asterisk, UPGRADE.txt, contrib/init.d/rc.gentoo.asterisk, contrib/init.d/rc.slackware.asterisk, contrib/init.d/rc.archlinux.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 2013-01-21 18:33 +0000 [r379719] 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 2013-01-21 06:27 +0000 [r379677] 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) 2013-01-21 04:39 +0000 [r379643] 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) 2013-01-21 04:07 +0000 [r379609] 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 2013-01-20 02:53 +0000 [r379582] 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/ 2013-01-19 20:49 +0000 [r379548] Walter Doekes * /, configure, include/asterisk/autoconfig.h.in, include/asterisk/compat.h, main/strcompat.c, configure.ac: 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 2013-01-19 00:17 +0000 [r379513] 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 2013-01-18 21:46 +0000 [r379478] 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) 2013-01-18 21:10 +0000 [r379475] David M. Lee * Makefile, configure, include/asterisk/autoconfig.h.in, main/Makefile, configure.ac, 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/ 2013-01-18 18:13 +0000 [r379460] 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/ 2013-01-18 05:26 +0000 [r379393] David M. Lee * channels/sip/include/reqresp_parser.h, /, channels/chan_sip.c, channels/sip/reqresp_parser.c: Fix Record-Route parsing for large headers. Record-Route parsing copied the header into a char[256] array, which can be a problem if the header is longer than that. This patch parses the header in place, without the copy, avoiding the issue. In addition to the original patch, I added a unit test for the new get_in_brackets_const function. (closes issue ASTERISK-20837) Reported by: Corey Farrell Patches: chan_sip-build_route-optimized-rev1.patch uploaded by Corey Farrell (license 5909) (with minor changes by dlee) ........ Merged revisions 379392 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-01-17 02:30 +0000 [r379343] 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 2013-01-16 22:49 +0000 [r379311] 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 2013-01-16 21:13 +0000 [r379277] 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 2013-01-16 18:08 +0000 [r379230-379232] 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. * 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 2013-01-16 17:45 +0000 [r379146-379228] 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. * doc/appdocsxml.dtd: Update the dtd to actually *support* the module attribute in all elements Mea culpa. * res/res_xmpp.c, res/res_jabber.c: 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. * /, 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 * 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 2013-01-14 15:27 +0000 [r379020] David M. Lee * /, 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 2013-01-13 21:44 +0000 [r378984] 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 2013-01-12 06:36 +0000 [r378934] David M. Lee * include/asterisk/utils.h, /, channels/chan_sip.c, tests/test_xml_escape.c (added), main/utils.c: Fix XML encoding of 'identity display' in NOTIFY messages. XML encoding in chan_sip is accomplished by naively building the XML directly from strings. While this usually works, it fails to take into account escaping the reserved characters in XML. This patch adds an 'ast_xml_escape' function, which works similarly to 'ast_uri_encode'. This is used to properly escape the local_display attribute in XML formatted NOTIFY messages. Several things to note: * The Right Thing(TM) to do would probably be to replace the ast_build_string stuff with building an ast_xml_doc. That's a much bigger change, and out of scope for the original ticket, so I refrained myself. * It is with great sadness that I wrote my own ast_xml_escape function. There's one in libxml2, but it's knee-deep in libxml2-ness, and not easily used to one-off escape a string. * I only escaped the string we know is causing problems (local_display). At least some of the other strings are URI-encoded, which should be XML safe. Rather than figuring out what's safe and escaping what's not, it would be much cleaner to simply build an ast_xml_doc for the messages and let the XML library do the XML escaping. Like I said, that's out of scope. (closes issue ABE-2902) Reported by: Guenther Kelleter Tested by: Guenther Kelleter Review: http://reviewboard.digium.internal/r/365/ ........ Merged revision 378919 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier ........ Merged revisions 378933 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-01-11 23:04 +0000 [r378917] 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 2013-01-09 20:29 +0000 [r378734-378780] 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 * 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) * /, 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 2013-01-09 00:03 +0000 [r378687-378690] 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 * /, 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 2013-01-06 20:40 +0000 [r378622] Damien Wedhorn * 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/ 2013-01-04 23:04 +0000 [r378592] 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 2013-01-04 22:18 +0000 [r378582] Kinsey Moore * res/pjproject/aconfigure, res/pjproject/aconfigure.ac, res/pjproject/build/common.mak: Fix pjproject compilation in certain circumstances On a fresh checkout of Asterisk 11, running make before ./configure could cause the pjproject subdirectory to get in an odd state that would prevent compilation. This patch by Tilghman prevents that from occurring. (closes issue ASTERISK-20681) Reported by: Dinesh Ramjuttun Tested by: danilo borges, Steve Lang patches: 20121208__ccar_solved.diff.txt uploaded by Tilghman Lesher (license 5003) 2013-01-04 21:18 +0000 [r378559] 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 2013-01-04 21:16 +0000 [r378555] 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 2013-01-03 22:12 +0000 [r378515] 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 2013-01-03 19:41 +0000 [r378487] 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 2013-01-03 18:48 +0000 [r378459] 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 2013-01-03 18:44 +0000 [r378428-378457] 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. * Remove some redundant code in agent_request(). ........ Merged revisions 378456 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * /, 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 2013-01-03 15:38 +0000 [r378411] 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 2013-01-03 15:36 +0000 [r378376-378409] 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 * 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 2013-01-02 21:17 +0000 [r378358] 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 2013-01-02 18:30 +0000 [r378337] Kinsey Moore * /: Restore branch-1.8-merged on 11 This was accidentally deleted during a merge. 2013-01-02 18:09 +0000 [r378287-378321] Matthew Jordan * res/res_calendar.c, include/asterisk/devicestate.h, channels/chan_local.c, /, main/ccss.c, channels/chan_sip.c, apps/app_meetme.c, main/channel_internal_api.c, channels/chan_agent.c, main/devicestate.c, include/asterisk/channel.h, res/res_jabber.c, apps/app_queue.c, channels/chan_iax2.c, main/channel.c, channels/chan_dahdi.c, channels/chan_skinny.c, include/asterisk/event_defs.h, main/features.c, main/event.c, apps/app_confbridge.c, apps/confbridge/conf_state_empty.c, funcs/func_devstate.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 * channels/sip/include/sip.h, /, channels/chan_sip.c, main/http.c, res/res_jabber.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 2012-12-31 14:44 +0000 [r378219] 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 2012-12-20 21:44 +0000 [r378163-378165] Richard Mudgett * main/channel.c, /: Give the causes[] a struct name. ........ Merged revisions 378164 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * /: Add branch-1.8-merged property to allow direct merging from v1.8 2012-12-18 17:41 +0000 [r378121] 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 2012-12-17 23:09 +0000 [r378090-378094] 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 * 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 2012-12-17 20:58 +0000 [r378073] 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) 2012-12-14 21:32 +0000 [r378038] 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 2012-12-14 01:49 +0000 [r378010] 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) 2012-12-13 21:04 +0000 [r377993] Richard Mudgett * apps/confbridge/conf_state.c, /, apps/confbridge/include/confbridge.h, include/asterisk/bridging.h, apps/app_confbridge.c, apps/confbridge/conf_state_multi_marked.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 2012-12-13 20:03 +0000 [r377985-377991] 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/) * 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) 2012-12-13 13:51 +0000 [r377948] 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 2012-12-12 22:42 +0000 [r377924] 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 2012-12-11 23:59 +0000 [r377910] 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 2012-12-11 22:01 +0000 [r377849-377883] Richard Mudgett * main/timing.c, main/channel.c, main/data.c, main/stun.c, /, main/file.c, main/http.c, main/aoc.c, main/image.c, main/cel.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 * 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 2012-12-11 20:51 +0000 [r377843] Mark Michelson * 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 2012-12-11 20:45 +0000 [r377706-377839] 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 * 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 * /, 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 * /, 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 * /, 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 * 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 2012-12-10 16:55 +0000 [r377625-377657] 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 * /, 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 2012-12-10 06:49 +0000 [r377577-377593] Igor Goncharovskiy * 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 * channels/chan_unistim.c: Remove trailing whitespaces in number from incoming redial list. Reported by: Igor Olhovskiy 2013-01-14 Asterisk Development Team * Asterisk 11.2.0 Released. 2013-01-09 Asterisk Development Team * Asterisk 11.2.0-rc2 Released. * 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) Patch-by: Tilghman Lesher * AST-2012-014: 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, the allocation has been eliminated since it was unnecessary. This patch contains the fix for both res_jabber and res_xmpp. * AST-2012-015: 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 call 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. * Revert bad ringinuse=no patch. With the option ringinuse=no set, the patch committed previous 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 is considered in use or unknown if the channel exists or not, respectively. * Fix multiple calls to a queue member that is only in queue. When ringinuse=no queue members can receive more than one call if these calls happen at nearly the same time. This patch fixes it so a queu member does not receive more than one call from a queue. note that this fix does not prevent multiple calls to a member if hte member is in more than one queue (see ASTERISK-16115). 2012-12-10 Asterisk Development Team * Asterisk 11.2.0-rc1 Released. 2012-12-10 01:41 +0000 [r377505-377511] 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 * /, 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 2012-12-09 01:22 +0000 [r377462] 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/ 2012-12-08 00:29 +0000 [r377401-377433] 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 * /, 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 2012-12-07 22:02 +0000 [r377383] 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 2012-12-06 23:58 +0000 [r377355] 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 2012-12-06 17:28 +0000 [r377340] Russell Bryant * 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:11 +0000 [r377319] 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. 2012-12-05 17:08 +0000 [r377262] 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 2012-12-05 16:50 +0000 [r377259] 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 2012-12-05 02:19 +0000 [r377213-377244] Richard Mudgett * main/format.c, /: Fix registering core show codecs/codec CLI commands twice. ........ Merged revisions 377241 from http://svn.asterisk.org/svn/asterisk/branches/10 * 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 * /, apps/app_confbridge.c: confbridge: Update online XML documentation. ........ Merged revisions 377212 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-12-04 12:59 +0000 [r377195] Russell Bryant * contrib/scripts/install_prereq: Add libuuid to install_prereq for Fedora. I ran this script and my build failed. pjproject requires this. 2012-12-03 22:58 +0000 [r377039-377167] 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 * main/asterisk.c, /, include/asterisk/_private.h, main/stdtime/localtime.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 * 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 * 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 * 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 * /, 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 2012-12-03 14:54 +0000 [r377021] 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 2012-12-01 00:46 +0000 [r376983] 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. 2012-11-30 21:35 +0000 [r376952] 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 2012-11-30 17:07 +0000 [r376921] 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 2012-11-30 16:36 +0000 [r376917] 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 2012-11-29 22:59 +0000 [r376866-376870] 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 * /, 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 2012-11-29 21:57 +0000 [r376836] 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 2012-11-29 17:17 +0000 [r376822] 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:46 +0000 [r376760-376790] 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 * /, 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 2012-11-28 16:37 +0000 [r376727] 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 2012-11-28 00:08 +0000 [r376629-376690] 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 * 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 * /, 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 2012-11-22 23:58 +0000 [r376588] Matthew Jordan * main/lock.c, /, main/logger.c, include/asterisk/lock.h: Re-initialize logmsgs mutex upon logger initialization to prevent lock errors Similar to the patch that moved the fork earlier in the startup sequence to prevent mutex errors in the recursive mutex surrounding the read/write thread registration lock, this patch re-initializes the logmsgs mutex. Part of the start up sequence before forking the process into the background includes reading asterisk.conf; this has to occur prior to the call to daemon in order to read startup parameters. When reading in a conf file, log statements can be generated. Since this can't be avoided, the mutex instead is re-initialized to ensure a reset of any thread tracking information. This patch also includes some additional debugging to catch errors when locking or unlocking the recursive mutex that surrounds locks when the DEBUG_THREADS build option is enabled. DO_CRASH or THREAD_CRASH will cause an abort() if a mutex error is detected. (issue ASTERISK-19463) Reported by: mjordan Tesetd by: mjordan ........ Merged revisions 376586 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376587 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-11-20 21:58 +0000 [r376561] 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. 2012-11-20 18:57 +0000 [r376550] Mark Michelson * channels/sip/include/sip.h, /, channels/chan_sip.c: Add "Require: timer" to 200 OK responses when appropriate. The method by which the Require header is added to 200 responses is inspired by the method that Olle Johansson uses in his darjeeling-prack branch. (closes issue ASTERISK-20570) Reported by Matt Jordan, at the behest of Olle Johansson Review: https://reviewboard.asterisk.org/r/2172 ........ Merged revisions 376521 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376522 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-11-20 17:37 +0000 [r376540] 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) 2012-11-19 19:54 +0000 [r376471] Walter Doekes * /, channels/chan_sip.c, main/security_events.c, main/indications.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 2012-11-18 20:22 +0000 [r376415-376441] Matthew Jordan * main/asterisk.c, /, main/utils.c: Reorder startup sequence to prevent lockups when process is sent to background Although it is very rare and timing dependent, the potential exists for the call to 'daemon' to cause what appears to be a deadlock in Asterisk during startup. This can occur when a recursive mutex is obtained prior to the daemon call executing. Since daemon uses fork to send the process into the background, any threading primitives are unsafe to re-use after the call. Implementations of pthread recursive mutexes are highly likely to store the thread identifier of the thread that previously obtained the mutex. If the mutex was locked prior to the fork, a subsequent unlock operation will potentially fail as the thread identifier is no longer valid. Since the mutex is still locked, all subsequent attempts to grab the mutex by other threads will block. This behavior exhibited itself most often when DEBUG_THREADS was enabled, as this compile time option surrounds the mutexes in Asterisk with another recursive mutex that protects the storage of thread related information. This made it much more likely that a recursive mutex would be obtained prior to daemon and unlocked after the call. This patch does the following: a) It backports a patch from Asterisk 11 that prevents the spawning of the localtime monitoring thread. This thread is now spawned after Asterisk has fully booted. b) It re-orders the startup sequence to call daemon earlier during Asterisk startup. This limits the potential of threading primitives being accessed by initialization calls before daemon is called. c) It removes calls to ast_verbose/ast_log/etc. prior to daemon being called. Developers should send error messages directly to stderr prior to daemon, as calls to ast_log may access recursive mutexes that store thread related information. d) It reorganizes when thread local storage is created for storing lock information during the creation of threads. Prior to this patch, the read/write lock protecting the list of threads in ast_register_thread would utilize the lock in the thread local storage prior to it being initialized; this patch prevents that. On a very related note, this patch will *greatly* improve the stability of the Asterisk Test Suite. Review: https://reviewboard.asterisk.org/r/2197 (closes issue ASTERISK-19463) Reported by: mjordan Tested by: mjordan ........ Merged revisions 376428 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376431 from http://svn.asterisk.org/svn/asterisk/branches/10 * 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 2012-11-16 19:59 +0000 [r376391] Jonathan Rose * res/res_monitor.c, /: monitor: prevent attempts to move/remove recordings skipped with 'i' and 'o'. The i and o options for monitor skip the input and output sides of a recording respectively. This patch addresses a problem in those options when monitor is called without specifying a specific filename where monitor will try to move the recording that was skipped. Since this usually doesn't exist when these options are used, it would produce a warning when it does this in most cases, but it is conceivable that there are use cases where this could result in moving/removing a file unintentionally. (closes issue ASTERISK-20641) Reported by: Jonathan Rose Review: https://reviewboard.asterisk.org/r/2190/ ........ Merged revisions 376389 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376390 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-11-16 00:09 +0000 [r376339-376343] 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 * 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 2012-11-15 23:03 +0000 [r376310] 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 2012-11-15 02:08 +0000 [r376264] 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 2012-11-14 19:53 +0000 [r376234] 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 2012-11-13 18:48 +0000 [r376217] 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 376199 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376208 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-11-12 20:45 +0000 [r376168] 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 2012-11-12 20:16 +0000 [r376144] 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 2012-11-11 17:08 +0000 [r376130] Joshua Colp * res/res_rtp_asterisk.c, channels/chan_sip.c, configs/sip.conf.sample: 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 2012-11-08 22:08 +0000 [r376089] 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 2012-11-08 21:10 +0000 [r376048-376060] 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 * main/asterisk.c, include/asterisk/utils.h, include/asterisk/astmm.h, /, main/utils.c, main/astmm.c: Add MALLOC_DEBUG enhancements. * Makes malloc() behave like calloc(). It will return a memory block filled with 0x55. A nonzero value. * Makes free() fill the released memory block and boundary fence's with 0xdeaddead. Any pointer use after free is going to have a pointer pointing to 0xdeaddead. The 0xdeaddead pointer is usually an invalid memory address so a crash is expected. * Puts the freed memory block into a circular array so it is not reused immediately. * When the circular array rotates out a memory block to the heap it checks that the memory has not been altered from 0xdeaddead. * Made the astmm_log message wording better. * Made crash if the DO_CRASH menuselect option is enabled and something is found. * Fixed a potential alignment issue on 64 bit systems. struct ast_region.data[] should now be aligned correctly for all platforms. * Extracted region_check_fences() from __ast_free_region() and handle_memory_show(). * Updated handle_memory_show() CLI usage help. Review: https://reviewboard.asterisk.org/r/2182/ ........ Merged revisions 376029 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376030 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-11-07 19:03 +0000 [r376014] Mark Michelson * include/asterisk/time.h, apps/app_jack.c, 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 2012-11-06 18:59 +0000 [r375966] Richard Mudgett * include/asterisk/features.h, main/channel.c, /, main/channel_internal_api.c, main/features.c, include/asterisk/channel.h: 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 2012-12-10 Asterisk Development Team * Asterisk 11.1.0 Released. 2012-12-06 Asterisk Development Team * Asterisk 11.1.0-rc3 Released. * chan_local: Fix local_pvt ref leak in local_devicestate(). Regression introduced by ASTERISK-20390 fix. (closes issue ASTERISK-20769) Reported by: rmudgett 2012-12-05 Asterisk Development Team * Asterisk 11.1.0-rc2 Released. * 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 2012-11-06 Asterisk Development Team * Asterisk 11.1.0-rc1 Released. 2012-11-06 12:09 +0000 [r375925] 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. 2012-11-05 23:09 +0000 [r375895] Matthew Jordan * main/timing.c, main/channel.c, /, res/res_timing_pthread.c, res/res_timing_dahdi.c, res/res_timing_timerfd.c, bridges/bridge_softmix.c, funcs/func_jitterbuffer.c, include/asterisk/timing.h, res/res_musiconhold.c, channels/chan_iax2.c, res/res_fax_spandsp.c, res/res_timing_kqueue.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 2012-11-05 21:41 +0000 [r375864] 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 2012-11-05 17:59 +0000 [r375847] 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 2012-11-04 03:09 +0000 [r375729-375802] 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 * /, 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 * 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 * 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 * 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) * 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 2012-11-03 03:17 +0000 [r375702] Andrew Latham * README, include/asterisk/doxyref.h: Doxygen Updates Replace links to missing text files removed in the 1.6.x series with links to the wiki. Doxygen can handle URLs fine, don't atempt to quote them. Also update the wiki link in the Readme to get everyone on the same page. (issue ASTERISK-20259) ........ Merged revisions 375698 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 375699 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-11-02 20:59 +0000 [r375661] Richard Mudgett * main/channel.c, channels/chan_misdn.c, /, main/ccss.c, main/format_pref.c: Things don't need to be that const. ........ Merged revisions 375658 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 375659 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-11-02 20:56 +0000 [r375660] 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/ 2012-11-02 18:44 +0000 [r375627] Richard Mudgett * channels/misdn/isdn_lib.h, /, channels/misdn/isdn_lib.c: 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 2012-11-02 17:24 +0000 [r375613] 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 2012-11-01 14:52 +0000 [r375575] 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/ 2012-10-31 18:00 +0000 [r375559] 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 2012-10-31 14:49 +0000 [r375532] 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 2012-10-30 19:23 +0000 [r375506] 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 2012-10-30 19:09 +0000 [r375471-375486] 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 * /, 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 2012-10-30 02:22 +0000 [r375469] Matthew Jordan * /, apps/app_queue.c: Ensure that the Queue application tracks busy members in off nominal situations There are a few code paths where the Queue application fails to count a paused or in use queue member as being 'busy'. This can cause callers to get stuck in the Queue until a paused agent unpauses themselves. (closes issue ASTERISK-20623) Reported by: Bryan Walters patches: app_queue.patch uploaded by Bryan Walters (license 5851) ........ Merged revisions 375450 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 375451 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-10-29 21:23 +0000 [r375437] 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 2012-10-29 19:29 +0000 [r375363-375390] 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 * 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 2012-10-23 16:22 +0000 [r375288-375327] 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 * /, 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 * /, 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 2012-10-18 21:44 +0000 [r375219-375247] 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 2012-10-18 20:02 +0000 [r375191] Richard Mudgett * Makefile, /, build_tools/make_version, configure, include/asterisk/autoconfig.h.in, configure.ac, makeopts.in: 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 2012-10-17 19:00 +0000 [r375148] 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 2012-10-16 21:44 +0000 [r375079-375113] Walter Doekes * /, 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 * /, 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 2012-10-16 14:08 +0000 [r375051] Joshua Colp * channels/chan_iax2.c: Remove a log message that was left in accidentally from call-id logging development. 2012-10-15 21:15 +0000 [r375027] Mark Michelson * apps/app_dial.c, /, main/ccss.c, include/asterisk/strings.h, channels/chan_iax2.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 2012-10-15 08:11 +0000 [r375016] Igor Goncharovskiy * channels/chan_unistim.c: Fix underscreen buttons warnings apeared while transfer process 2012-10-14 11:57 +0000 [r374995] 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 2012-10-12 21:57 +0000 [r374932] 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 2012-10-12 16:20 +0000 [r374914] Mark Michelson * main/tcptls.c, /, channels/chan_sip.c, include/asterisk/tcptls.h: Do not use a FILE handle when doing SIP TCP reads. This is used to solve an issue where a poll on a file descriptor does not necessarily correspond to the readiness of a FILE handle to be read. This change makes it so that for TCP connections, we do a recv() on the file descriptor instead. Because TCP does not guarantee that an entire message or even just one single message will arrive during a read, a loop has been introduced to ensure that we only attempt to handle a single message at a time. The tcptls_session_instance structure has also had an overflow buffer added to it so that if more than one TCP message arrives in one go, there is a place to throw the excess. Huge thanks goes out to Walter Doekes for doing extensive review on this change and finding edge cases where code could fail. (closes issue ASTERISK-20212) reported by Phil Ciccone Review: https://reviewboard.asterisk.org/r/2123 ........ Merged revisions 374905 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 374906 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-10-11 21:18 +0000 [r374850-374877] 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. * res/res_rtp_asterisk.c: Remove code that should not have gotten in. (issue ASTERISK-20554) * res/res_rtp_asterisk.c, 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 2012-10-11 15:44 +0000 [r374845] 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 2012-10-11 15:31 +0000 [r374842] Mark Michelson * channels/chan_sip.c, include/asterisk/sip_api.h, channels/chan_sip.exports.in (removed), main/sip_api.c (added): 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 2012-10-11 13:33 +0000 [r374833] Joshua Colp * channels/chan_motif.c: Consider the Google Talk content stanza name (jin:content) valid. 2012-10-10 21:03 +0000 [r374804] 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 2012-10-10 13:35 +0000 [r374792] 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) 2012-10-09 22:21 +0000 [r374771] 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 2012-10-09 21:34 +0000 [r374755-374756] Joshua Colp * channels/chan_sip.c: Improve logging for DTLS-SRTP failure situations. (closes issue ASTERISK-20487) Reported by: mjordan * channels/chan_sip.c: Add a log message for when DTLS-SRTP is requested and the underlying engine does not support it. (closes issue ASTERISK-20487) Reported by: mjordan 2012-10-08 22:30 +0000 [r374708-374729] 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 * 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 2012-10-25 Asterisk Development Team * Asterisk 11.0.0 Released. 2012-10-17 Asterisk Development Team * Asterisk 11.0.0-rc2 Released. * [r374792] 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) * [r374842] 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 * [r374850] 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 * [r374851] Remove code that should not have gotten in (r374850) (issue ASTERISK-20554) * [r374877] 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. * [r375148] 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) Review: https://reviewboard.asterisk.org/r/2163/ * [r375051] Remove a log message that was left in accidentally from call-id logging development. 2012-10-08 Asterisk Development Team * Asterisk 11.0.0-rc1 Released. 2012-10-08 20:38 +0000 [r374632-374676] 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. * 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), apps/app_confbridge.c, apps/confbridge/conf_state_multi_marked.c (added), apps/confbridge/conf_state_empty.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 * res/pjproject/pjlib/include/pj/sock.h, res/pjproject/pjlib/src/pj/sock_symbian.cpp, res/pjproject/pjlib/src/pj/sock_bsd.c, res/pjproject/pjlib/src/pj/sock_linux_kernel.c: pjproject: Fix for Solaris builds. Do not undef s_addr. pjproject, in order to solve build problems on Windows [1], undefines s_addr in one of it's headers that is included in res_rtp_asterisk.c. On Solaris s_addr is not a structure member, but defined to map to the real strucuture member, therefore when building on Solaris it's possible to get build errors like: [CC] res_rtp_asterisk.c -> res_rtp_asterisk.o In file included from /export/home/admin/asterisk-11-svn/include/asterisk/stun.h:29, from res_rtp_asterisk.c:51: /export/home/admin/asterisk-11-svn/include/asterisk/network.h: In function `inaddrcmp': /export/home/admin/asterisk-11-svn/include/asterisk/network.h:92: error: structure has no member named `s_addr' /export/home/admin/asterisk-11-svn/include/asterisk/network.h:92: error: structure has no member named `s_addr' res_rtp_asterisk.c: In function `ast_rtp_on_ice_tx_pkt': res_rtp_asterisk.c:706: warning: dereferencing type-punned pointer will break strict-aliasing rules res_rtp_asterisk.c:710: warning: dereferencing type-punned pointer will break strict-aliasing rules res_rtp_asterisk.c: In function `rtp_add_candidates_to_ice': res_rtp_asterisk.c:1085: error: structure has no member named `s_addr' make[2]: *** [res_rtp_asterisk.o] Error 1 make[1]: *** [res] Error 2 make[1]: Leaving directory `/export/home/admin/asterisk-11-svn' gmake: *** [_cleantest_all] Error 2 Unfortunately, in order to make this work, I also had to make sure pjproject only used the typdef pj_in_addr and not the struct pj_in_addr so that when building Asterisk I could "typedef struct in_addr pj_in_addr". It's possible then that the library and users of those interfaces in Asterisk have a different idea about the type of the argument, while on the surface it looks like they are all 32 bit big endian values. [1] http://trac.pjsip.org/repos/changeset/484 (issues ASTERISK-20366) Reported by: Ben Klang Tested by: Ben Klang, mjordan patches: 0001-pjproject-Fix-for-Solaris-builds.-Do-not-undef-s.patch uploaded by Shaun Ruffell (license 5417) * 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) 2012-10-06 03:20 +0000 [r374611-374622] 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) * 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 2012-10-05 20:32 +0000 [r374587] dlee : * 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 2012-10-05 18:34 +0000 [r374538] Richard Mudgett * channels/misdn/isdn_lib.h, channels/chan_misdn.c, /, channels/misdn/isdn_msg_parser.c, channels/misdn/isdn_lib.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 2012-10-04 20:18 +0000 [r374477-374485] Alec L Davis * main/dsp.c, /, configs/dsp.conf.sample, CHANGES: 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) 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 * 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 2012-10-04 15:42 +0000 [r374428] dlee : * main/db.c, /, res/res_agi.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 2012-10-04 04:43 +0000 [r374379-374386] Alec L Davis * main/dsp.c, /, configs/dsp.conf.sample, CHANGES: 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 * /: _dsp_init: bring inline with trunk preparation for clean merge of DTMF TWIST patch No functional changes, just style. alecdavis (license 585) Reported by: Alec Davis Tested by: alecdavis related https://reviewboard.asterisk.org/r/2141 ........ Merged revisions 374365 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 374370 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-10-04 02:15 +0000 [r374196-374337] 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 * /, 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 * 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 * /, 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 * main/db.c, main/asterisk.c, main/xmldoc.c, main/format.c, main/udptl.c, main/pbx.c, /, main/ccss.c, include/asterisk/astobj2.h, channels/chan_agent.c, main/taskprocessor.c, res/res_musiconhold.c, res/res_xmpp.c, main/cel.c, main/named_acl.c, main/indications.c, main/format_pref.c, main/astobj2.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 2012-10-01 20:26 +0000 [r374133-374150] Sean Bright * main/db.c, include/asterisk/astdb.h, /, tests/test_db.c, apps/app_queue.c: app_queue: Support persisting and loading of long member lists. Greenlight in #asterisk brought up that he was receiving an error message "Could not create persistent member string, out of space" when running app_queue in Asterisk 10. dump_queue_members() made an assumption that 8K would be enough to store the generated string, but with queues that have large member lists this is not always the case. This patch removes the limitation and uses ast_str instead of a fixed sized buffer. The complicating factor comes from the fact that ast_db_get requires a buffer and buffer size argument, which doesn't let us pull back more than what we pass in, so I introduced a new ast_db_get_allocated() which returns an ast_strdup()'d copy of the value from astdb. As an aside, I did some testing on the maximum size of data that we can store in the BDB library we distribute and was able to store a 10MB string and retrieve it with no problems, so I feel this is a safe patch. Review: https://reviewboard.asterisk.org/r/2136/ ........ Merged revisions 374108 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 374135 from http://svn.asterisk.org/svn/asterisk/branches/10 * 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 2012-10-01 16:12 +0000 [r374106] 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 2012-09-29 03:54 +0000 [r374085] 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. 2012-09-28 19:29 +0000 [r374059] 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 2012-09-28 13:02 +0000 [r374019] beagles : * 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/ 2012-09-28 12:16 +0000 [r373991] 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 2012-09-27 22:19 +0000 [r373954] Richard Mudgett * /, 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 2012-09-27 17:05 +0000 [r373880-373914] 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) * 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 * 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 2012-09-26 21:16 +0000 [r373850] 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 2012-09-26 18:18 +0000 [r373818] 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 2012-09-26 08:29 +0000 [r373804] 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/ 2012-09-25 23:09 +0000 [r373738-373775] 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 * 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 * 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 2012-09-25 20:13 +0000 [r373707] 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 2012-09-25 19:35 +0000 [r373704] Kinsey Moore * /: Recorded merge of revisions 373703 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Fix an issue where media would not flow for situations where the legacy STUN code is in use. The STUN packets should *not* be blocked by strict RTP. (closes issue ASTERISK-20415) Reported-by: Michele Cicciotti Patch-by: Josh Colp (trunk r369817) ........ Merged revisions 373702 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2012-09-25 18:52 +0000 [r373690] Terry Wilson * channels/sip/include/sip.h, /, channels/chan_sip.c, configs/sip.conf.sample: 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 2012-09-25 18:24 +0000 [r373688] 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 2012-09-25 17:21 +0000 [r373635-373650] 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 * 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 2012-09-25 16:31 +0000 [r373632] 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 2012-09-25 14:12 +0000 [r373582] Mark Michelson * funcs/func_presencestate.c: "He who go through turnstile sideways is going to Bangkok" 2012-09-25 13:29 +0000 [r373580] 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 2012-09-25 12:07 +0000 [r373552] 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 2012-09-24 22:17 +0000 [r373508] Matthew Jordan * res/res_rtp_asterisk.c, /: Revert change to res_rtp_asterisk committed in r373236 (1.8) The change committed in r373236 attempted to account for endpoints that increased their RTP timestamp in DTMF end of event re-transmissions. This change attempted to make Asterisk continue to work with endpoints that failed to follow the RFC while maintaining the fix that allowed for out of order DTMF to be handled. Unfortunately, there is no free lunch, and this patch broke any system that sent DTMF immediately after an RTP session was established or when an SSRC is updated. As such, that patch is being reverted for the previous behavior. Endpoints that erroneously increase the RTP timestamp in DTMF end of event packets will not work properly with Asterisk. (issue ASTERISK-20424) ........ Merged revisions 373504 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 373505 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-09-24 22:12 +0000 [r373502] 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 2012-09-24 21:12 +0000 [r373470] 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 2012-09-24 21:08 +0000 [r373469] 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 2012-09-24 19:21 +0000 [r373413-373454] 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 * 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 2012-09-24 12:33 +0000 [r373403] beagles : * 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/ 2012-09-21 19:29 +0000 [r373318-373368] 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 * /, 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 2012-09-20 19:16 +0000 [r373246] 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 2012-09-20 18:59 +0000 [r373235-373240] Matthew Jordan * configs/extensions.conf.sample, CHANGES, apps/app_queue.c: 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/ ~~~~ 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. * res/res_rtp_asterisk.c, /: When processing RFC 2833 DTMF, accomodate increasing timestamps in End events While endpoints should not be changing the source timestamp between DTMF event packets, the fact is there exists those endpoints that do exactly that. To work around this, we absorb timestamps within the expected re-transmit period. Note that this period only affects End of Event packets, so it should not prevent the detection of new DTMF digits that happen to arrive right on top of each other. (closes issue ASTERISK-20424) Reported by: Vladimir Mikhelson Tested by: mjordan, Vladimir Mikhelson Review: https://reviewboard.asterisk.org/r/2124 ........ Merged revisions 373236 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 373237 from http://svn.asterisk.org/svn/asterisk/branches/10 * configs/extensions.conf.sample, CHANGES, apps/app_queue.c: 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) 2012-09-20 18:18 +0000 [r373229] Joshua Colp * channels/sip/include/sip.h, res/res_rtp_asterisk.c, main/rtp_engine.c, channels/chan_sip.c, configure, include/asterisk/autoconfig.h.in, configure.ac, configs/sip.conf.sample, include/asterisk/rtp_engine.h: Add support for DTLS-SRTP to res_rtp_asterisk and chan_sip. As mentioned on the review for this, WebRTC has moved towards choosing DTLS-SRTP as the mechanism for key exchange for SRTP. This commit adds support for this but makes it available for normal SIP clients as well. Testing has been done to ensure that this introduces no regressions with existing behavior and also that it functions as expected. Review: https://reviewboard.asterisk.org/r/2113/ 2012-09-20 17:15 +0000 [r373220] Richard Mudgett * include/asterisk/features.h, main/channel.c, apps/app_directed_pickup.c, funcs/func_channel.c, main/features.c, include/asterisk/channel.h: 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/ 2012-09-20 13:00 +0000 [r373211] 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) 2012-09-18 20:14 +0000 [r373133] Sean Bright * 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 2012-09-18 15:47 +0000 [r373119] dlee : * Makefile, include/asterisk/utils.h, configure, include/asterisk/autoconfig.h.in, configure.ac, makeopts.in: 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/ 2012-09-15 00:27 +0000 [r373107] 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 2012-09-14 19:50 +0000 [r373079] Matthew Jordan * main/tcptls.c, /, channels/chan_sip.c, main/libasteriskssl.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 2012-09-13 20:04 +0000 [r373029-373047] dlee : * main/Makefile: Fixed make clean when configured --disable-asteriskssl * 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 2012-09-12 20:53 +0000 [r372995] 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. 2012-09-12 18:23 +0000 [r372984] 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/ 2012-09-12 15:19 +0000 [r372937] 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 2012-09-12 14:18 +0000 [r372930] dlee : * 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. 2012-09-11 22:32 +0000 [r372917] 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 2012-09-11 21:15 +0000 [r372886-372888] Mark Michelson * main/asterisk.c, /, include/asterisk/_private.h, main/message.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 * /, 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 2012-09-11 17:16 +0000 [r372864] dlee : * 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 2012-09-10 20:59 +0000 [r372795-372806] 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 * channels/chan_jingle.c, include/asterisk/doxygen/architecture.h, main/devicestate.c, channels/chan_gtalk.c, res/res_jabber.c: 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 2012-09-10 19:19 +0000 [r372777] dlee : * 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 Ruffel Tested by: Michael L. Young Patches: 0001-res_rtp_asterisk-Eliminate-type-punned-pointer-build.patch uploaded by Shaun Ruffel (license 5417) slightly modified by David M. Lee. 2012-09-10 18:50 +0000 [r372768] 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 2012-09-10 18:37 +0000 [r372766] Kinsey Moore * /: Recorded merge of revisions 372764 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Warn on CLI when UDPTL init fails This adds a CLI warning when a SDP offer is rejected due to UDPTL initialization failure. Previously, there was no indication of the reason for offer rejection in this case. (closes issue ASTERISK-20357) Reported-by: Francesco Usseglio Gaudi ........ Merged revisions 372763 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2012-09-10 17:33 +0000 [r372754] Jonathan Rose * 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 2012-09-09 01:25 +0000 [r372711] 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 2012-09-08 05:51 +0000 [r372696] dlee : * /, main/Makefile: Recorded merge of revisions 372695 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ 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 2012-09-07 23:07 +0000 [r372622-372657] 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 * /, 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 * /, 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 * 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 2012-09-07 21:04 +0000 [r372609-372611] dlee : * res/pjproject/pjlib-util/lib, res/pjproject/pjmedia/bin, res/pjproject/third_party/bin, res/pjproject/third_party/gsm/lib, res/pjproject/lib, res/pjproject/pjlib/lib, res/pjproject/third_party/gsm/bin, res/pjproject/pjnath/lib, res/pjproject/pjsip/lib, res/pjproject/pjsip-apps/lib, res/pjproject/pjsip/bin, res/pjproject/pjsip-apps/bin, res/pjproject/pjmedia/lib, res/pjproject/third_party/lib, codecs/ilbc: svn:ignore cleanup. * pjproject bin and lib directories should pretty much ignore everything * Ignore *.o in codecs/ilbc * 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) 2012-09-07 02:26 +0000 [r372531-372583] 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 * /, 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 * 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 2012-09-06 22:12 +0000 [r372523] 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 2012-09-06 21:42 +0000 [r372519] 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 2012-09-06 18:55 +0000 [r372500] dsessions : * channels/chan_sip.c, configs/res_ldap.conf.sample: LDAP Realtime Peers Cannot Register Prior to 1.8, it was not necessary for an explicit "type" to be set for an asterisk LDAP realtime peer. Now the routine find_peer actually checks the type field during registration and fails to find the peer if it is not set. The attached patches make 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-06 15:56 +0000 [r372473] 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 2012-09-06 14:30 +0000 [r372446] 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 2012-09-06 02:50 +0000 [r372392-372419] 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. (closes issue ASTERISK-19309) Reported by: Peter Racz patches: dundi_routing.patch uploaded by Peter Racz (license 6290) The patch uploaded by Peter was modified slightly for this commit. ........ 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 * /, 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 2012-09-05 19:43 +0000 [r372373] Richard Mudgett * main/dsp.c, /: Fix compile error. ........ Merged revisions 372372 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-09-05 19:24 +0000 [r372365] 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 2012-09-05 18:46 +0000 [r372342] Alec L Davis * main/dsp.c, /: dsp.c: in ast_mf_detect_init incorrectly sets goertzel samples to 160, should be MF_GSIZE Related https://reviewboard.asterisk.org/r/2097/ ........ Merged revisions 372339 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 372341 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-09-05 18:36 +0000 [r372340] Kinsey Moore * 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 2012-09-05 17:35 +0000 [r372327-372328] Richard Mudgett * res/res_rtp_asterisk.c: Fix coding guidelines issue with a recent commit. * res/res_rtp_asterisk.c: 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) 2012-09-05 16:04 +0000 [r372311] 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) 2012-09-05 13:47 +0000 [r372289] 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 2012-09-05 12:17 +0000 [r372266] Michael L. Young * res/res_rtp_asterisk.c: Fix breakage caused by last merge. Missing a variable for 11 and trunk. 2012-09-05 07:41 +0000 [r372214-372241] 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 * 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 2012-09-05 04:52 +0000 [r372199] 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 2012-09-05 02:25 +0000 [r372175] 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 2012-09-04 15:48 +0000 [r372135-372137] 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 * 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 2012-08-31 21:14 +0000 [r372118] 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 2012-08-30 20:54 +0000 [r372050-372091] 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 * /, 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 2012-08-30 16:24 +0000 [r371963-372028] 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 * /: Block r372020 * 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 * 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 2012-08-29 22:38 +0000 [r371950] Richard Mudgett * apps/app_meetme.c: Fix compile errors. 2012-08-29 21:07 +0000 [r371921] 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 2012-08-29 19:56 +0000 [r371862-371893] 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. * 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 * 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 2012-08-29 17:25 +0000 [r371845] 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 2012-08-27 21:50 +0000 [r371784-371790] 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 * 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 2012-08-27 18:14 +0000 [r371753] dlee : * res/pjproject/pjlib-util/bin, res/pjproject/pjnath/build/output, res/pjproject/pjlib/bin, res/pjproject/pjlib-util/build/output, res/pjproject/pjnath/bin, res/pjproject/pjlib/build/output: svn:ignore pjproject bin & output for all platforms. 2012-08-27 17:51 +0000 [r371749-371750] 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 * /: Re-add merge and block properties. 2012-08-27 16:55 +0000 [r371720] dlee : * 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 2012-08-27 14:07 +0000 [r371692] 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 2012-08-26 23:07 +0000 [r371664] 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 2012-08-22 15:54 +0000 [r371619] Joshua Colp * channels/chan_motif.c: Add support for call-id logging to chan_motif. Review: https://reviewboard.asterisk.org/r/2077/ 2012-08-21 20:54 +0000 [r371592] Mark Michelson * cdr/cdr_tds.c, main/xmldoc.c, apps/app_dial.c, channels/chan_dahdi.c, /, channels/chan_sip.c, funcs/func_odbc.c, main/file.c, main/utils.c, apps/app_queue.c, pbx/pbx_config.c, res/res_jabber.c, apps/app_stack.c, channels/chan_oss.c, res/res_config_sqlite.c: Fix misuses of asprintf throughout the code. This fixes three main issues * Change asprintf() uses to ast_asprintf() so that it pairs properly with ast_free() and no longer causes MALLOC_DEBUG to freak out. * When ast_asprintf() fails, set the pointer NULL if it will be referenced later. * Fix some memory leaks that were spotted while taking care of the first two points. (Closes issue ASTERISK-20135) reported by Richard Mudgett Review: https://reviewboard.asterisk.org/r/2071 ........ Merged revisions 371590 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 371591 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-08-20 20:09 +0000 [r371571] Mark Michelson * 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 2012-08-20 15:34 +0000 [r371546] 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 2012-08-18 02:35 +0000 [r371492-371530] Matthew Jordan * /: Recorded merge of revisions 371529 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ 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) * 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) * 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 * 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) * build_tools/cflags.xml, utils/utils.xml, res/res_fax.c, sounds/sounds.xml, res/res_curl.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 * 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 2012-08-17 19:49 +0000 [r371482] 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 2012-08-17 15:58 +0000 [r371438] 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 2012-08-17 12:24 +0000 [r371426] 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) 2012-08-17 12:23 +0000 [r371425] 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. 2012-08-16 23:02 +0000 [r371399] 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 2012-08-16 22:44 +0000 [r371395] 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 2012-08-16 19:43 +0000 [r371355-371382] 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 * /, 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 2012-08-15 23:28 +0000 [r371324] 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 2012-08-15 20:40 +0000 [r371295] 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) 2012-08-15 20:17 +0000 [r371258-371272] 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 * channels/sig_ss7.c, channels/chan_dahdi.c, channels/sig_analog.c, channels/chan_sip.c, channels/chan_iax2.c, channels/sig_pri.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) 2012-08-13 20:28 +0000 [r371227] 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 2012-08-13 19:52 +0000 [r371200] 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 2012-08-10 22:03 +0000 [r371146] Richard Mudgett * CHANGES: Update CHANGES for private party ID. 2012-08-10 21:32 +0000 [r371143] 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 2012-08-10 20:08 +0000 [r371121] Matthew Jordan * / (added): _ _ _ _ _ _ / \ ___| |_ ___ _ __(_)___| | __ / | / | / _ \ / __| __/ _ \ '__| / __| |/ / | | | | / ___ \__ \| | __/ | | \__ \ < | | | | /_/ \_\___/\__\___|_| |_|___/_|\_\ |_| |_| Because it's one greater than 10. 2012-08-10 19:54 +0000 [r371120] Richard Mudgett * 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, main/cli.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/ 2012-08-10 17:56 +0000 [r371113] Mark Michelson * channels/chan_sip.c: Fix a comparison that was causing presence tests to fail. A recent change made it so that device state changes that were not actual "changes" would not get reported to subscribers. The problem was that this inadvertently blocked presence updates as well. 2012-08-10 16:49 +0000 [r371059-371091] Alexandr Anikin * addons/chan_ooh323.c, /: remove ALREADYGONE flag on ooh323 call data by ooh323_indicate (CONGESTION/BUSY) due to call hasn't gone there really. This indication arrive from asterisk core not h.323 stack (closes issue ASTERISK-19308) Reported by: Dmitry Melekhov Patches: ASTERISK-19308.patch ........ Merged revisions 371089 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 371090 from http://svn.asterisk.org/svn/asterisk/branches/10 * addons/ooh323c/src/ooGkClient.c, /: Send re-register packets by GRQ (gatekeeper request) interval (close issue ASTERISK-20094) Patches: ASTERISK-20094-2.patch ........ Merged revisions 371060 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 371061 from http://svn.asterisk.org/svn/asterisk/branches/10 * addons/ooh323c/src/ooTimer.c: restore calling cb functions by timer expire this was broken in rev 369602 2012-08-10 02:07 +0000 [r371052] Richard Mudgett * main/features.c: Fix pickup extension channel reference error. You cannot unref a pointer and then expect to ref it again later. * Fix potential NULL pointer deref if the call pickup search fails. 2012-08-09 21:35 +0000 [r371036-371043] Alexandr Anikin * addons/chan_ooh323.c: Introdue 'ooh323 show gk' cli command that show status of connection to H.323 Gatekeeper (GkClient state) * addons/ooh323c/src/ooGkClient.c, /: Fix to resend GRQ/RRQ if RRJ (registration reject) is received (close issue ASTERISK-20094) Patches: ASTERISK-20094.patch ........ Merged revisions 371011 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 371022 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-08-09 19:22 +0000 [r371030] Richard Mudgett * channels/chan_dahdi.c, /, configure, include/asterisk/autoconfig.h.in, configure.ac, channels/sig_pri.c, channels/sig_ss7.c: Use better libss7 detection test and move libpri compile test. ........ Merged revisions 371012 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 371013 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-08-09 18:28 +0000 [r371010] Alexandr Anikin * /, addons/ooh323c/src/ooh323ep.c: change opening h323 logfile with append mode instead of overwrite ........ Merged revisions 370988 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 370989 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-08-09 17:40 +0000 [r370987] Kinsey Moore * /, apps/app_meetme.c: Correct documentation for the MeetMe x flag The documentation for the x flag for MeetMe incorrectly described its function as closing down the conference when the last marked user left. It actually causes the users with that flag to leave the conference when the last marked user exits. The functionality of this flag is not changing. ........ Merged revisions 370985 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 370986 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-08-09 14:52 +0000 [r370979] Mark Michelson * main/pbx.c, channels/chan_sip.c, include/asterisk/pbx.h, channels/sip/include/sip.h: Extend extension state callbacks to have more information. Quote from review board: This patch extends the extension state callbacks so that monitoring channels (as chan_sip) get more information of the devices which are responsible for an extension state change. The additional information is needed by chan_sip to present names/numbers of the caller and callee in an early-state SIP notification. Users of extenstion state callback not interested in the additional information are not affected by the changes. Motivation: to present the involved party's name/number in an early-state nofification (used by the notified device as a pickup offer) one after another so that a user can see which call he will pick up in an undirected pickup. Such a pickup offer to a user shall indicate the same call (number/name-A calls number/name-B) as the call which would be picked up when an undirected pickup is executed. Users interested in additional state info must use the new functions ast_extension_state_add_extended() resp. ast_extension_state_add_destroy_extended() to register an extended state callback. When the callback is registered this way, an extra member device_state_info of struct ast_state_cb_info is passed to the callback in addition to the aggregated extension state. This container holds an object for every device of the monitored extension hint consisting of the device name, the device state and a channel reference to the channel which (presumably) caused the device state. The information is used by chan_sip for early-state notifications. When the state of a device changes and the new state contains AST_EVENT_RINGING, an early-state notification is sent to the subscribed devices with the caller/callee names/numbers of the oldest ringing channel of the monitored extension. The notified user may then invoke a direct pickup, which will pickup exactly this channel. Users of the old non-extended callbacks will only be called when the aggregated state did change (same behavior as before). Users of the extended callback will also be called when the state is unchanged but does contain AST_EVENT_RINGING. That could be the case if two channels are ringing at one device and one of them hangs up, so the aggregated state does not change. This way the monitoring channel can create a new early-state notification with the now ringing party-ids. Review: https://reviewboard.asterisk.org/r/2048 This contribution comes from Guenther Kelleter 2012-08-09 14:36 +0000 [r370978] Jonathan Rose * pbx/pbx_dundi.c, CHANGES: DUNDi: Add CLI commands DUNDi show cache and DUNDi show hints (closes issue ASTERISK-18390) Reported by: Peter Racz Patches: dundi_cli_cache.patch.v2 uploaded by Peter Racz (license #6290) ASTERISK-18390_dundi_cli_cache_jrose_mods_v2.diff uploaded by Jonathan Rose (license #6182) 2012-08-08 22:45 +0000 [r370955] Michael L. Young * /, apps/app_chanspy.c: Fix Not Unreferencing A Spied Channel When a channel hangs up while being spied upon and the option to exit the ChanSpy application when the spied on channel hangs up is set, ast_autochan_destroy is not being called and therefore a reference to the spied upon channel is not removed. The symptom being reported was that when using func_group in the dialplan and calling "group show channels" at the cli, the spied upon channel was still being shown while "core show channels" showed that the channel was not up. This patch calls ast_autochan_destroy when a spied upon channel hangs up and the option to exit the ChanSpy application is set, removing the reference to the channel allowing the count for the group that the spied channel was part of to be decremented. (closes issue ASTERISK-17515) Reported by: Arkadiusz Malka Tested by: Alexandr Gordeev, Michael L. Young Patches: asterisk-17515-destroy-autochan.diff uploaded by Michael L. Young (license 5026) ........ Merged revisions 370952 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 370954 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-08-08 22:41 +0000 [r370951-370953] Mark Michelson * CHANGES: Move a SIP change up to the other SIP changes in the CHANGES file. * main/channel.c, main/pbx.c, main/manager.c, pbx/pbx_spool.c, apps/app_originate.c, include/asterisk/channel.h, include/asterisk/pbx.h, CHANGES, res/res_clioriginate.c: Allow support for early media on AMI originates and call files. This is based on the work done by Olle Johansson on review board. The idea is that the channel specified in an AMI originate or call file is typically not connected to the outgoing extension until the channel has been answered. With this change, an EarlyMedia header can be specified for AMI originates and an early_media option can be specified in call files. With this option set, once early media is received on a channel, it will be connected with the outgoing extension. (closes issue ASTERISK-18644) Reported by Olle Johansson Review: https://reviewboard.asterisk.org/r/1472 2012-08-08 21:22 +0000 [r370943] Terry Wilson * main/manager.c, CHANGES: Add AMI_CLIENT dialplan function Implementation of a dialplan function for checking manager accounts. Right now it only returns the number of logged in sessions for a manager account, but other attributes can be added later. Patch by: Olle Johansson Review: https://reviewboard.asterisk.org/r/421/ 2012-08-08 20:47 +0000 [r370927] Joshua Colp * main/rtp_engine.c: Create the payload type if it does not exist when setting information based on the 'm' line. An rtpmap attribute is not required for defined payload numbers. 2012-08-08 20:32 +0000 [r370926] Richard Mudgett * channels/chan_dahdi.c, channels/sig_analog.c, channels/sig_analog.h: Convert sig_analog to use a global callback table. 2012-08-08 20:30 +0000 [r370925] Kinsey Moore * main/channel.c, /: Do not define a cause that doesn't actually exist AST_CAUSE_NOTDEFINED is a placeholder for usage when there is no cause information. As such, it should not be defined and translatable as a cause. ........ Merged revisions 370923 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 370924 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-08-08 20:17 +0000 [r370887-370902] Richard Mudgett * channels/chan_dahdi.c, channels/sig_analog.c, /, channels/sig_analog.h: Fix the analog dial *0 flash-hook of bridged peer feature. The flash-hook the bridged peer feature now correctly determines if the bridged peer is another chan_dahdi channel, that it is an analog channel, and that it has the correct signaling for an FXO port. It now also flash-hooks the correct channel. ........ Merged revisions 370900 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 370901 from http://svn.asterisk.org/svn/asterisk/branches/10 * channels/sig_pri.h, channels/chan_dahdi.c, channels/sig_pri.c: Convert sig_pri to use a global callback table. * channels/chan_dahdi.c, channels/sig_ss7.h, channels/sig_ss7.c: Convert sig_ss7 to use a global callback table. 2012-08-07 21:58 +0000 [r370881] Damien Wedhorn * build_tools/cflags-devmode.xml, channels/chan_skinny.c: Rewrite of skinny debugging. Debugging messages and associated controls only compiled in if configured with --enable-dev-mode. Debug messages provide more detail (including thread id) and are grouped so the user/dev can limit the type of messages displayed. Functionally no real change to chan_skinny. Review: https://reviewboard.asterisk.org/r/2040/ 2012-08-07 19:59 +0000 [r370860] Joshua Colp * main/rtp_engine.c, include/asterisk/rtp_engine.h: Payload and RTP code are must remain separate since in non-Asterisk format cases they differ. 2012-08-07 19:26 +0000 [r370851-370859] Kinsey Moore * /: Recorded merge of revisions 370858 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Add missing AST_CAUSE_* -> text translations ........ Merged revisions 370856 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * main/channel.c: Add missing AST_CAUSE_* -> text translations A few of these were missing from the list and are necessary for the Who Hung Up? functionality. 2012-08-07 17:47 +0000 [r370832-370845] Joshua Colp * main/rtp_engine.c: Fix a bug uncovered by the test suite where the RTP payload number was not getting set. * res/res_rtp_asterisk.c, main/rtp_engine.c, channels/chan_sip.c, channels/chan_motif.c, include/asterisk/rtp_engine.h: Reduce memory consumption significantly for users of the RTP engine API by storing only the payloads present and in use instead of every possible one. Review: https://reviewboard.asterisk.org/r/2052/ 2012-08-07 12:46 +0000 [r370820-370831] Matthew Jordan * main/channel.c, channels/chan_dahdi.c, configs/chan_dahdi.conf.sample, channels/chan_misdn.c, channels/chan_sip.c, main/channel_internal_api.c, channels/misdn/chan_misdn_config.h, main/features.c, configs/misdn.conf.sample, include/asterisk/channel.h, configs/sip.conf.sample, CHANGES, channels/sip/include/sip.h, channels/misdn_config.c: Add named callgroups/pickupgroups This patch adds named calledgroups/pickupgroups to Asterisk. Named groups are implemented in parallel to the existing numbered callgroup/pickupgroup implementation. However, unlike the existing implementation, which is limited to a maximum of 64 defined groups, the number of defined groups allowed for named callgroups/pickupgroups is effectively unlimited. Named groups are configured with the keywords "namedcallgroup" and "namedpickupgroup". This corresponds to the numbered group definitions of "callgroup" and "pickupgroup". Note that as the implementation of named groups coexists with the existing numbered implementation, a defined named group of "4" does not equate to numbered group 4. Support for the named groups has been added to the SIP, DAHDI, and mISDN channel drivers. Review: https://reviewboard.asterisk.org/r/2043 Uploaded by: Guenther Kelleter(license #6372) * contrib/realtime/mysql/voicemail_data.sql: Revert r370820 That change is wrong, wrong, wrong. * contrib/realtime/mysql/voicemail_data.sql: Update the MySQL voicemail_data contrib script to reflect Asterisk 11 changes All voicemails now have a 'msg_id' included in their metadata. The ODBC message storage backend now requires this column; as such, the MySQL contrib script that creates the voicemail_data table has been updated with the appropriate column information. 2012-08-06 15:18 +0000 [r370801] Mark Michelson * /, channels/chan_sip.c: Improve debug message for temporary outbound proxies. Thanks to Paul Belanger for pointing this out. ........ Merged revisions 370797 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 370798 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-08-03 21:52 +0000 [r370773] Mark Michelson * /, channels/chan_sip.c, channels/sip/config_parser.c, channels/sip/include/sip.h: Multiple revisions 370769-370771 ........ r370769 | mmichelson | 2012-08-03 16:35:00 -0500 (Fri, 03 Aug 2012) | 24 lines Fix error in the "IPorHost" section of a SIP dialstring. This is based on the review request posted by Walter Doekes (referenced lower in the commit message) The main fix here is to treat the IPorHost portion of the dial string as a temporary outbound proxy. This ensures requests get sent to the proper location. Due to the age of the request, some parts were no longer relevant. For instance, the request moved outbound proxy parsing code into a single method. This is done in a previous commit, so it was not necessary to do again. Also, the review request fixed some errors with regards to request routing for CANCEL and ACK requests. This has also been fixed in more recent commits. (closes issue ASTERISK-19677) reported by Walter Doekes Review https://reviewboard.asterisk.org/r/1859 ........ r370770 | mmichelson | 2012-08-03 16:39:35 -0500 (Fri, 03 Aug 2012) | 3 lines Remove unused variable. ........ r370771 | mmichelson | 2012-08-03 16:43:52 -0500 (Fri, 03 Aug 2012) | 5 lines Seriously? Another compilation error fixed. Somebody beat me. ........ Merged revisions 370769-370771 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 370772 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-08-02 15:51 +0000 [r370740] Kinsey Moore * channels/chan_sip.c: Fix regression from r370636 When the chan_sip cleanup went in, a typo was included that caused some subscriptions of non-Polycom phones to be limited to the same capabilities as Polycom phones. This resolves the failures in the test suite resulting from this regression. 2012-08-01 19:37 +0000 [r370726] Mark Michelson * main/manager.c: Fix a possible crash due to passing NULL to ast_variables_dup() 2012-08-01 18:52 +0000 [r370720] Richard Mudgett * include/asterisk/astobj2.h, main/astobj2.c: Make astobj2.h not include linkedlists.h. Using astobj2 does not require linkedlists.h be included even though astob2 uses linked lists internally. 2012-08-01 02:26 +0000 [r370699] Kinsey Moore * /, utils/extconf.c: Revert alloca changes for utils These changes were a tad overzealous in the utils directory. Unfortunately, these don't compile with a "make". ........ Merged revisions 370697 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 370698 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-07-31 22:28 +0000 [r370681-370691] Mark Michelson * channels/chan_sip.c, configs/sip.conf.sample, CHANGES, channels/sip/include/sip.h: Add headers from SIPAddHeader to outbound REFER requests. This is a patch from kkm from review board. This is useful for adding headers to REFER requests that emanate from a Transfer() dialplan application call. This also fixes some uses of the Referred-by header, removing an extra set of angle brackets. I've modified the reporter's original patch to not require any additions to the sip_refer header and to just remove the referred_by_name from sip_refer since it is no longer needed or used. (closes Issue ASTERISK-17639) reported by Kirill Katsnelson Patches: 019059-sip-refer-addheaders-trunk-353549.diff uploaded by Kirill Katsnelson (license #5845) Review: https://reviewboard.asterisk.org/r/1159 * main/manager.c, configs/manager.conf.sample, CHANGES: Add "setvar" option to manager.conf. With this option set, channel variables can be set on every manager originate. The Variable header can still be used to set additional channel variables for individual calls if desired. This work was completed by Olle Johansson on review board. I have applied the review feedback and am committing it in order to get this into trunk before Asterisk 11 is branched. Review: https://reviewboard.asterisk.org/r/1412 2012-07-31 21:20 +0000 [r370677] Matthew Jordan * /, channels/chan_sip.c: Schedule pokes of registered SIP peers within a given timespan after SIP reload With a large number of SIP peers registered, performing a SIP reload causes a flood of SIP OPTIONS request packets. These are immediately sent out, and, as responses come back, can cause peers to be flagged as 'lagged' due to handling of the many response messages. This fix prevents this "packet storm" and schedules the pokes for a random time. That time varies between 1 ms and the peer's qualify time, or, if the qualify time is unknown, the global qualifyfreq setting. The committed patch has some very small modifications to the patch schmidts wrote for the review. (closes issue ASTERISK-19154) Reported by: Nicolo Mazzon patches: issue19154.patch license #6034 uploaded by schmidts Review: https://reviewboard.asterisk.org/r/1652 ........ Merged revisions 370666 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 370672 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-07-31 20:33 +0000 [r370664] Russell Bryant * main/event.c: Move event cache updates into event processing thread. Prior to this patch, updating the device state cache was done by the thread that originated the event. It would update the cache and then queue the event up for another thread to dispatch. This thread moves the cache updating part to be in the same thread as event dispatching. I was working with someone on a heavily loaded Asterisk system and while reviewing backtraces of the system while it was having problems, I noticed that there were a lot of threads contending for the lock on the event cache. By simply moving this into a single thread, this helped performance *a lot* and alleviated some deadlock-like symptoms. Review: https://reviewboard.asterisk.org/r/2066/ 2012-07-31 20:21 +0000 [r370655] Kinsey Moore * /, main/say.c, main/threadstorage.c, funcs/func_strings.c, channels/chan_iax2.c, main/config.c, channels/chan_dahdi.c, pbx/pbx_spool.c, channels/sig_analog.c, main/strcompat.c, main/features.c, pbx/pbx_ael.c, main/http.c, pbx/pbx_realtime.c, channels/chan_alsa.c, channels/sig_ss7.c, main/db.c, include/asterisk/utils.h, main/pbx.c, funcs/func_cut.c, tests/test_linkedlists.c, funcs/func_channel.c, apps/app_macro.c, apps/app_mixmonitor.c, main/asterisk.c, apps/app_voicemail.c, addons/app_mysql.c, apps/app_meetme.c, apps/app_dictate.c, main/utils.c, funcs/func_logic.c, cdr/cdr_pgsql.c, channels/chan_gtalk.c, res/res_jabber.c, res/res_http_websocket.c, res/ael/pval.c, main/channel.c, main/manager.c, apps/app_osplookup.c, res/res_agi.c, apps/app_minivm.c, main/logger.c, main/app.c, addons/chan_mobile.c, apps/app_while.c, res/res_config_pgsql.c, channels/chan_sip.c, apps/app_festival.c, pbx/pbx_lua.c, channels/sig_pri.c, apps/app_getcpeid.c, funcs/func_global.c, channels/chan_jingle.c, main/tcptls.c, apps/app_directed_pickup.c, main/file.c, main/callerid.c, apps/app_sms.c, main/astmm.c, main/event.c, pbx/pbx_dundi.c, include/asterisk/strings.h, utils/extconf.c, main/dsp.c, addons/res_config_mysql.c: Clean up and ensure proper usage of alloca() This replaces all calls to alloca() with ast_alloca() which calls gcc's __builtin_alloca() to avoid BSD semantics and removes all NULL checks on memory allocated via ast_alloca() and ast_strdupa(). (closes issue ASTERISK-20125) Review: https://reviewboard.asterisk.org/r/2032/ Patch-by: Walter Doekes (wdoekes) ........ Merged revisions 370642 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 370643 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-07-31 19:57 +0000 [r370644] Mark Michelson * CHANGES, pbx/pbx_config.c: Add "dialplan remove context" and modify "dialplan add include" From corruptor's review board posting: "I've noticed that we can remove particular extension from context with dialplan remove extension command but in order to remove all extensions in the context we should delete them on by one. I've created dialplan remove context command which uses ast_context_destroy to destroy the whole context with all extensions. I've created to functions for in pbx_config.c: handle_cli_dialplan_remove_context which actually removes context and complete_dialplan_remove_context which completes input. They are based on other similar functions and pretty trivial but I can be mistaken somewhere. "I've also modified dialplan add include into . I've made it similar dialplan add extension ... command. It creates if it doesn't exist and I've also modified complete_dialplan_add_include and removed check for existance of because we can include non-existent context into another one. (I usually include empty (non-existent) contexts in advance). Should we raise warning in this case as it's raised while reading extensions.conf? "I use those functions with AMI. I think manager commands should be created in addition to those CLI commands." I've addressed the latest comments on review board and have made some other coding guidelines-related cleanup. I also have modified the CHANGES file to mention these new commands. (closes issue ASTERISK-19292) reported by Andrey Solovyev Patches: dialplan_add_include.patch uploaded by Andrey Solovyev (license #5214) dialplan_remove_context.patch uploaded by Andrey Solovyev (license #5214) Review: https://reviewboard.asterisk.org/r/2042 2012-07-31 19:10 +0000 [r370636] Kinsey Moore * channels/chan_sip.c, channels/sip/security_events.c, channels/sip/include/sip.h: Clean up chan_sip This clean up was broken out from https://reviewboard.asterisk.org/r/1976/ and addresses the following: - struct sip_refer converted to use the stringfields API. - sip_{refer|notify}_allocate -> sip_{notify|refer}_alloc to match other *alloc functions. - Replace get_msg_text, get_msg_text2 and get_pidf_body -> No, not get_pidf_msg_text_body3 but get_content, to match add_content. - get_body doesn't get the request body, renamed to get_content_line. - get_body_by_line doesn't get the body line, and is just a simple if test. Moved code inline and removed function. - Remove camelCase in struct sip_peer peer state variables, onHold -> onhold, inUse -> inuse, inRinging -> ringing. - Remove camelCase in struct sip_request rlPart1 -> rlpart1, rlPart2 -> rlpart2. - Rename instances of pvt->randdata to pvt->nonce because that is what it is, no need to update struct sip_pvt because _it already has a nonce field_. - Removed struct sip_pvt randdata stringfield. - Remove useless (and inconsistent) 'header' suffix on variables in handle_request_subscribe. - Use ast_strdupa on Event header in handle_request_subscribe to avoid overly complicated strncmp calls to find the event package. - Move get_destination check in handle_request_subscribe to avoid duplicate checking for packages that don't need it. - Move extension state callback management in handle_request_subscribe to avoid duplicate checking for packages that don't need it. - Remove duplicate append_date prototype. - Rename append_date -> add_date to match other add_xxx functions. - Added add_expires helper function, removed code that manually added expires header. - Remove _header suffix on add_diversion_header (no other header adding functions have this). - Don't pass req->debug to request handle_request_XXXXX handlers if req is also being passed. - Don't pass req->ignore to check_auth as req is already being passed. - Don't create a subscription in handle_request_subscribe if p->expiry == 0. - Don't walk of the back of referred_by_name when splitting string in get_refer_info - Remove duplicate check for no dialog in handle_incoming when sipmethod == SIP_REFER, handle_request_refer checks for that. Review: https://reviewboard.asterisk.org/r/1993/ Patch-by: gareth 2012-07-30 23:26 +0000 [r370565-370598] Richard Mudgett * main/test.c: Tweak unit test warning message. * funcs/func_presencestate.c, main/test.c: Fix some presence-state unit test typos. * apps/app_confbridge.c: DECLINE to load confbridge if the config fails to load. * channels/chan_misdn.c, /: Release B channel allocation on error path in chan_misdn. ........ Merged revisions 370563 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 370564 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-07-30 14:52 +0000 [r370548] Jonathan Rose * /, apps/app_meetme.c: app_meetme: Change app_meetme support level to extended from deprecated (closes issue ASTERISK-20134) Reported by: Leif Madsen ........ Merged revisions 370547 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-07-30 13:45 +0000 [r370534-370541] Russell Bryant * tests/test_event.c: Fix ast_event_new unit test. One of my recent commits broke this test. The error was: [test_event.c:event_new_test:214]: Events expected to be identical have different size: 69 != 59 The difference in size occurred because the first event had the EID IE added to the event twice. ast_event_new() now always adds it automatically. Previously it only added it if there were no IEs specified, which was kind of weird. * include/asterisk/event_defs.h, res/res_corosync.c, main/event.c: Add a "corosync ping" CLI command. This patch adds a new CLI command to the res_corosync module. It is primarily used as a debugging tool. It lets you fire off an event which will cause res_corosync on other nodes in the cluster to place messages into the logger if everything is working ok. It verifies that the corosync communication is working as expected. I didn't put anything in the CHANGES file for this, because this module is new in Asterisk 11. There is already a generic "res_corosync new module" entry in there so I figure that covers it just fine. * addons/app_mysql.c, CHANGES: Allow specifying a port number for the MySQL server. This patch allows you to specify a port number for the MySQL server. It's useful if a MySQL server is running on a non-standard port. Even though this module is deprecated in favor of func_odbc, someone asked for this feature and it seems pretty harmless to add. It has been tested using a number of combinations of with/without a port number specified in the dialplan and changing the port number for mysqld. 2012-07-26 15:31 +0000 [r370510-370518] Jonathan Rose * channels/chan_sip.c, CHANGES: chan_sip: Add SIPpeerstatus command to AMI This patch was submitted by mnicholson a while back. It adds a new AMI action which allows users to request SIP peer status on demand similar to existing PeerStatus events and to the output you would see from CLI with sip show peer Review: https://reviewboard.asterisk.org/r/1098/ * /, res/res_agi.c: res_agi: Add message indicating need for \n character in verbose message The while loop responsible for reading AGI messages from a fastAGI service can end up looping indefinitely when an AGI script fails to indicate the end of a message with a \n character. This patch adds an indication that we are expecting a \n character to end the message to make it more clear to users that this is necessary if they are receiving this warning over and over. (issue ASTERISK-20061) Reported by: Eike Kuiper ........ Merged revisions 370494 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 370495 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-07-25 14:27 +0000 [r370481-370488] Kevin P. Fleming * main/Makefile: Repair editline builds using in-tree editline sources. The previous change to the build system for using a system-provided editline library was missing a crucial include directory for building against the copy of the library in the Asterisk source tree. * main/Makefile: Use an absolute path when referring to the embedded editline directory. This patch changes the build system to refer to the embedded editline directory using an absolute path, which will resolve a problem seen on the CentOS automated build agents. * build_tools/menuselect-deps.in, configure, include/asterisk/autoconfig.h.in, main/Makefile, main/editline/configure, configure.ac, main/editline/readline (removed), main/editline/readline.c, main/editline/configure.in, CHANGES, makeopts.in, main/editline/readline.h (added), main/asterisk.c, contrib/scripts/install_prereq, main/cli.c: Enable usage of system-provided NetBSD editline library if available. This patch changes the Asterisk configure script and build system to detect the presence of the NetBSD editline library (libedit) on the system. If it is found, it will be used in preference to the version included in the Asterisk source tree. (closes issue ASTERISK-18725) Reported by: Jeffrey C. Ollie Review: https://reviewboard.asterisk.org/r/1528/ Patches: 0001-Allow-linking-building-against-an-external-editline.patch uploaded by jcollie (license #5373) (heavily modified by kpfleming) 2012-07-25 03:51 +0000 [r370474] Terry Wilson * main/pbx.c, /: Revert a change that broke compilation 1) There is no such function as ast_ref() 2) The patch was originally credited as the one uploaded by Guenther Kelleter (license 6372) via issue AST-921, but the patch committed was not the patch referenced on the issue. 3) Guenther Kelleter's patch was actually correct. It moved the ast_free above the presencechange_cleanup label. I am not committing his change as it is not technically necesary--calling ast_free(NULL) is perfectly safe and I worry that moving the ast_free outside of the label could lead to future bugs if someone ever adds another failure conditional and expects 'goto presencechange_cleanup;' to clean up after everything. 2012-07-24 21:30 +0000 [r370466] Jonathan Rose * main/pbx.c, /: Don't attempt free of NULL ptr in pbx.c handle_presencechange (closes issue AST-921) Reported by: Guenther Kelleter Patches: nullptr.patch uploaded by Guenther Kelleter (license 6372) 2012-07-24 19:12 +0000 [r370453] Kevin P. Fleming * tests/test_acl.c: Silence a warning message from older versions of GCC. Revision 370426 introduced the use of a nested function in tests/test_acl.c, but the lack of the 'auto' scope specifier on the function and a forward declaration resulted in compilation errors on the automated test systems. 2012-07-24 17:16 +0000 [r370433] Tzafrir Cohen * /, channels/chan_oss.c: chan_oss: fix "sample rate" error message Merged revisions 370428 from http://svn.asterisk.org/svn/asterisk/branches/1.8 Merged revisions 370432 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-07-24 16:54 +0000 [r370426-370431] Kevin P. Fleming * main/frame.c, /: Rewrite a comment that didn't adequately explain the code it was documenting. ........ Merged revisions 370429 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 370430 from http://svn.asterisk.org/svn/asterisk/branches/10 * CHANGES: Update CHANGES for list/negation ACL feature. * tests/test_acl.c, main/acl.c: Allow permit/deny ACL lines to contain multiple items and negated entries. Rules in ACLs (specified using 'permit' and 'deny') can now contain multiple items (separated by commas), and items in the rule can be negated by prefixing them with '!'. This simplifies Asterisk Realtime configurations, since it is no longer necessray to control the order that the 'permit' and 'deny' columns are returned from queries. Review: https://reviewboard.asterisk.org/r/1592/ Initial patch contributed by Tilghman Lesher Unit tests written by Kevin P. Fleming 2012-07-24 16:15 +0000 [r370419-370420] Joshua Colp * res/res_rtp_asterisk.c: Build is underway so logging can go away. * res/res_rtp_asterisk.c: Temporarily enable pj logging to console for debugging pjnath issue exposed by build slave. 2012-07-24 08:53 +0000 [r370413] Igor Goncharovskiy * channels/chan_unistim.c: Remove code, that operate with cdr in attempt_transfer(). That was removed somewhere between 1.2 and 1.4 and acidentaly put back in chan_unistim. (closes issue ASTERISK-19628) Reported by: Igor Olhovskiy 2012-07-23 21:27 +0000 [r370407] Kevin P. Fleming * codecs/Makefile, build_tools/menuselect-deps.in, configure, include/asterisk/autoconfig.h.in, configure.ac, codecs/codec_ilbc.c, CHANGES, makeopts.in: Enable usage of system-provided iLBC library. The WebRTC version of the iLBC codec is now package as a library and is available on some platforms. This patch allows codec_ilbc to be built against that library if it is present. Review: https://reviewboard.asterisk.org/r/1964/ 2012-07-23 21:15 +0000 [r370387] Matthew Jordan * tests/test_abstract_jb.c (added), main/abstract_jb.c, funcs/func_jitterbuffer.c, include/asterisk/abstract_jb.h: Unit tests for the Jitter Buffer API; remove unnecessary resync This patch includes the following: * Unit tests for the abstract Jitter Buffer API. This includes both fixed and adaptive flavors, testing nominal creation, frame input, frame retrieval, resyncing; off nominal frame input overflow, out of order, and others. * Tweaks to the abstract_jb API to remove the unnecessary resync_threshold parameter from the create function (resync_threshold is already in the struct passed into the create function) * Ensure the fixed jitter buffer is empty before destroying it, to avoid an ASSERT * Don't "resync" the adaptive jitter buffer. The mechanism that was being used actually causes the jitter buffer to think its being overflowed by going around the jitterbuf API and attempting to 'resynch' it improperly. If a resync is needed, the jitter buffer will do it properly by itself. Note that this is only an optimization needed for trunk, as the worst that happens is the loss of three voice packets before the adaptive jitter buffer will resync anyway. Review: https://reviewboard.asterisk.org/r/2035 2012-07-23 21:10 +0000 [r370386] Mark Michelson * channels/chan_sip.c, configs/sip.conf.sample, CHANGES: Add separate configuration options for subscription and registration minexpiry and maxexpiry. This offers more fine-grained control over how long subscriptions last without negatively affecting the expiration range for registrations. Uploaded by: Guenther Kelleter(license #6372) Review: https://reviewboard.asterisk.org/r/2051 2012-07-23 21:10 +0000 [r370385] Kevin P. Fleming * /, funcs/func_shell.c: Improve documentation for the SHELL() dialplan function. ........ Merged revisions 370383 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 370384 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-07-23 21:02 +0000 [r370382] Mark Michelson * UPGRADE.txt: Add notes to UPGRADE.txt about addition of msg_id to VoiceMails. 2012-07-23 00:15 +0000 [r370354] Joshua Colp * UPGRADE.txt: Update UPGRADE.txt with notes about ICE support and res_xmpp. 2012-07-22 23:37 +0000 [r370353] Matthew Jordan * CHANGES: Update CHANGES for Asterisk 11 This updates the CHANGES file with things that were committed for Asterisk 11, but were not noted in that file. 2012-07-22 17:03 +0000 [r370347] Joshua Colp * res/res_rtp_asterisk.c, channels/chan_sip.c, configs/sip.conf.sample, channels/sip/include/sip.h: Prevent multiple local candidates from being added with the same information and add support for disabling ICE on a per-peer basis. (closes issue ASTERISK-20088) Reported by: wimpy Review: https://reviewboard.asterisk.org/r/2044/ 2012-07-21 13:25 +0000 [r370341] Terry Wilson * main/config_options.c, apps/app_confbridge.c, apps/confbridge/conf_config_parser.c: Fix segfault introduced by conversion to ACO API The value "none" is specified in the config file as a valid value for the "video_mode" option. The code prior to the ACO conversion did not check for "none", but just ignored it and relied on the default zero value. The parsing with ACO is more strict, so without handling "none" specifically, parsing would fail. When parsing failed, but the module loaded anyway, the config info would never be stored, and one place in the code did not check for this case and would segfault. It was also possible that the aco_info struct's internals would be destroyed and used as well. This patch keeps the module from loading after parse failures, adds the "none" option to "video_mode", registers CLI functions only after parsing has completed, checks the config data for NULL before accessing it, and returns -1 on some allocation failures when initializing. (closes issue ASTERISK-20159) Reported by: Birger "WIMPy" Harzenetter Tested by: Birger "WIMPy" Harzenetter Patches: confbridge_fix3.txt uploaded by Terry Wilson 2012-07-20 19:36 +0000 [r370335] Jonathan Rose * channels/chan_iax2.c: chan_iax2: Fix a segfault introduced by call ID logging Didn't previously check that a non NULL IAX channel was stored in the array at the requested position before attempting iax_pvt_callid_get (closes issue ASTERISK-20145) Reported by: Birger "WIMPy" Harzenetter 2012-07-20 19:08 +0000 [r370329] Matthew Jordan * apps/app_dial.c: Clean up ManagerEvent Dial documentation The paragraph describing the SubEvent belongs with the SubEvent parameter itself, and not with its enum values. The order of parsing was placing the description after the last enum, which isn't correct. 2012-07-20 18:37 +0000 [r370328] Kinsey Moore * channels/chan_misdn.c: Fix build error in chan_misdn from commit 370316 chan_misdn was not updated properly to account for a change in parameters for HANGUPCAUSE functionality. It now builds properly. 2012-07-20 16:25 +0000 [r370322] Joshua Colp * res/res_http_websocket.exports.in: Export the ast_websocket_set_nonblock function for use by other modules. 2012-07-20 15:48 +0000 [r370316] Kinsey Moore * funcs/func_hangupcause.c (added), main/channel.c, channels/chan_dahdi.c, channels/sig_analog.c, main/rtp_engine.c, channels/chan_sip.c, main/channel_internal_api.c, UPGRADE.txt, include/asterisk/channel.h, channels/chan_iax2.c, channels/sig_pri.c, include/asterisk/frame.h, channels/sig_ss7.c: Add hangupcause translation support The HANGUPCAUSE hash (trunk only) meant to replace SIP_CAUSE has now been replaced with the HANGUPCAUSE and HANGUPCAUSE_KEYS dialplan functions to better facilitate access to the AST_CAUSE translations for technology-specific cause codes. The HangupCauseClear application has also been added to remove this data from the channel. (closes issue SWP-4738) Review: https://reviewboard.asterisk.org/r/2025/ 2012-07-20 15:40 +0000 [r370309-370315] Richard Mudgett * CHANGES: Update CHANGES about adding the AccountCode header to the AMI Hangup event. (issue ASTERISK-19963) * main/channel.c: Add the AccountCode header to the AMI Hangup event. It's harder to correlate the Newchannel and Hangup AMI events without specifying "AccountCode" in both. (closes issue ASTERISK-19963) Reported by: Oleg A. Arkhangelsky Patches: hangup_acctcode.diff (license #6397) patch uploaded by Oleg A. Arkhangelsky 2012-07-19 23:21 +0000 [r370303] Terry Wilson * include/asterisk/config_options.h, apps/confbridge/include/confbridge.h, main/config_options.c, apps/confbridge/conf_config_parser.c: Convert app_confbridge to use the config options framework Review: https://reviewboard.asterisk.org/r/2024/ 2012-07-19 22:25 +0000 [r370298] Richard Mudgett * /, main/cel.c: Fix compiler warnings. gcc (GCC) 4.2.4 has problems casting away constness. ........ Merged revisions 370275 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 370277 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-07-19 22:17 +0000 [r370272-370278] Matthew Jordan * channels/chan_sip.c, res/res_xmpp.c, doc/appdocsxml.dtd, main/message.c, main/xmldoc.c: Add the ability to specify technology specific documentation A number of applications/AMI commands in Asterisk have specific behavioral differences depending on the resource or channel technology those applications are executed on. For example, the MessageSend application/ command is technology agnostic, but how the channel drivers that support that functionality behave is dependant on the protocols and channel driver implementation. Prior to this patch, those details were either documented in the application/command documentation itself, or were left undocumented. This patch adds a new element to the documentation schema, . An info node is essentially a piece of technology specific reference information that can be included by any top level XML documentation node. For example, the MessageSend application can now include XMPP/SIP specific information, where that technology specific information can be defined in chan_motif/res_xmpp/ chan_sip. Likewise, that information can also be included in the MessageSend AMI command. Review: https://reviewboard.asterisk.org/r/2049 * /, main/cel.c: Fix compilation error when MALLOC_DEBUG is enabled To fix a memory leak in CEL, a channel datastore was introduced whose destruction function pointer was pointed to the ast_free macro. Without MALLOC_DEBUG enabled this compiles as fine, as ast_free is defined as free. With MALLOC_DEBUG enabled, however, ast_free takes on a definition from a different place then utils.h, and became undefined. This patch resolves this by using a reference to ast_free_ptr. When MALLOC_DEBUG is enabled, this calls ast_free; when MALLOC_DEBUG is not enabled, this is defined to be ast_free, which is defined to be free. (issue AST-916) Reported by: Thomas Arimont ........ Merged revisions 370273 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 370274 from http://svn.asterisk.org/svn/asterisk/branches/10 * res/res_rtp_asterisk.c, /: Handle extremely out of order RFC 2833 DTMF The current implementation of RFC 2833 DTMF handling in res_rtp_asterisk will, if a packet arrives out of order, drop the packet. This is to prevent duplicate ton generation in the Asterisk core. Since the RTP layer does not buffer data itself, this is the only option the RTP layer currently has for handling packets that arrive out of order. For the most part, this doesn't matter. For a particular digit, so long as a BEGIN packet arrives before the first END packet, the digit will be produced. If subsequent BEGIN packets arrive interleaved with the ENDs, they will be dropped; likewise, if the BEGIN or END packets themselves are out of order, those packets are dropped but sufficient information is conveyed to the Asterisk core to produce the appropriate digit. For certain sequences of DTMF packets - most notably when, for a particular digit, an END packet arrives before any BEGIN packet for that digit - this is a real problem. When an END arrives before any BEGINs, the END packet is dropped - but at the same time, it causes subsequent BEGIN packets for that digit to be ignored. When the next in order END packet arrives, it too is dropped - Asterisk believes that there was no initial BEGIN. The solution this patch provides is to trust the END packet to convey the information needed for the Asterisk core to produce the DTMF digit. If we receive an END packet, and it: * Has a timestamp greater then the last timestamp received from an END packet * Does not have the same sequence number as the last received sequence number (and is thus not an END packet retransmission) Then we send the END frame up to the Asterisk core. It contains enough DTMF information for Asterisk to produce the digit. On the other hand, if we receive a BEGIN or continuation packet that occurs with a timestamp equal to or less then the last END timestamp, then we've received something out of order - but we already have received enough information to produce the digit. These packets are dropped. Much thanks goes to Olle Johansson (oej) for providing the idea for this solution. Review: https://reviewboard.asterisk.org/r/2033/ (closes issue ASTERISK-18404) Reported by: Stephane Chazelas Tested by: Matt Jordan ........ Merged revisions 370252 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 370271 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-07-19 20:37 +0000 [r370246-370265] Jonathan Rose * main/named_acl.c, configs/acl.conf.sample: named_acl: Remove systemname option from acl.conf, use asterisk.conf value Review: https://reviewboard.asterisk.org/r/2057/ * main/channel_internal_api.c: CallID Logging: Remove new line/carriage return from callID change test event 2012-07-19 12:14 +0000 [r370234-370240] Joshua Colp * res/Makefile, res/pjproject/build/os-auto.mak.in: Use the bruteforce method to get debugging enabled for pjproject. * res/Makefile: Turn on debugging for pjproject so we can get a better idea of what is causing the generic CCSS test crash. 2012-07-18 19:48 +0000 [r370225] Jonathan Rose * main/channel_internal_api.c: callid logging: Issue test events when the callid is changed for a channel Review: https://reviewboard.asterisk.org/r/2054/ 2012-07-18 19:18 +0000 [r370187-370211] Kevin P. Fleming * /, main/cel.c: Resolve severe memory leak in CEL logging modules. A customer reported a significant memory leak using Asterisk 1.8. They have tracked it down to ast_cel_fabricate_channel_from_event() in main/cel.c, which is called by both in-tree CEL logging modules (cel_custom.c and cel_sqlite3_custom.c) for each and every CEL event that they log. The cause was an incorrect assumption about how data attached to an ast_channel would be handled when the channel is destroyed; the data is now stored in a datastore attached to the channel, which is destroyed along with the channel at the proper time. (closes issue AST-916) Reported by: Thomas Arimont Review: https://reviewboard.asterisk.org/r/2053/ ........ Merged revisions 370205 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 370206 from http://svn.asterisk.org/svn/asterisk/branches/10 * main/channel.c, addons/app_mysql.c, main/pbx.c, funcs/func_curl.c, /, main/ccss.c, funcs/func_odbc.c, funcs/func_lock.c, apps/app_macro.c, channels/chan_iax2.c, apps/app_mixmonitor.c, apps/app_stack.c, funcs/func_global.c, res/res_odbc.c: Ensure that all ast_datastore_info structures are 'const'. While addressing a bug, I came across a instance of 'struct ast_datastore_info' that was not declared 'const'. Since the API already expects them to be 'const', this patch changes the declarations of all existing instances that were not already declared that way. ........ Merged revisions 370183 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 370184 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-07-18 15:15 +0000 [r370171-370177] Joshua Colp * res/res_rtp_asterisk.c: Fix a crash in pjnath when starting an ICE connectivity check and immediately destroying the ICE session. The initial ICE connectivity check is scheduled as a timer item that is to be executed immediately. It is possible for this timer item to start executing while the ICE session it is working on is destroyed. To reduce the chance of this any timer items that need to be immediately executed will be executed within the thread that has started the initial ICE connectivity check. * channels/chan_sip.c, include/asterisk/rtp_engine.h: Fix a crash occurring as a result of excess stack usage. This fix involves moving the allocation of some temporary codec structures to the heap and also reduces the number of maximum payloads to something more sane for both regular and low memory builds. (closes issue ASTERISK-20140) Reported by: jonnt 2012-07-18 07:17 +0000 [r370165] Igor Goncharovskiy * channels/chan_unistim.c, configs/unistim.conf.sample, CHANGES: Added option 'interdigit_timer' to unistim.conf to make able controll hardcoded dial timeout constant. 2012-07-17 19:05 +0000 [r370152-370157] Joshua Colp * res/res_xmpp.c: Add pubsub unsubscription support so subscriptions do not linger for MWI and device state progatation. The pubsub code did not attempt to remove subscriptions at all. This has now changed so that if a client is being disconnected it will unsubscribe. It will also unsubscribe at connection time so if it unexpectedly disconnected duplicate subscriptions will not occur. (closes issue ASTERISK-19882) Reported by: mattvryan * include/asterisk/xmpp.h, res/res_xmpp.c: Fix a crash as a result of propagating MWI or device state over XMPP when the client is disconnected. The MWI and device state propagation code wrongly assumes that an XMPP client connection will remain established at all times. This fix corrects that by making the lifetime of the subscription the same as the lifetime of the connection itself. As the connection is established and disconnected the subscription itself is created and destroyed. (closes issue ASTERISK-18078) Reported by: elguero 2012-07-16 19:58 +0000 [r370133] Walter Doekes * /, channels/chan_sip.c: Code cleanup and bugfix in chan_sip outboundproxy parsing. The bug was clearing the global outboundproxy when a peer-specific outboundproxy was bad. The cleanup reduces duplicate code. Review: https://reviewboard.asterisk.org/r/2034/ Reviewed by: Mark Michelson ........ Merged revisions 370131 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 370132 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-07-16 19:14 +0000 [r370111-370126] Joshua Colp * res/res_xmpp.c: Fix an issue where a service discovery request could crash Asterisk. A server sending a service discovery request to us may or may not put a from attribute in the message. If the from attribute is present use it in the to attribute for the result. If the from attribute is not present do not add a to attribute. (issue ASTERISK-16203) Reported by: wubbla * res/res_xmpp.c: Fix a bug where some XMPP servers would reject authentication. We need to use the user portion of the JID and not the full configured username. * res/res_xmpp.c: Add missing namespace for old non-SASL based authentication. * channels/chan_sip.c: Fix a bug exposed by the testsuite where text streams would no longer be parsed correctly. 2012-07-16 14:02 +0000 [r370083] Kinsey Moore * /, UPGRADE-10.txt, CHANGES, UPGRADE-1.8.txt: Add comments about the BUILD_NATIVE change This is a significant change and mention of it should have gone into UPGRADE.txt and CHANGES. ........ Merged revisions 370081 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 370082 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-07-16 12:58 +0000 [r370072-370073] Joshua Colp * res/res_xmpp.c: Fix an issue where specifying the resource in the username would cause authentication to fail. * channels/sip/sdp_crypto.c, channels/chan_sip.c, channels/sip/security_events.c, include/asterisk/http_websocket.h, configs/sip.conf.sample, CHANGES, res/res_http_websocket.c, channels/sip/include/sip.h: Add support for SIP over WebSocket. This allows SIP traffic to be exchanged over a WebSocket connection which is useful for rtcweb. Review: https://reviewboard.asterisk.org/r/2008 2012-07-16 07:38 +0000 [r370066-370067] Igor Goncharovskiy * channels/chan_unistim.c: Deactivate timer for dialing entered number on hook switch hang up. (closes issue ASTERISK-19554) Reported by: Stefano Villani * channels/chan_unistim.c, contrib/unistimLang/fr.po (added), CHANGES: Add French translation for chan_unistim phones on-screen menus. 2012-07-13 18:41 +0000 [r370055-370060] Joshua Colp * include/asterisk/format.h, res/res_format_attr_h263.c (added), res/res_format_attr_h264.c (added): Reduce memory consumption and add the H.264 and H.263 modules I shamefully neglected to add. * main/format.c, channels/chan_sip.c, main/translate.c, include/asterisk/format.h, res/res_format_attr_silk.c, res/res_format_attr_celt.c: Add support for parsing SDP attributes, generating SDP attributes, and passing it through. This support includes codecs such as H.263, H.264, SILK, and CELT. You are able to set up a call and have attribute information pass. This should help considerably with video calls. Review: https://reviewboard.asterisk.org/r/2005/ 2012-07-13 00:05 +0000 [r370048] Tzafrir Cohen * contrib/scripts/live_ast: live_ast: don't set working directory contrib/scripts/live_ast currently assumes that it is being run from the top-level directory of the source tree. It creates a script that will also set the working directory. This fix avoids the need to set the working directory if the caller sets LIVE_AST_BASE_DIR instead. It relies on realpath for that. If realpath is not available, it will fall back to the original behaviour. Review: https://reviewboard.asterisk.org/r/2027/ 2012-07-12 21:43 +0000 [r370043] Terry Wilson * include/asterisk/config_options.h, configs/config_test.conf.sample, main/config_options.c, tests/test_config.c: Handle deprecated (aliased) option names with the config options api Add a simple way to register "deprecated" option names that alias to a different "current" name. Review: https://reviewboard.asterisk.org/r/2026/ 2012-07-12 20:28 +0000 [r370037] Richard Mudgett * channels/chan_dahdi.c, channels/sig_analog.c, /: Add missing ast_hangup() calls on some analog exception paths. Make starting analog_ss_thread() or __analog_ss_thread() failure paths hangup the channel. ........ Merged revisions 370017 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 370025 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-07-12 20:06 +0000 [r369995-370016] Kinsey Moore * /, channels/chan_sip.c: Include Expires header for SIP PUBLISH requests RFC3903 requres SIP PUBLISH requests to have Expires headers, so add them. Review: https://reviewboard.asterisk.org/r/2003/ Patch-by: gareth ........ Merged revisions 370014 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 370015 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, channels/chan_sip.c: Prevent double uri_escaping in chan_sip when pedantic is enabled If pedantic mode is enabled, outbound invites will have double-escaped contacts. This avoids setting an already-escaped string into a field where it is expected to be unescaped. (closes issue ASTERISK-20023) Reported by: Walter Doekes ........ Merged revisions 369993 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369994 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-07-12 14:38 +0000 [r369972-369974] Michael L. Young * /, funcs/func_math.c: Correct Documentation For DEC Function The documentation for DEC in func_math.c was incorrect. Looks like a copy and paste error. (Closes issue ASTERISK-20095) Reported by: Billy Chia Tested by: Michael L. Young Patches: func_math.patch uploaded by Billy Chia (license 6381) ........ Merged revisions 369970 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369971 from http://svn.asterisk.org/svn/asterisk/branches/10 * funcs/func_math.c: Reverting last merge since it wasn't completed properly. * funcs/func_math.c: Correct Documentation For DEC Function The documentation for DEC in func_math.c was incorrect. Looks like a copy and paste error. (Closes issue ASTERISK-20095) Reported by: Billy Chia Tested by: Michael L. Young Patches: func_math.patch uploaded by Billy Chia (license 6381) ........ Merged revisions 369970 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2012-07-11 18:33 +0000 [r369959] Jonathan Rose * include/asterisk/acl.h, channels/chan_sip.c, include/asterisk/config.h, main/acl.c, include/asterisk/channel.h, configs/manager.conf.sample, channels/chan_iax2.c, CHANGES, main/named_acl.c (added), main/config.c, main/loader.c, configs/iax.conf.sample, main/manager.c, include/asterisk/event_defs.h, configs/extconfig.conf.sample, configs/sip.conf.sample, channels/sip/include/sip.h, main/asterisk.c, configs/acl.conf.sample (added): Named ACLs: Introduces a system for creating and sharing ACLs This patch adds Named ACL functionality to Asterisk. This allows system administrators to define an ACL and refer to it by a unique name. Configurable items can then refer to that name when specifying access control lists. It also includes updates to all core supported consumers of ACLs. That includes manager, chan_sip, and chan_iax2. This feature is based on the deluxepine-trunk by Olle E. Johansson and provides a subset of the Named ACL functionality implemented in that branch. For more information on this feature, see acl.conf and/or the Asterisk wiki. Review: https://reviewboard.asterisk.org/r/1978/ 2012-07-11 17:16 +0000 [r369940] Tilghman Lesher * /, main/ast_expr2.h, main/ast_expr2f.c, res/ael/ael_lex.c, funcs/func_realtime.c, main/ast_expr2.c: Allow the REALTIME() function to report errors back to the caller. Also, do more error checking on the arguments specified to the REALTIME() function and clarify the documentation. While I was editing the file, a few coding guidelines fixups, as well. Review: https://reviewboard.asterisk.org/r/2031/ ........ Merged revisions 369937 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369938 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-07-11 17:14 +0000 [r369939] Matthew Jordan * main/features.c: Don't perform an XInclude to a document node that may not always be present Because some of the manager events are defined in the top of the source, due to the macro calls not containing all necessary information to have the documentation colocated with the call itself, several include statements were failing when built with 'make'. While this did not cause any problems in compilation or validation, it did result in a number of warnings being dumped to stderr. This patch changes those references such that they always resolve, regardless of the documentation build options. 2012-07-11 16:42 +0000 [r369936] Joshua Colp * channels/chan_motif.c: Do not consider failure to read the configuration file in chan_motif to be a show stopper for loading Asterisk by returning decline instead of failure. (closes issue ASTERISK-20103) Reported by: Terry Wilson 2012-07-11 02:06 +0000 [r369905-369910] Matthew Jordan * main/cdr.c, main/channel.c, channels/sig_analog.c, main/logger.c, channels/sig_pri.c, main/asterisk.c, main/loader.c: Fix validation errors when producing documentation using default build script The awk script parses out the first instance of the DOCUMENTATION tag that it finds within a file. If a file did not previously have a DOCUMENTATION tag but received one due to it having an AMI event, then the XML fragment associated with the AMI event was erroneously placed in the resulting XML file. Without the python scripts, these XML fragments will not validate. This patch adds DOCUMENTATION tags at the top of those files that did not previously have them to prevent the awk script from pulling AMI event documentation. * main/cdr.c, main/channel.c, channels/chan_dahdi.c, main/pbx.c, channels/chan_local.c, channels/sig_analog.c, main/manager.c, channels/chan_agent.c, main/features.c, main/logger.c, channels/sig_pri.c, doc/appdocsxml.dtd, main/asterisk.c, main/loader.c: Add some additional documentation for core AMI events This patch adds some basic documentation for a number of modules. This includes core source files in Asterisk (those in main), as well as chan_agent, chan_dahdi, chan_local, sig_analog, and sig_pri. The DTD has also been updated to allow referencing of AMI commands. 2012-07-10 15:36 +0000 [r369900] Kinsey Moore * channels/chan_sip.c: Fix failing SDP_offer_answer test Asterisk now generates image stream declinations with the same transport case that it used to before the stream declination improvements. (udptl vs UDPTL) (closes issue SWP-4736) 2012-07-10 15:25 +0000 [r369873-369898] Joshua Colp * channels/chan_motif.c: Add additional description stanza names from the old Google Talk protocol which is used with Google Voice. (closes issue ASTERISK-20114) Reported by: Malcolm Davenport * channels/chan_motif.c: Respect codec preference order when adding codecs to a media description. This change allows an endpoint in motif.conf to be configured with a preference of G.722 and fallback of ulaw. With Google this allows communication with Google Talk clients to use G.722 while when using Google Voice ulaw will be used. (closes issue ASTERISK-20114) Reported by: Malcolm Davenport 2012-07-10 13:40 +0000 [r369872] Kinsey Moore * main/pbx.c, /, apps/app_stack.c: Improve Goto and GotoIf related documentation Correct documentation on labeliftrue and labeliffalse parameters of GotoIf() and update several other locations that use the same syntax. (closes issue ASTERISK-20007) Patch-by: Leif Madsen Reported-by: WIMPy ........ Merged revisions 369869 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369871 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-07-10 13:34 +0000 [r369870] Matthew Jordan * main/libasteriskssl.c: Fix initial loading problem with res_curl When the OpenSSL duplicate initialization issues were resolved in r351447, res_curl could fail to load if it checked SSL_library_init after SSL initialization completed. This is due to the SSL_library_init stub returning a value of 0 for success, as opposed to a value of 1. OpenSSL uses a value of 1 to indicate success - in fact, SSL_library_init is documented to always return 1. Interestingly, the CURL libraries actually checked the return value - the fact that nothing else that depends on OpenSSL was having problems loading probably means they don't check the return value. (closes issue AST-924) Reported by: Guenther Kelleter patches: (AST-924.patch license #6372 uploaded by Guenther Kelleter) 2012-07-10 11:49 +0000 [r369837-369864] Joshua Colp * res/res_rtp_asterisk.c, channels/chan_motif.c: Add required items for Google video support. This adds legacy STUN support for RTCP sockets, adds RTCP candidates to the Google transport information, and adds required codec parameters. (closes issue ASTERISK-20106) Reported by: Malcolm Davenport * main/stun.c: When receiving a STUN binding request send one out as the Google Talk client uses this as a method to determine if the remote party is still reachable or not. Failure to do this results in the Google Talk client ignoring RTP packets after a specific period of time. This is also done as a result of receiving a STUN binding request so that the username information can be used from the inbound request, thus not requiring it to be stored on a per candidate basis. (closes issue ASTERISK-20107) Reported by: Malcolm Davenport * channels/chan_sip.c: Add support for exposing the received contact URI and also for setting the request URI in messages. (closes issue AST-911) * channels/chan_motif.c: Force the clock rate of G.722 to be 16000 when using the Google transports as it is 8000 elsewhere. (closes issue ASTERISK-20105) Reported by: Malcolm Davenport * configs/motif.conf.sample: Document that multiple endpoints using the same connection is not supported. (closes issue ASTERISK-20104) Reported by: Malcolm Davenport 2012-07-09 17:07 +0000 [r369820] Jason Parker * configs/sip_notify.conf.sample, /: Add Digium phones context to sip_notify sample config. This makes it so that they can be reconfigured remotely. (closes issue ASTERISK-19910) ........ Merged revisions 369818 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369819 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-07-09 16:44 +0000 [r369811-369817] Joshua Colp * res/res_rtp_asterisk.c: Fix an issue where media would not flow for situations where the legacy STUN code is in use. The STUN packets should *not* be blocked by strict RTP. (closes issue ASTERISK-20102) Reported by: Malcolm Davenport * res/res_xmpp.c: Add additional namespaces for Google Talk which are used for the gmail client. (closes issue ASTERISK-20101) Reported by: Malcolm Davenport * channels/chan_motif.c: Fix dependency to be on res_xmpp. Long ago in a galaxy far far away it used to use res_jabber. 2012-07-09 14:54 +0000 [r369794] Jonathan Rose * /, channels/chan_sip.c: chan_sip: Fix small behavioral change accidentally introduced in r369750 When removing the warning for AST_CONTROL_FLASH from sip_indicate, I also inadvertently changed the return value, which would likely make the indication not be sent in audio. This fixes that while still removing the warning message. ........ Merged revisions 369792 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369793 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-07-07 17:06 +0000 [r369769] Joshua Colp * res/res_xmpp.exports.in (added), include/asterisk/xmpp.h, channels/chan_motif.c (added), UPGRADE.txt, channels/chan_gtalk.c, res/res_xmpp.c, CHANGES, res/res_jabber.c, configs/motif.conf.sample (added): Add a new unified Jingle, Google Jingle, and Google Talk channel driver written from scratch called chan_motif. This channel driver is a replacement for both chan_gtalk and chan_jingle but adds additional features not found in either. These features include full configuration reload, video, full codec support, bidirectional cause code mapping, hold, unhold, and ringing indication. It is also compliant with the current published Jingle and Google Jingle specifications. The original Google Talk protocol is also supported for Google Voice interoperability. You may ask yourself though where the name motif comes from... and I would say to you... music! motif: a perceivable or salient recurring fragment or succession of notes Sorta like a jingle! Review: https://reviewboard.asterisk.org/r/1917/ 2012-07-06 22:03 +0000 [r369765] Kinsey Moore * channels/chan_dahdi.c, channels/sig_analog.c, channels/chan_iax2.c, channels/sig_pri.c, channels/sig_ss7.c: Remove unnecessary generation of informational cause frames It is not necessary to generate information cause code frames on every protocol event that occurs. This removes all the instances where the frame was not conveying a cause code and was instead just conveying a protocol-specific message. This also corrects the generation of the message associated with disconnects for MFC/R2 to use the MFC/R2 specific text for the disconnect cause. 2012-07-06 21:28 +0000 [r369764] Jonathan Rose * /, channels/chan_sip.c: chan_sip: Add case for FLASH control frames so that we don't display a warning. chan_sip channels can receive flash control frames when connected to analog phones and possibly for other reasons. There really isn't a reason to warn when these frames are received, we can safely ignore them. Patches: dahdi_sip_flash.diff uploaded by Jonathan Rose (license 6182) ........ Merged revisions 369750 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369751 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-07-06 18:49 +0000 [r369710-369733] Mark Michelson * main/tcptls.c, /: Remove a superfluous and dangerous freeing of an SSL_CTX. The problem here is that multiple server sessions share a SSL_CTX. When one session ended, the SSL_CTX would be freed and set NULL, leaving the other sessions unable to function. The code being removed is superfluous because the SSL_CTX structures for servers will be properly freed when ast_ssl_teardown is called. (closes issue ASTERISK-20074) Reported by Trevor Helmsley Patches: ASTERISK-20074.diff uploaded by Mark Michelson (license #5049) Testers: Trevor Helmsley ........ Merged revisions 369731 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369732 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, main/bridging.c: Fix bridging thread leak. The bridge thread was exiting but was never being reaped using pthread_join(). This has been fixed now by calling pthread_join() in ast_bridge_destroy(). (closes issue ASTERISK-19834) Reported by Marcus Hunger Review: https://reviewboard.asterisk.org/r/2012 ........ Merged revisions 369708 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369709 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-07-06 14:32 +0000 [r369703] Joshua Colp * res/pjproject/pjnath/include/pjnath/ice_session.h, res/pjproject/pjnath/src/pjnath/ice_session.c: Import revision 4196 from pjproject trunk. Fix a crash issue when starting ICE connectivity checks and immediately destroying the ICE session. This was exposed by the SIP CCSS test. Full fix for this issue will be worked on as a medium to long term roadmap item. pjroject issue viewable at https://trac.pjsip.org/repos/ticket/1548 2012-07-05 21:36 +0000 [r369681] Matthew Jordan * res/res_stun_monitor.c, CHANGES: Add 'stun show status' command This patch adds a new CLI command, 'stun show status'. This command will show a table describing all known STUN servers and statuses. (closes issue ASTERISK-18046) Reported by: Jeremy Kister Tested by: Jeremy Kister patches: (stun-show-status-v4-trunk.patch license #6232 uploaded by Jeremy Kister) Review: https://reviewboard.asterisk.org/r/2001 2012-07-05 19:36 +0000 [r369677] Richard Mudgett * res/pjproject/pjmedia/include/pjmedia, res/pjproject/pjsip/include/pjsip, res/pjproject/pjlib/include/pj/compat, res/pjproject/pjmedia/include/pjmedia-codec: Make res/pjproject ignore more files. 2012-07-05 19:36 +0000 [r369676] Kinsey Moore * /, apps/app_voicemail.c: AST-2012-011: Resolve heap corruption issue with voicemail The heard and deleted arrays in the voicemail state structure were not handled properly following the memory leak fix in r354890 and a fix for an invalid free in r356797. This could result in accessing and writing into freed memory. The allocation for these arrays has been reworked to avoid the possibility of invalid frees, access of freed memory, and crashes that were occurring as a result of this. Locking around accesses and modifications of the voicemail state structure members dh_arraysize, heard, and deleted has been added to prevent simultaneous modification and access when IMAP storage is in use. If IMAP storage is not in use, this locking is not compiled in. Review: https://reviewboard.asterisk.org/r/1994/ (closes issue ASTERISK-19923) Reported by: Dan Delaney Tested by: Dan Delaney, Julian Yap Patches: vm_alloc_fix.diff uploaded by kmoore (license 6273) ........ Merged revisions 369652 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369653 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-07-05 19:32 +0000 [r369666-369673] Richard Mudgett * res/pjproject/pjsip/src/pjsip-ua, res/pjproject/pjsip-apps/src/ipjsystest/ipjsystest.xcodeproj, res/pjproject/pjnath/src/pjnath-test, res/pjproject/third_party/build/speex, res/pjproject/third_party/build/gsm/output, res/pjproject/pjmedia/include/pjmedia-codec, res/pjproject/third_party/build/baseclasses, res/pjproject/third_party/build/srtp, res/pjproject/pjsip-apps/src/samples, res/pjproject/pjlib-util/lib, res/pjproject/pjmedia/bin, res/pjproject/pjlib/include/pj++, res/pjproject/tests/pjsua/scripts-call, res/pjproject/third_party/srtp/doc, res/pjproject/pjsip-apps/src/pocketpj/output, res/pjproject/pjnath/bin, res/pjproject/third_party/srtp/crypto/replay, res/pjproject/pjsip/include/pjsip, res/pjproject/third_party/build/speex/speex, res/pjproject/build.symbian, res/pjproject/third_party/bin, res/pjproject/pjsip/src/pjsua-lib, res/pjproject/third_party/srtp/include, res/pjproject/third_party/portaudio/doc, res/pjproject/lib, res/pjproject/pjmedia/include/pjmedia-videodev, res/pjproject/pjlib/bin, res/pjproject/third_party/srtp/crypto/cipher, res/pjproject/third_party/build/speex/output, res/pjproject/pjlib-util/src/pjlib-util, res/pjproject/third_party/portaudio/test, res/pjproject/third_party/build/gsm, res/pjproject/third_party/portaudio/include, res/pjproject/pjsip-apps/src/pjsua_wince, res/pjproject/pjsip/include/pjsip-simple, res/pjproject/pjmedia/src/pjmedia-codec, res/pjproject/tests/pjsua, res/pjproject/pjsip-apps/src/pocketpj/res, res/pjproject/pjsip-apps/src/3rdparty_media_sample, res/pjproject/third_party/gsm/inc, res/pjproject/pjsip-apps/build/wince-evc4, res/pjproject/pjsip-apps/src/ipjsua/Resources-iPad, res/pjproject/third_party/portaudio/src/hostapi, res/pjproject/third_party/portaudio/build, res/pjproject/build, res/pjproject/third_party/build/resample, res/pjproject/third_party/speex/include, res/pjproject/pjsip/src/pjsip, res/pjproject/pjlib/build/wince-evc4, res/pjproject/pjsip-apps/src/symbian_ua_gui/group, res/pjproject/pjsip-apps/src/symbian_ua, res/pjproject/tests/pjsua/wavs, res/pjproject/third_party/portaudio/src/os/win, res/pjproject/pjsip-apps/src/ipjsua/Classes, res/pjproject/pjmedia/include/pjmedia, res/pjproject/tests/pjsua/scripts-sendto, res/pjproject/third_party/gsm/src, res/pjproject/third_party/portaudio/build/msvc, res/pjproject/pjsip-apps/src/confbot, res/pjproject/pjnath/src/pjturn-client, res/pjproject/pjlib-util/build/output, res/pjproject/third_party/BaseClasses, res/pjproject/third_party/portaudio/src/hostapi/wasapi, res/pjproject/third_party/portaudio/src/hostapi/wdmks, res/pjproject/pjlib/src/pj/compat, res/pjproject/third_party/srtp/crypto/include, res/pjproject/third_party/speex/include/speex, res/pjproject/third_party/gsm/add-test, res/pjproject/pjsip/build, res/pjproject/pjsip-apps/src/pjsua_wince/output, res/pjproject/third_party/gsm/lib, res/pjproject/pjsip, res/pjproject/pjsip-apps/src/pjsystest, res/pjproject/third_party/portaudio/src, res/pjproject/third_party/speex/libspeex, res/pjproject/pjsip/build/wince-evc4/output, res/pjproject/pjlib-util/src/pjlib-util-test, res/pjproject/pjsip-apps/src/symsndtest, res/pjproject/third_party/srtp/tables, res/pjproject/third_party/g7221, res/pjproject/pjmedia/include, res/pjproject/pjlib/include/pj, res/pjproject/third_party/build/portaudio/output, res/pjproject/pjsip-apps/bin, res/pjproject/pjsip-apps/src/ipjsua/ipjsua.xcodeproj, res/pjproject/pjsip-apps/src/pjsua, res/pjproject/third_party/srtp/test, res/pjproject/pjsip/include/pjsip-ua, res/pjproject/third_party/resample, res/pjproject/third_party/build/ilbc, res/pjproject/pjmedia/src/pjmedia-audiodev, res/pjproject/pjsip-apps/src/ipjsua, res/pjproject/third_party/srtp/srtp, res/pjproject/third_party/build/milenage, res/pjproject/pjmedia/src/pjmedia, res/pjproject/pjlib-util, res/pjproject/third_party/portaudio/src/common, res/pjproject/third_party/portaudio/bindings/cpp, res/pjproject/pjlib-util/build/wince-evc4/output, res/pjproject/third_party/srtp/crypto/kernel, res/pjproject/tests/pjsua/scripts-pres, res/pjproject/pjnath, res/pjproject/pjsip/build/output, res/pjproject/pjsip-apps/build/output, res/pjproject/pjsip-apps/build, res/pjproject/tests/automated, res/pjproject/pjnath/build/wince-evc4/output, res/pjproject/third_party/portaudio/src/hostapi/asio, res/pjproject/pjnath/include/pjnath, res/pjproject/pjsip/src/test, res/pjproject/pjsip-apps/src/symbian_ua_gui/gfx, res/pjproject/pjsip/bin, res/pjproject/third_party/build/portaudio, res/pjproject/pjlib/build/output, res/pjproject/pjmedia/src, res/pjproject/pjlib/src/pj, res/pjproject/pjlib, res/pjproject/pjlib/build/wince-evc4/output, res/pjproject/pjmedia/src/test/vectors, res/pjproject/third_party/portaudio/src/hostapi/jack, res/pjproject/pjmedia/src/pjmedia-codec/g722, res/pjproject/third_party/portaudio/src/hostapi/coreaudio, res/pjproject/pjmedia/build/output, res/pjproject/pjlib-util/include/pjlib-util, res/pjproject/third_party/portaudio/src/hostapi/asihpi, res/pjproject/third_party/milenage, res/pjproject/pjnath/src, res/pjproject/tests/pjsua/scripts-run, res/pjproject/pjlib-util/build/wince-evc4, res/pjproject/pjmedia/lib, res/pjproject/pjmedia/src/test, res/pjproject/third_party/speex/symbian, res/pjproject/third_party/speex/win32, res/pjproject/third_party/srtp/crypto/test, res/pjproject/pjlib-util/bin, res/pjproject/third_party/portaudio/build/scons, res/pjproject/tests/cdash, res/pjproject/tests/pjsua/scripts-media-playrec, res/pjproject/third_party/build/portaudio/src, res/pjproject/pjlib/src, res/pjproject/third_party/mp3, res/pjproject/pjnath/lib, res/pjproject/third_party/build/g7221, res/pjproject/third_party/gsm/man, res/pjproject/third_party/portaudio/src/os/unix, res/pjproject/third_party/portaudio/bindings, res/pjproject/pjsip-apps/src/python, res/pjproject/pjnath/src/pjnath, res/pjproject/third_party/lib, res/pjproject/third_party/portaudio/src/os/mac_osx, res/pjproject/third_party/srtp/crypto/ae_xfm, res/pjproject/pjsip-apps/bin/samples, res/pjproject/pjnath/src/pjturn-srv, res/pjproject/third_party/portaudio/pablio, res/pjproject/pjlib/lib, res/pjproject/third_party/g7221/decode, res/pjproject/pjlib/include/pj/compat, res/pjproject/third_party/gsm, res/pjproject/third_party/build/baseclasses/output, res/pjproject/third_party/build/srtp/output, res/pjproject/third_party/srtp, res/pjproject/pjnath/build, res/pjproject/tests/pjsua/scripts-sipp, res/pjproject/pjsip-apps, res/pjproject/pjnath/build/wince-evc4, res/pjproject/third_party/srtp/crypto/rng, res/pjproject/pjsip/build/wince-evc4, res/pjproject/pjsip-apps/build/wince-evc4/output, res/pjproject/third_party/gsm/tst, res/pjproject/third_party/portaudio/src/hostapi/dsound, res/pjproject/third_party/portaudio/testcvs, res/pjproject/pjsip-apps/src/ipjsystest/Classes, res/pjproject/pjlib/build, res/pjproject/third_party/portaudio, res/pjproject/third_party/portaudio/src/hostapi/wmme, res/pjproject/pjlib-util/docs, res/pjproject/pjmedia/include/pjmedia-audiodev, res/pjproject/pjsip-apps/src/vidgui, res/pjproject/pjlib/src/pjlib-test, res/pjproject/pjsip-apps/src/py_pjsua, res/pjproject/third_party/portaudio/src/os, res/pjproject/pjsip/include, res/pjproject/pjmedia/build/wince-evc4, res/pjproject/pjmedia/src/pjmedia-videodev, res/pjproject/pjsip-apps/src, res/pjproject/third_party/speex, res/pjproject/third_party/gsm/tls, res/pjproject/third_party/g7221/common, res/pjproject/tests/pjsua/tools, res/pjproject/third_party/resample/include, res/pjproject/third_party/build/samplerate/output, res/pjproject/third_party/build/samplerate, res/pjproject/third_party/gsm/bin, res/pjproject/pjsip/src/pjsip-simple, res/pjproject/third_party/g7221/encode, res/pjproject/pjlib/src/pjlib-samples, res/pjproject/pjsip-apps/lib, res/pjproject/pjsip-apps/src/ipjsystest, res/pjproject/pjlib-util/include, res/pjproject/third_party/build/resample/output, res/pjproject/third_party/build/ilbc/output, res/pjproject/third_party/srtp/crypto, res/pjproject/pjsip-apps/src/python/samples, res/pjproject/tests, res/pjproject/pjsip-apps/src/symbian_ua_gui/sis, res/pjproject/pjnath/include, res/pjproject/pjsip-apps/src/symbian_ua_gui, res/pjproject/pjmedia/build, res/pjproject/pjmedia, res/pjproject/third_party/build/milenage/output, res/pjproject/pjlib-util/build, res/pjproject/pjsip/src, res/pjproject/pjmedia/build/wince-evc4/output, res/pjproject/third_party/portaudio/src/hostapi/alsa, res/pjproject/pjsip-apps/docs, res/pjproject/pjsip-apps/src/symbian_ua_gui/inc, res/pjproject/pjsip-apps/src/symbian_ua_gui/data, res/pjproject/tests/pjsua/scripts-pesq, res/pjproject/third_party/srtp/pjlib, res/pjproject/pjlib/include, res/pjproject/pjnath/build/output, res/pjproject/third_party/srtp/crypto/hash, res/pjproject/build/vs, res/pjproject/pjlib/docs, res/pjproject/third_party/build, res/pjproject/third_party/resample/src, res/pjproject/third_party, res/pjproject/pjlib/src/pjlib++-test, res/pjproject/third_party/build/g7221/output, res/pjproject/third_party/srtp/crypto/math, res/pjproject/pjsip/lib, res/pjproject/pjsip-apps/src/pocketpj, res/pjproject/tests/pjsua/scripts-recvfrom, res/pjproject/third_party/portaudio/build/dev-cpp, res/pjproject/pjsip/include/pjsua-lib, res/pjproject/pjsip-apps/src/symbian_ua_gui/src, res/pjproject, res/pjproject/third_party/portaudio/src/hostapi/oss, res/pjproject/pjlib-util/src, res/pjproject/third_party/ilbc: Make res/pjproject ignore some generated files. * include/asterisk/utils.h: Tweak some comments and whitespace in utils.h 2012-07-05 18:11 +0000 [r369644] Jonathan Rose * apps/app_mixmonitor.c: app_mixmonitor: Fix a reference leak in manager_mixmonitor function Manager_mixmonitor included an early return on failed executions of mixmonitor that would result in a leaked channel reference. (closes issue ASTERISK-19943) Reported by: Mark Murawski Patches: mixmonitor-trunk-368394.patch uploaded by Mark Murawski (license 5791) 2012-07-05 17:03 +0000 [r369628] Matthew Jordan * /, channels/chan_sip.c: Do not send a BYE when a provisional response arrives during a re-INVITE Commits r369557 and r369579 were done to improve handling of re-INVITEs when the UA that was supposed to receive the re-INVITE fails to respond. A limitation of those patches occurred when a UA sent a provisional response to the re-INVITE. This triggered a sending of a BYE in check_pending. This patch tweaks the handling of the re-INVITE such that a BYE is not sent in response to those messages. (issue ASTERISK-19992) Reported by: Steve Davies Tested by: Steve Davies patches: (reinvite_tweak.diff license #5012 by Steve Davies) ........ Merged revisions 369626 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369627 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-07-05 11:42 +0000 [r369602-369620] Alexandr Anikin * addons/ooh323c/src/ooCmdChannel.c, addons/ooh323c/src/ooStackCmds.c, addons/ooh323c/src/ooq931.c: Fix dev mode ooh323 warnings * addons/chan_ooh323.c, addons/ooh323c/src/ooq931.h, addons/ooh323c/src/ooCalls.h, configs/chan_ooh323.conf.sample (removed), addons/ooh323c/src/ooh323ep.c, CHANGES, configs/ooh323.conf.sample (added), addons/ooh323c/src/ooLogChan.c, addons/ooh323c/src/ooStackCmds.c, addons/ooh323c/src/ooh323.c, addons/ooh323c/src/ooLogChan.h, addons/ooh323c/src/ooStackCmds.h, addons/ooh323c/src/ooh245.c, addons/ooh323cDriver.c, addons/ooh323c/src/ooh245.h, addons/ooh323c/src/ooCmdChannel.c, addons/ooh323c/src/ooq931.c: Added direct media support to ooh323 channel driver options are documented in config sample sample config rename to proper name - ooh323.conf To change media address ooh323 send empty TCS if there was completed TCS exchange or send facility forwardedelements with new fast start proposal if not. Then close transmit logical channels and renew TCS exchange. If new fast start proposal is received then ooh323 stack call back channel driver routine to change rtp address in the rtp instance. If empty TCS is received then close transmit logical channels and renew TCS exchange Review: https://reviewboard.asterisk.org/r/1607/ * addons/ooh323cDriver.c: fix small mistake in the previous * addons/ooh323c/src/ooTimer.c, addons/ooh323c/src/ooCapability.c, addons/ooh323c/src/decode.c, addons/ooh323c/src/perutil.c, addons/ooh323cDriver.c, addons/ooh323c/src/ooSocket.c, addons/ooh323c/src/ooq931.c: Fix modern gcc warning Review: https://reviewboard.asterisk.org/r/1767 2012-07-03 17:07 +0000 [r369559-369581] Terry Wilson * /, channels/chan_sip.c: More improvements to re-INVITEs timing out after a provisional response There is no need to call check_pendings() on a final response to an INVITE when destroying the scheduler entry as it will be done later during normal processing. (issue ASTERISK-19992) ........ Merged revisions 369579 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369580 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, channels/chan_sip.c, channels/sip/include/sip.h: Better handle re-INVITEs with provisional but no final repsonses A previous attempt at fixing this issue had negative side effects related to attended transfers which this patch should resolve. Many thanks to Steve Davies for all of the good suggestions and testing. (closes issue ASTERISK-19992) Reported by: Steve Davies Tested by: Steve Davies, Terry Wilson Review: https://reviewboard.asterisk.org/r/2009/ ........ Merged revisions 369557 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369558 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-07-02 14:06 +0000 [r369517-369527] Joshua Colp * configs/xmpp.conf.sample (added), include/asterisk/xmpp.h (added), configs/cli_aliases.conf.sample, res/res_xmpp.c (added): Add a cleaned up drop-in replacement for res_jabber called res_xmpp. This provides the same externally facing functionality but is implemented differently internally. This is currently not built by default but this will be changed once chan_jingle2 (insert actual name in your head when reading this after it has been merged) is in the tree. Review: https://reviewboard.asterisk.org/r/1983/ * res/res_rtp_asterisk.c: Ensure the timer heap is protected by a lock. * res/pjproject/pjlib/include/pj/config_site.h: Enable IPv6 support in pjproject. * res/res_rtp_asterisk.c: Don't try to send connectivity checks on RTCP if RTCP is no longer present and don't do multiple ICE connectivity checks at once. * res/pjproject/pjlib/src/pj/sock_qos_common.c (added), res/pjproject/pjlib-util/src/pjlib-util/crc32.c (added), res/pjproject/pjsip/src/pjsip-simple/xpidf.c (added), res/pjproject/third_party/gsm/src/gsm_implode.c (added), res/pjproject/tests/pjsua/scripts-sipp/uas-cancel-no-final.xml (added), res/pjproject/build.symbian/pjmedia.mmp (added), res/pjproject/third_party/build/portaudio/src/pa_hostapi.h (added), res/pjproject/pjlib/src/pjlib-test/fifobuf.c (added), res/pjproject/pjlib/src/pj/file_access_unistd.c (added), res/pjproject/third_party/gsm/src/toast_ulaw.c (added), res/pjproject/pjsip/include/pjsip/sip_transport_tls.h (added), res/pjproject/pjsip/include/pjsip/sip_multipart.h (added), res/pjproject/pjmedia/src/pjmedia/errno.c (added), res/pjproject/pjsip-apps/src/pjsua_wince/pjsua_wince.vcp (added), res/pjproject/third_party/speex/COPYING (added), res/pjproject/pjlib/src/pj/os_core_darwin.m (added), res/pjproject/third_party/ilbc/packing.c (added), res/pjproject/third_party/build/portaudio/src/pa_mac_core_internal.h (added), res/pjproject/tests/pjsua/scripts-sendto/300_srtp_receive_crypto_tag_zero.py (added), res/pjproject/third_party/ilbc/packing.h (added), res/pjproject/pjlib/src/pj/pool_caching.c (added), res/pjproject/pjnath/include/pjnath/errno.h (added), res/pjproject/pjmedia/include/pjmedia-codec/h264_packetizer.h (added), res/pjproject/pjmedia/include/pjmedia/sdp_neg.h (added), res/pjproject/third_party/speex/libspeex/lsp_bfin.h (added), res/pjproject/third_party/portaudio/aclocal.m4 (added), res/pjproject/third_party/mp3/mp3_port.h (added), res/pjproject/third_party/BaseClasses/ctlutil.cpp (added), res/pjproject/pjsip-apps/src/pocketpj/PocketPJDlg.cpp (added), res/pjproject/tests/pjsua/scripts-recvfrom/240_publish_scenarios.py (added), res/pjproject/README-RTEMS (added), res/pjproject/third_party/build/portaudio/output (added), res/pjproject/pjsip-apps/build/Makefile (added), res/pjproject/tests/pjsua/scripts-sipp/prack_fork.xml (added), res/pjproject/pjlib-util/src/pjlib-util-test/stun.c (added), res/pjproject/pjlib-util/src/pjlib-util/dns_dump.c (added), res/pjproject/pjmedia/include/pjmedia/circbuf.h (added), res/pjproject/pjlib/build/os-darwinos.mak (added), res/pjproject/third_party/srtp/test/rtpw.c (added), res/pjproject/tests/pjsua/scripts-sipp/uas-answer-180-multiple-fmts.xml (added), res/pjproject/third_party/srtp/crypto/include/cryptoalg.h (added), res/pjproject/third_party/portaudio/bindings/cpp (added), res/pjproject/tests/pjsua/scripts-sipp/uas-answer-200-reinvite-without-sdp.xml (added), res/pjproject/third_party/portaudio/configure.in (added), res/pjproject/pjmedia/include/pjmedia-codec/g722.h (added), res/pjproject/pjsip-apps/src/vidgui/pj-pkgconfig.mak (added), res/pjproject/pjmedia/include/pjmedia-codec/speex.h (added), res/pjproject/config.guess (added), res/pjproject/tests/cdash/cfg_site_sample.py (added), res/pjproject/third_party/portaudio/src/common/pa_skeleton.c (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiSettingItemList.hrh (added), res/pjproject/third_party/srtp/test/getopt_s.c (added), res/pjproject/pjmedia/src/pjmedia-codec/g722 (added), res/pjproject/tests/pjsua/scripts-pesq/201_codec_g722.py (added), res/pjproject/pjnath/src/pjturn-client/client_main.c (added), res/pjproject/third_party/gsm/src/short_term.c (added), res/pjproject/build.symbian/libg7221codec.mmp (added), res/pjproject/pjmedia/src/pjmedia/wsola.c (added), res/pjproject/pjlib-util/include/pjlib-util/hmac_sha1.h (added), res/pjproject/pjlib/include/pj++/list.hpp (added), res/pjproject/third_party/ilbc/anaFilter.c (added), res/pjproject/third_party/mp3 (added), res/pjproject/pjmedia/src/pjmedia/tonegen.c (added), res/pjproject/pjsip-apps/src/samples/stateful_proxy.c (added), res/pjproject/third_party/ilbc/anaFilter.h (added), res/pjproject/pjsip-apps/src/symsndtest/app_main.cpp (added), res/pjproject/pjsip-apps/src/pocketpj/SettingsDlg.cpp (added), res/pjproject/tests/pjsua/scripts-sipp/uas-invite.xml (added), res/pjproject/third_party/g7221/encode/sam2coef.c (added), res/pjproject/pjlib/src/pj/compat/string.c (added), res/pjproject/pjlib/include/pj/compat/cc_gcce.h (added), res/pjproject/pjlib/include/pj/config_site_sample.h (added), res/pjproject/third_party/build/srtp/output (added), res/pjproject/tests/pjsua/scripts-pesq/200_codec_speex_8000.py (added), res/pjproject/tests/pjsua/scripts-sipp/uac-options.xml (added), res/pjproject/third_party/ilbc/iCBConstruct.c (added), res/pjproject/tests/pjsua/scripts-sendto/153_err_sdp_unsupported_codec.py (added), res/pjproject/pjsip/build/wince-evc4 (added), res/pjproject/third_party/ilbc/iCBConstruct.h (added), res/pjproject/pjsip-apps/src/py_pjsua/py_pjsua.def (added), res/pjproject/pjnath/build/pjstun_srv_test.vcproj (added), res/pjproject/pjlib/src/pjlib-test/util.c (added), res/pjproject/pjmedia/include/pjmedia-audiodev (added), res/pjproject/pjlib/src/pj/ctype.c (added), res/pjproject/third_party/ilbc/enhancer.c (added), res/pjproject/pjsip-apps/src/py_pjsua (added), res/pjproject/third_party/speex/libspeex/modes_wb.c (added), res/pjproject/third_party/gsm/tst/gsm2cod.c (added), res/pjproject/third_party/ilbc/enhancer.h (added), res/pjproject/pjsip-apps/src (added), res/pjproject/build/m-arm.mak (added), res/pjproject/third_party/gsm/src/add.c (added), res/pjproject/pjsip/src/pjsip/sip_parser_wrap.cpp (added), res/pjproject/pjlib/src/pj/timer_symbian.cpp (added), res/pjproject/pjsip-apps/src/vidgui/vidwin.cpp (added), res/pjproject/pjlib/include/pj/pool_buf.h (added), res/pjproject/third_party/g7221/encode (added), res/pjproject/pjmedia/src/pjmedia-audiodev/wmme_dev.c (added), res/pjproject/tests/pjsua/scripts-call/300_ice_1_0.py (added), res/pjproject/tests/pjsua/config_site.py (added), res/pjproject/pjsip-apps/src/pjsua/main.c (added), res/pjproject/pjlib/src/pj/os_timestamp_posix.c (added), res/pjproject/pjmedia/include/pjmedia-videodev/videodev_imp.h (added), res/pjproject/tests/pjsua/scripts-recvfrom/230_reg_bad_fail_stale_true.py (added), res/pjproject/third_party/srtp/config.h_win32vc7 (added), res/pjproject/tests/pjsua/scripts-pesq (added), res/pjproject/tests/pjsua/scripts-sipp/uas-reinv-glare.xml (added), res/pjproject/pjmedia/src/pjmedia/dummy.c (added), res/pjproject/tests/pjsua/scripts-recvfrom/209c_reg_handle_423_bad_min_expires2.py (added), res/pjproject/pjlib/include/pj++/hash.hpp (added), res/pjproject/pjmedia/include/pjmedia-audiodev/audiodev_imp.h (added), res/pjproject/tests/pjsua/scripts-sendto/401_fmtp_g7221_with_bitrate_24000.py (added), res/pjproject/pjsip-apps/src/pjsua/pjsua_app.c (added), res/pjproject/pjsip-apps/src/samples/stereotest.c (added), res/pjproject/build.symbian/pjstun_client.mmp (added), res/pjproject/pjsip-apps/src/pjsua_wince/pjsua_wince.cpp (added), res/pjproject/pjsip-apps/src/ipjsua/Classes/FirstViewController.h (added), res/pjproject/pjlib-util/lib (added), res/pjproject/pjsip-apps/src/samples (added), res/pjproject/pjsip-apps/src/ipjsua/Classes/FirstViewController.m (added), res/pjproject/tests/pjsua/scripts-call/150_srtp_1_1.py (added), res/pjproject/pjmedia/include/pjmedia/vid_stream.h (added), res/pjproject/pjsip/src/pjsip/sip_dialog.c (added), res/pjproject/pjlib/include/pj/compat/cc_armcc.h (added), res/pjproject/third_party/build/speex/speex (added), res/pjproject/third_party/bin (added), res/pjproject/pjsip/build/Makefile (added), res/pjproject/pjlib-util/include/pjlib-util/stun_simple.h (added), res/pjproject/pjsip/src/pjsip/sip_util_proxy_wrap.cpp (added), res/pjproject/pjlib/include/pj/compat/m_m68k.h (added), res/pjproject/third_party/srtp/srtp.def (added), res/pjproject/pjlib/src/pjlib-test/rand.c (added), res/pjproject/third_party/build/gsm/config.h (added), res/pjproject/pjmedia/include/pjmedia/avi.h (added), res/pjproject/tests/pjsua/scripts-sipp/uac-bad-ack.xml (added), res/pjproject/tests/pjsua/scripts-pesq/200_codec_gsm.py (added), res/pjproject/pjsip/src/pjsip-ua/sip_reg.c (added), res/pjproject/pjsip/build/wince-evc4/pjsip_ua_wince.vcp (added), res/pjproject/pjsip/include/pjsip-ua/sip_regc.h (added), res/pjproject/tests/pjsua/mod_pesq.py (added), res/pjproject/pjnath/src/pjnath/ice_session.c (added), res/pjproject/pjlib-util/src/pjlib-util/scanner.c (added), res/pjproject/pjmedia/src/pjmedia-audiodev/audiodev.c (added), res/pjproject/pjsip-apps/src/confbot/confbot.py (added), res/pjproject/tests/pjsua/scripts-call/150_srtp_0_3.py (added), res/pjproject/pjsip-apps/src/3rdparty_media_sample/alt_pjsua_vid.c (added), res/pjproject/tests/pjsua/tools/cmp_wav.c (added), res/pjproject/tests/pjsua/scripts-sendto/320_srtp_with_unknown_media_2.py (added), res/pjproject/pjsip-apps/src/symbian_ua (added), res/pjproject/pjmedia/src/pjmedia-audiodev/alsa_dev.c (added), res/pjproject/third_party/portaudio/build/msvc (added), res/pjproject/pjmedia/src/pjmedia/sound_legacy.c (added), res/pjproject/third_party/ilbc/lsf.c (added), res/pjproject/pjsip/src/test/inv_offer_answer_test.c (added), res/pjproject/pjsip-apps/src/confbot (added), res/pjproject/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_utilities.c (added), res/pjproject/third_party/speex/libspeex/ltp_bfin.h (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/group/ABLD.BAT (added), res/pjproject/pjlib/src/pj/ioqueue_winnt.c (added), res/pjproject/third_party/ilbc/lsf.h (added), res/pjproject/third_party/speex/libspeex/lsp_tables_nb.c (added), res/pjproject/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_utilities.h (added), res/pjproject/third_party/portaudio/build/scons/SConscript_common (added), res/pjproject/pjmedia/include/pjmedia/frame.h (added), res/pjproject/pjmedia/src/pjmedia-codec/audio_codecs.c (added), res/pjproject/pjlib-util/src/pjlib-util/xml_wrap.cpp (added), res/pjproject/pjsip-apps/src/pocketpj/res/PocketPJ.rc2 (added), res/pjproject/third_party/build/portaudio/src/pa_mac_core_utilities.c (added), res/pjproject/pjmedia/include/pjmedia-audiodev/audiotest.h (added), res/pjproject/pjlib/src/pj/guid_win32.c (added), res/pjproject/pjlib/build/os-sunos.mak (added), res/pjproject/third_party/build/srtp/Makefile (added), res/pjproject/third_party/speex/libspeex/gain_table.c (added), res/pjproject/third_party/build/portaudio/src/pa_mac_core_utilities.h (added), res/pjproject/third_party/BaseClasses/wxlist.h (added), res/pjproject/tests/pjsua/scripts-sendto/122_sdp_with_unknown_dynamic_1.py (added), res/pjproject/tests/pjsua/scripts-sendto/001_torture_4475_3_1_1_5.py (added), res/pjproject/pjsip-apps/src/pjsua/gui.h (added), res/pjproject/third_party/srtp/crypto/test/auth_driver.c (added), res/pjproject/pjlib/include/pj/activesock.h (added), res/pjproject/pjlib/src/pjlib-test/exception.c (added), res/pjproject/pjlib/src/pjlib-test/main_rtems.c (added), res/pjproject/third_party/build/portaudio/src/pa_linux_alsa.c (added), res/pjproject/pjlib-util/src/pjlib-util/symbols.c (added), res/pjproject/pjlib/include/pj/types.h (added), res/pjproject/pjnath/src/pjnath/turn_sock.c (added), res/pjproject/pjlib-util/src/pjlib-util/resolver_wrap.cpp (added), res/pjproject/third_party/build/portaudio/src/pa_linux_alsa.h (added), res/pjproject/pjlib/include/pj/compat/errno.h (added), res/pjproject/tests/pjsua/scripts-recvfrom/100_simple.py (added), res/pjproject/pjsip-apps/src/ipjsystest/RootViewController.xib (added), res/pjproject/pjlib/build/wince-evc4/output (added), res/pjproject/pjlib/src/pjlib-test/echo_clt.c (added), res/pjproject/third_party/portaudio/src/os/unix/pa_unix_util.c (added), res/pjproject/pjsip/build/wince-evc4/pjsua_lib_wince.vcp (added), res/pjproject/svn_add (added), res/pjproject/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_old.c (added), res/pjproject/pjlib-util/build/wince-evc4 (added), res/pjproject/pjmedia/src/test (added), res/pjproject/third_party/srtp/crypto/test (added), res/pjproject/third_party/portaudio/src/os/unix/pa_unix_util.h (added), res/pjproject/tests/pjsua/scripts-media-playrec (added), res/pjproject/pjsip-apps/src/samples/vid_streamutil.c (added), res/pjproject/pkgconfig.py (added), res/pjproject/third_party/srtp/crypto/hash/sha1.c (added), res/pjproject/pjlib/src/pj/addr_resolv_sock.c (added), res/pjproject/pjnath/src/pjturn-srv (added), res/pjproject/pjmedia/include/pjmedia/wav_playlist.h (added), res/pjproject/pjsip/include/pjsip/sip_resolve.h (added), res/pjproject/pjmedia/src/pjmedia-codec/ilbc.c (added), res/pjproject/pjmedia/src/pjmedia/format.c (added), res/pjproject/pjsip/src/pjsip/sip_dialog_wrap.cpp (added), res/pjproject/third_party/speex/include/speex/speex_buffer.h (added), res/pjproject/pjmedia/src/pjmedia/transport_adapter_sample.c (added), res/pjproject/pjsip-apps/src/vidgui/vidwin.h (added), res/pjproject/pjlib/src/pjlib-test/main_symbian.cpp (added), res/pjproject/pjlib/docs/doxygen.css (added), res/pjproject/third_party/gsm/src/gsm_explode.c (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiContainer.hrh (added), res/pjproject/third_party/speex/libspeex/kiss_fftr.c (added), res/pjproject/pjlib/src/pj/addr_resolv_linux_kernel.c (added), res/pjproject/third_party/gsm/tst/lin2cod.c (added), res/pjproject/pjmedia/src/pjmedia-codec/l16.c (added), res/pjproject/third_party/speex/libspeex/kiss_fftr.h (added), res/pjproject/pjsip-apps/src/pocketpj/SettingsDlg.h (added), res/pjproject/third_party/resample/src/stddefs.h (added), res/pjproject/pjmedia/src/pjmedia/rtcp_xr.c (added), res/pjproject/pjsip-apps/src/vidgui/vidgui.cpp (added), res/pjproject/pjsip/src/pjsip/sip_resolve.c (added), res/pjproject/pjsip/src/test/transport_tcp_test.c (added), res/pjproject/tests/pjsua/scripts-sendto/121_sdp_with_video_static_2.py (added), res/pjproject/build.symbian/libpassthroughcodec.mmp (added), res/pjproject/third_party/srtp/crypto/rng/ctr_prng.c (added), res/pjproject/tests/pjsua/scripts-sipp/uas-subscribe-notify-terminate.xml (added), res/pjproject/third_party/portaudio/fixfile.bat (added), res/pjproject/pjsip/src/test/multipart_test.c (added), res/pjproject/pjsip-apps/lib (added), res/pjproject/third_party/portaudio/pablio/pablio.c (added), res/pjproject/pjmedia/src/pjmedia/rtp.c (added), res/pjproject/pjmedia/src/pjmedia/stereo_port.c (added), res/pjproject/pjsip/src/test/tsx_uas_test.c (added), res/pjproject/third_party/portaudio/pablio/pablio.h (added), res/pjproject/third_party/speex/libspeex/vq_bfin.h (added), res/pjproject/pjmedia/include/pjmedia/bidirectional.h (added), res/pjproject/third_party/BaseClasses/arithutil.cpp (added), res/pjproject/third_party/build/milenage/output (added), res/pjproject/pjlib-util/src/pjlib-util/http_client.c (added), res/pjproject/third_party/srtp/crypto/hash/hmac.c (added), res/pjproject/third_party/speex/libspeex/quant_lsp.c (added), res/pjproject/tests/pjsua/scripts-sipp/uas-forked-200.xml (added), res/pjproject/pjmedia/src/pjmedia/mem_player.c (added), res/pjproject/third_party/speex/libspeex/quant_lsp.h (added), res/pjproject/third_party/speex/libspeex/filters_bfin.h (added), res/pjproject/pjsip-apps/src/samples/confbench.c (added), res/pjproject/pjmedia/src/pjmedia/resample_resample.c (added), res/pjproject/third_party/build/g7221/output (added), res/pjproject/pjsip/src/test/regc_test.c (added), res/pjproject (added), res/pjproject/pjmedia/include/pjmedia-videodev/videodev.h (added), res/pjproject/pjsip-apps/build/Samples-vc.mak (added), res/pjproject/pjlib/include/pj++/tree.hpp (added), res/pjproject/pjmedia/src/pjmedia/g711.c (added), res/pjproject/pjlib/include/pj/guid.h (added), res/pjproject/pjlib/include/pj/compat/cc_codew.h (added), res/pjproject/pjmedia/src/pjmedia/echo_port.c (added), res/pjproject/pjlib/src/pj/activesock.c (added), res/pjproject/third_party/BaseClasses/msgthrd.h (added), res/pjproject/pjmedia/bin (added), res/pjproject/third_party/portaudio/build/dev-cpp/Makefile-dll (added), res/pjproject/pjmedia/src/test/main.c (added), res/pjproject/pjsip-apps/src/samples/invtester.c (added), res/pjproject/pjmedia/include/pjmedia/avi_stream.h (added), res/pjproject/pjsip/src/test/tsx_bench.c (added), res/pjproject/third_party/speex/libspeex/testdenoise.c (added), res/pjproject/third_party/portaudio/src/hostapi/dsound/pa_win_ds_dynlink.c (added), res/pjproject/third_party/portaudio/src/hostapi/dsound/pa_win_ds_dynlink.h (added), res/pjproject/pjsip-apps/src/samples/recfile.c (added), res/pjproject/pjsip/include/pjsip/sip_endpoint.h (added), res/pjproject/pjmedia/include/pjmedia_videodev.h (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui.rss (added), res/pjproject/pjmedia/src/pjmedia/splitcomb.c (added), res/pjproject/third_party/ilbc/iLBC_test.c (added), res/pjproject/pjmedia/src/pjmedia-codec/gsm.c (added), res/pjproject/third_party/srtp/srtp7.sln (added), res/pjproject/pjlib/src/pjlib-test/string.c (added), res/pjproject/pjlib/include/pj/compat/high_precision.h (added), res/pjproject/pjlib-util/src/pjlib-util/getopt.c (added), res/pjproject/pjlib/src/pjlib-samples/except.c (added), res/pjproject/pjmedia/build/pjmedia_audiodev.vcproj (added), res/pjproject/pjsip-apps/src/pocketpj/resource.h (added), res/pjproject/third_party/speex/libspeex/bits.c (added), res/pjproject/pjmedia/src/pjmedia-codec/passthrough.c (added), res/pjproject/third_party/portaudio/configure (added), res/pjproject/pjsip-apps/src/py_pjsua/pjsua_app.py (added), res/pjproject/pjlib-util/src/pjlib-util/pcap.c (added), res/pjproject/third_party/gsm/add-test (added), res/pjproject/tests/automated/symbian-vas.xml.template (added), res/pjproject/pjsip-apps/src/symsndtest (added), res/pjproject/tests/pjsua/scripts-call/150_srtp_3_1.py (added), res/pjproject/pjlib/include/pj/ioqueue.h (added), res/pjproject/tests/pjsua/scripts-pesq/100_defaults.py (added), res/pjproject/pjnath/build/Makefile (added), res/pjproject/pjnath/src/pjnath/errno.c (added), res/pjproject/pjlib/include/pj/list_i.h (added), channels/chan_sip.c, res/pjproject/pjmedia/include/pjmedia/vid_codec_util.h (added), res/pjproject/pjmedia/src/pjmedia/echo_internal.h (added), res/pjproject/pjmedia/src/pjmedia/sdp_wrap.cpp (added), res/pjproject/pjmedia/include/pjmedia/g711.h (added), res/pjproject/build/vs/pjproject-vs8-common-defaults.vsprops (added), res/pjproject/self-test.mak (added), res/pjproject/third_party/portaudio/pablio/test_rw.c (added), res/pjproject/tests/pjsua/scripts-sipp/uas-reinv-and-ack-without-sdp.xml (added), res/pjproject/pjlib-util/build/wince-evc4/output (added), res/pjproject/pjnath/src/pjnath/stun_transaction.c (added), res/pjproject/build/vs/pjproject-vs8-wm5-common-defaults.vsprops (added), res/pjproject/tests/pjsua/scripts-recvfrom/201_reg_good_ok.py (added), res/pjproject/pjsip/src/pjsip/sip_msg.c (added), res/pjproject/pjlib/src/pj/unicode_symbian.cpp (added), res/pjproject/tests/pjsua/scripts-call/150_srtp_2_3.py (added), res/pjproject/third_party/resample/src/smallfilter.h (added), res/pjproject/tests/pjsua/scripts-call/301_ice_public_a.py (added), res/pjproject/third_party/portaudio/src/common/pa_dither.c (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/group/Icons_aif_scalable_dc.mk (added), res/pjproject/third_party/srtp/Makefile.in (added), res/pjproject/third_party/portaudio/src/common/pa_dither.h (added), res/pjproject/pjmedia/src/pjmedia-codec/amr_sdp_match.c (added), res/pjproject/pjlib/src/pj/pool_dbg.c (added), res/pjproject/third_party/speex/libspeex/misc_bfin.h (added), res/pjproject/third_party/portaudio/src/hostapi/coreaudio (added), res/pjproject/pjlib/src/pj/file_io_win32.c (added), res/pjproject/pjlib-util/include/pjlib-util (added), res/pjproject/third_party/portaudio/build/msvc/portaudio.def (added), res/pjproject/third_party/speex/libspeex/smallft.c (added), res/pjproject/pjlib/include/pj/compat/string.h (added), res/pjproject/tests/pjsua/scripts-sendto/125_sdp_with_multi_audio_1.py (added), res/pjproject/third_party/speex/libspeex/smallft.h (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/application.uidesign (added), res/pjproject/tests/pjsua/scripts-sendto/320_srtp2_no_crypto.py (added), res/pjproject/pjlib/src (added), res/pjproject/pjsip/src/pjsip/sip_uri.c (added), res/pjproject/tests/pjsua/scripts-sendto/410_fmtp_amrnb_offer_octet_align.py (added), res/pjproject/pjsip/include/pjsua-lib/pjsua_internal.h (added), res/pjproject/pjlib/include/pj/os.h (added), res/pjproject/pjlib-util/include/pjlib-util/types.h (added), res/pjproject/third_party/build/samplerate/libsamplerate_static.dsp (added), res/pjproject/pjlib-util/include/pjlib-util/string.h (added), res/pjproject/pjlib/src/pj/sock_qos_wm.c (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/src/symbian_ua.cpp (added), res/pjproject/build/m-sparc.mak (added), res/pjproject/pjlib/src/pjlib-test/main.c (added), res/pjproject/third_party/gsm/man/gsm_option.3 (added), res/pjproject/tests/pjsua/scripts-recvfrom/205_reg_good_no_realm.py (added), res/pjproject/pjmedia/build/wince-evc4/pjmedia_test.vcp (added), res/pjproject/tests/pjsua/scripts-pesq/201_codec_l16_8000_stereo.py (added), res/pjproject/third_party/srtp/srtp/srtp.c (added), res/pjproject/third_party/srtp/crypto/Makefile.in (added), res/pjproject/pjsip/build/pjsip_core.vcproj (added), res/pjproject/pjlib/src/pj/config.c (added), res/pjproject/pjmedia/include/pjmedia-codec/audio_codecs.h (added), res/pjproject/pjlib/include/pj/compat/rand.h (added), res/pjproject/third_party/portaudio/src/os/win/pa_win_util.c (added), res/pjproject/third_party/portaudio (added), res/pjproject/pjmedia/include/pjmedia/transport_srtp.h (added), res/pjproject/pjsip-apps/src/ipjsystest/Classes/TestViewController.h (added), res/pjproject/third_party/srtp/crypto/math/math.c (added), res/pjproject/third_party/build/portaudio/src/pa_process.c (added), res/pjproject/pjsip-apps/src/ipjsystest/Classes/TestViewController.m (added), res/pjproject/tests/pjsua/scripts-pesq/200_codec_g722.py (added), res/pjproject/pjmedia/src/pjmedia-codec/h263_packetizer.c (added), res/pjproject/third_party/build/portaudio/src/pa_process.h (added), res/pjproject/third_party/portaudio/src/hostapi/alsa/pa_linux_alsa.c (added), res/pjproject/pjmedia/include/pjmedia-codec/ipp_codecs.h (added), res/pjproject/build.symbian/pjlib_util.mmp (added), res/pjproject/tests/pjsua/scripts-sipp/uas-subscribe-terminated-retry.xml (added), res/pjproject/pjlib-util/build/wince-evc4/pjlib_util_wince.vcp (added), res/pjproject/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_blocking.c (added), res/pjproject/pjlib/src/pj/sock_common.c (added), res/pjproject/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_blocking.h (added), res/pjproject/pjlib-util/build/wince-evc4/pjlib_util_wince.vcw (added), include/asterisk/rtp_engine.h, res/pjproject/tests/pjsua/scripts-sipp/uac-inv-two-media-but-one-disabled-no-rtpmap.xml (added), res/pjproject/pjsip/src/test/msg_test.c (added), res/pjproject/pjnath/src/pjnath/stun_msg_dump.c (added), res/pjproject/third_party/portaudio/build/dev-cpp/readme.txt (added), res/pjproject/pjmedia (added), res/pjproject/pjsip/src (added), res/pjproject/third_party/portaudio/testcvs/changeme.txt (added), res/pjproject/build/os-rtems.mak (added), res/pjproject/third_party/gsm/inc/unproto.h (added), res/pjproject/third_party/build/speex/libspeex.vcproj (added), res/pjproject/pjlib/include/pj/compat/ctype.h (added), res/pjproject/pjlib-util/src/pjlib-util/xml.c (added), res/pjproject/tests/automated/README.txt (added), res/pjproject/tests/pjsua/inc_cfg.py (added), res/pjproject/pjlib/src/pj/hash.c (added), res/pjproject/pjlib/src/pjlib-test/timer.c (added), res/pjproject/third_party/gsm/inc/toast.h (added), res/pjproject/pjnath/build/pjnath_test.vcproj (added), res/pjproject/pjsip-apps/build/get-footprint.py (added), res/pjproject/pjsip-apps/src/symsndtest/main_symbian.cpp (added), res/pjproject/pjlib-util/src/pjlib-util/dns.c (added), res/pjproject/tests/pjsua/mod_pres.py (added), res/pjproject/pjsip-apps/src/ipjsua/ipjsua-Info.plist (added), res/pjproject/pjnath/include/pjnath/config.h (added), res/pjproject/pjsip/include/pjsip/sip_ua_layer.h (added), res/pjproject/pjmedia/src/pjmedia-audiodev/null_dev.c (added), res/pjproject/third_party/srtp/include (added), res/pjproject/third_party/speex/libspeex/exc_20_32_table.c (added), res/pjproject/build/host-unix.mak (added), res/pjproject/pjmedia/src/pjmedia/alaw_ulaw.c (added), res/pjproject/tests/pjsua/scripts-sendto/323_srtp2_receive_too_long_key.py (added), res/pjproject/third_party/g7221/encode/dct4_a.c (added), res/pjproject/pjlib/src/pj/addr_resolv_symbian.cpp (added), res/pjproject/pjmedia/include/pjmedia-codec/types.h (added), res/pjproject/pjnath/include/pjnath/ice_strans.h (added), res/pjproject/pjlib/src/pj/ioqueue_linux_kernel.c (added), res/pjproject/third_party/g7221/encode/dct4_a.h (added), res/pjproject/third_party/speex/libspeex/vq_sse.h (added), res/pjproject/pjsip-apps/src/3rdparty_media_sample/alt_pjsua_aud.c (added), res/pjproject/pjlib-util/src/pjlib-util/hmac_sha1.c (added), res/pjproject/third_party/portaudio/src/hostapi/wasapi/pa_win_wasapi.cpp (added), res/pjproject/third_party/srtp/test/srtp_driver.c (added), res/pjproject/third_party/portaudio/src/hostapi/wmme/pa_win_wmme.c (added), res/pjproject/build.symbian/01.bat (added), res/pjproject/pjsip-apps/src/pocketpj/res (added), res/pjproject/third_party/srtp/crypto/VERSION (added), res/pjproject/pjsip-apps/src/symbian_ua/main_symbian.cpp (added), res/pjproject/third_party/portaudio/src/hostapi (added), res/pjproject/pjsip/src/pjsip/sip_util_statefull.c (added), res/pjproject/tests/cdash/main.py (added), res/pjproject/tests/pjsua/scripts-sendto/155_err_sdp_bad_syntax.py (added), res/pjproject/pjsip/src/pjsip-simple/iscomposing.c (added), res/pjproject/third_party/gsm/tst/cod2lin.c (added), res/pjproject/pjsip-apps/src/3rdparty_media_sample/config_site.h (added), res/pjproject/third_party/gsm/src (added), res/pjproject/pjmedia/src/pjmedia/codec.c (added), res/pjproject/third_party/portaudio/build/msvc/portaudio.sln (added), res/pjproject/third_party/build/portaudio/src/pa_win_wmme.c (added), res/pjproject/pjlib/src/pj/sock_bsd.c (added), res/pjproject/pjlib/src/pj/lock.c (added), res/pjproject/third_party/speex/libspeex/stereo.c (added), res/pjproject/pjsip-apps/src/symsndtest/symsndtest_reg.rss (added), res/pjproject/third_party/srtp/crypto/ae_xfm/xfm.c (added), res/pjproject/third_party/build/portaudio/src/pa_win_wmme.h (added), res/pjproject/pjsip-apps/src/pjsua_wince/newres.h (added), res/pjproject/pjlib-util/docs/doxygen.cfg (added), res/pjproject/build/m-powerpc.mak (added), res/pjproject/tests/pjsua/scripts-media-playrec/100_resample_lf_8_32.py (added), res/pjproject/pjnath/src/pjturn-srv/turn.h (added), res/pjproject/pjsip/include/pjsip/sip_transaction.h (added), res/pjproject/third_party/g7221 (added), res/pjproject/pjnath/include/pjnath/nat_detect.h (added), res/pjproject/third_party/g7221/common/common.c (added), res/pjproject/pjsip/include/pjsip-simple/evsub.h (added), res/pjproject/pjlib/include/pjlib++.hpp (added), res/pjproject/pjsip-apps/src/ipjsua/ipjsua.xcodeproj (added), res/pjproject/pjlib/src/pjlib-test/list.c (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiContainerView.h (added), res/pjproject/third_party/portaudio/build/dev-cpp/portaudio-static.dev (added), res/pjproject/pjlib/src/pj/os_time_bsd.c (added), res/pjproject/third_party/speex/libspeex/hexc_10_32_table.c (added), res/pjproject/third_party/srtp/crypto/include/crypto_types.h (added), res/pjproject/pjnath/src/pjnath/stun_msg.c (added), res/pjproject/third_party/speex/libspeex/sb_celp.c (added), res/pjproject/third_party/srtp/crypto/include/rdb.h (added), res/pjproject/pjsip-apps/src/samples/simpleua.c (added), res/pjproject/pjsip-apps/build (added), res/pjproject/third_party/speex/libspeex/sb_celp.h (added), res/pjproject/third_party/srtp/crypto/include/aes_cbc.h (added), res/pjproject/pjmedia/include/pjmedia/tonegen.h (added), res/pjproject/third_party/speex/libspeex/testenc_uwb.c (added), res/pjproject/pjsip-apps/src/ipjsua/Resources-iPad/SecondView-iPad.xib (added), res/pjproject/pjlib/src/pj/sock_symbian.cpp (added), res/pjproject/build/vs/pjproject-vs8-debug-defaults.vsprops (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiAppUi.cpp (added), res/pjproject/third_party/ilbc/FrameClassify.c (added), res/pjproject/third_party/build/speex/libspeex.vcp (added), res/pjproject/third_party/ilbc/FrameClassify.h (added), res/pjproject/pjsip-apps/src/py_pjsua/py_pjsua.c (added), res/pjproject/pjsip/include/pjsip/sip_errno.h (added), res/pjproject/third_party/gsm/src/toast_alaw.c (added), res/pjproject/third_party/resample/src/resample.h (added), res/pjproject/pjsip-apps/src/py_pjsua/py_pjsua.h (added), res/pjproject/pjsip/build/os-auto.mak.in (added), res/pjproject/third_party/portaudio/config.sub (added), res/pjproject/pjlib/src/pjlib-test/sleep.c (added), res/pjproject/pjmedia/src/pjmedia-videodev/ffmpeg_dev.c (added), res/pjproject/third_party/portaudio/include/pa_jack.h (added), res/pjproject/pjmedia/build/wince-evc4/pjmedia_wince.vcp (added), res/pjproject/pjlib/src/pjlib-test/atomic.c (added), res/pjproject/pjsip/include/pjsip-simple/iscomposing.h (added), res/pjproject/pjlib/src/pj/os_timestamp_linux_kernel.c (added), res/pjproject/build.symbian/pjnathU.def (added), res/pjproject/pjlib/lib (added), res/pjproject/pjmedia/src/pjmedia-codec/g7221.c (added), res/pjproject/pjmedia/build/wince-evc4/pjmedia_wince.vcw (added), res/pjproject/tests/pjsua/scripts-sendto/361_non_sip_uri.py (added), res/pjproject/pjmedia/src/pjmedia/vid_codec.c (added), res/pjproject/pjlib/include/pj/compat/m_i386.h (added), res/pjproject/third_party/gsm/src/debug.c (added), res/pjproject/tests/pjsua/scripts-sendto/160_err_duplicate_replaces.py (added), res/pjproject/third_party/milenage/rijndael.c (added), res/pjproject/third_party/milenage/rijndael.h (added), res/pjproject/tests/pjsua/scripts-media-playrec/100_resample_lf_11_22.py (added), res/pjproject/tests/pjsua/scripts-recvfrom/220_reg_good_ims_ok.py (added), res/pjproject/build/common.mak (added), res/pjproject/pjsip-apps/build/pjsystest.vcproj (added), res/pjproject/pjsip/build/pjsip_ua.vcproj (added), res/pjproject/pjlib/src/pj/timer.c (added), res/pjproject/third_party/speex/libspeex/vbr.c (added), res/pjproject/third_party/speex/libspeex/vbr.h (added), res/pjproject/third_party/portaudio/src/os (added), res/pjproject/third_party/resample/COPYING (added), res/pjproject/pjnath/include/pjnath/turn_session.h (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/gfx/qgn_menu_symbian_ua_gui.svg (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiSettingItemList.l01 (added), res/pjproject/pjnath/include/pjnath/stun_msg.h (added), res/pjproject/pjsip/src/test/tsx_uac_test.c (added), res/pjproject/third_party/portaudio/Doxyfile (added), res/pjproject/tests/pjsua/scripts-media-playrec/100_resample_lf_8_16.py (added), res/pjproject/pjsip/src/pjsip-ua/sip_inv.c (added), res/pjproject/third_party/gsm/add-test/add_test.c (added), res/pjproject/pjsip-apps/src/samples/mix.c (added), res/pjproject/pjlib/src/pjlib-test/sock_perf.c (added), res/pjproject/third_party/build/ilbc/output (added), res/pjproject/third_party/speex/libspeex/pseudofloat.h (added), res/pjproject/pjmedia/include/pjmedia-codec/config_auto.h.in (added), res/pjproject/tests/pjsua/scripts-run/200_register.py (added), res/pjproject/pjlib-util/build (added), res/pjproject/third_party/srtp/tables/aes_tables.c (added), res/pjproject/pjsip-apps/docs (added), res/pjproject/install-sh (added), res/pjproject/third_party/srtp/test/roc_driver.c (added), res/pjproject/pjsip/src/test/transport_udp_test.c (added), res/pjproject/third_party/portaudio/include/pa_win_waveformat.h (added), res/pjproject/third_party/speex/libspeex/resample.c (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/inc (added), res/pjproject/third_party/srtp/pjlib (added), res/pjproject/third_party/portaudio/build/msvc/readme.txt (added), res/pjproject/third_party/srtp/crypto/kernel/crypto_kernel.c (added), res/pjproject/build.symbian/null_audio.mmp (added), res/pjproject/third_party/srtp/crypto/replay/rdb.c (added), res/pjproject/pjlib-util/include/pjlib-util/scanner_cis_uint.h (added), res/pjproject/pjsip/lib (added), res/pjproject/third_party/srtp/crypto/cipher/aes_icm.c (added), res/pjproject/third_party/speex/libspeex/exc_5_64_table.c (added), res/pjproject/pjlib/src/pj/os_error_win32.c (added), res/pjproject/pjmedia/include/pjmedia-codec/opencore_amrnb.h (added), res/pjproject/tests/pjsua/scripts-sendto/301_srtp0_recv_savp.py (added), res/pjproject/pjsip/include/pjsip/sip_transport_tcp.h (added), res/pjproject/pjsip/src/pjsip/sip_transport_udp.c (added), res/pjproject/pjsip-apps/build/dummy.c (added), res/pjproject/pjlib/include/pj++/proactor.hpp (added), res/pjproject/tests/pjsua/scripts-sendto/999_message_no_body.py (added), res/pjproject/third_party/portaudio/src/common/pa_cpuload.c (added), res/pjproject/tests/pjsua/scripts-sendto/174_timer_se_too_small.py (added), res/pjproject/pjlib/src/pj/ip_helper_symbian.cpp (added), res/pjproject/third_party/portaudio/src/common/pa_cpuload.h (added), res/pjproject/pjlib/include/pj/compat/malloc.h (added), res/pjproject/third_party/build/portaudio/src/pa_ringbuffer.c (added), res/pjproject/third_party/portaudio/build/scons/SConscript_opts (added), res/pjproject/pjlib/include/pj/file_access.h (added), res/pjproject/pjmedia/build/pjmedia.vcproj (added), res/pjproject/third_party/build/portaudio/src/pa_ringbuffer.h (added), res/pjproject/pjnath/include/pjnath/ice_session.h (added), res/pjproject/pjsip-apps/src/samples/sipstateless.c (added), res/pjproject/tests/pjsua/scripts-sendto/201_ice_mismatch_3.py (added), res/pjproject/pjsip-apps/src/pocketpj/newres.h (added), res/pjproject/pjsip-apps/src/samples/playsine.c (added), res/pjproject/pjlib/include/pj/config.h (added), res/pjproject/pjlib/include/pj/compat/m_sparc.h (added), res/pjproject/third_party/BaseClasses/wxutil.cpp (added), res/pjproject/third_party/speex/AUTHORS (added), res/pjproject/third_party/ilbc/iCBSearch.c (added), res/pjproject/third_party/ilbc/iCBSearch.h (added), res/pjproject/pjmedia/src/pjmedia/session.c (added), res/pjproject/third_party/build/portaudio/src/pa_front.c (added), res/pjproject/third_party/speex/libspeex/exc_8_128_table.c (added), res/pjproject/third_party/gsm/man/toast.1 (added), res/pjproject/pjmedia/src/test/wsola_test.c (added), res/pjproject/pjmedia/src/pjmedia-audiodev/pa_dev.c (added), res/pjproject/tests/pjsua/scripts-recvfrom/209b_reg_handle_423_bad_min_expires1.py (added), res/pjproject/pjsip-apps/build/wince-evc4 (added), res/pjproject/build.symbian/pjsip_uaU.def (added), res/pjproject/third_party/build/portaudio/src/pa_unix_oss.c (added), res/pjproject/pjsip-apps/src/symbian_ua/ua.h (added), res/pjproject/build/rules.mak (added), res/pjproject/third_party/speex/libspeex/speex_header.c (added), res/pjproject/tests/pjsua/scripts-sendto (added), res/pjproject/build.symbian/libsrtp.mmp (added), res/pjproject/tests/pjsua/scripts-sendto/363_non_sip_uri_subscribe.py (added), res/pjproject/third_party/srtp/config.sub (added), res/pjproject/pjmedia/src/pjmedia/sdp.c (added), res/pjproject/pjsip/include/pjsip/sip_msg.h (added), res/pjproject/pjsip-apps/src/pjsystest (added), res/pjproject/pjsip (added), res/pjproject/third_party/gsm/lib (added), res/pjproject/pjmedia/src/test/jbuf_test.c (added), res/pjproject/pjmedia/src/pjmedia/sound_port.c (added), res/pjproject/pjlib/src/pjlib-test/ioq_perf.c (added), res/pjproject/pjsip/build/pjsua_lib.vcproj (added), res/pjproject/third_party/portaudio/build/msvc/portaudio.dsp (added), res/pjproject/pjsip/src/pjsip-simple/evsub_msg.c (added), res/pjproject/pjsip/src/pjsip-simple/mwi.c (added), res/pjproject/pjsip/src/test/transport_test.c (added), res/pjproject/build.symbian/pjsdp.mmp (added), res/pjproject/third_party/portaudio/build/msvc/portaudio.dsw (added), res/pjproject/pjsip-apps/src/python/helper.mak (added), res/pjproject/pjlib-util/include/pjlib-util/md5.h (added), res/pjproject/pjlib-util/build/Makefile (added), res/pjproject/pjlib/include/pj/pool_alt.h (added), res/pjproject/pjnath/src/pjnath-test/ice_test.c (added), res/pjproject/third_party/gsm/tst/run (added), res/pjproject/pjsip/include/pjsip/sip_uri.h (added), res/pjproject/pjlib/src/pj (added), res/pjproject/build/cc-vc.mak (added), res/pjproject/pjsip-apps/src/ipjsystest/ipjsystest.xcodeproj/project.pbxproj (added), res/pjproject/pjnath/src/pjnath-test/stun_sock_test.c (added), res/pjproject/pjsip/include/pjsip-ua/sip_100rel.h (added), res/pjproject/pjsip-apps/src/ipjsystest/ipjsystest_Prefix.pch (added), res/pjproject/pjsip/include/pjsip-ua/sip_xfer.h (added), res/pjproject/build.symbian/makedef.sh (added), res/pjproject/pjmedia/include/pjmedia-codec/g7221.h (added), res/pjproject/third_party/portaudio/src/hostapi/asihpi (added), res/pjproject/third_party/build/portaudio/Makefile (added), res/pjproject/pjmedia/src/test/vid_dev_test.c (added), res/pjproject/pjlib/include/pj/sock_select.h (added), res/pjproject/pjlib/src/pj/pool_signature.h (added), res/pjproject/tests/pjsua/scripts-media-playrec/100_resample_lf_8_44.py (added), res/pjproject/third_party/ilbc/helpfun.c (added), res/pjproject/tests/pjsua/scripts-sipp/uas-answer-200-inv-without-sdp.xml (added), res/pjproject/third_party/ilbc/helpfun.h (added), res/pjproject/tests/pjsua/scripts-sendto/200_ice_no_ice.py (added), res/pjproject/tests/pjsua/scripts-sipp/inv_401_retry_after_100.xml (added), res/pjproject/pjsip/src/pjsip/sip_tel_uri_wrap.cpp (added), res/pjproject/pjmedia/src/pjmedia/wave.c (added), res/pjproject/third_party/portaudio/ltmain.sh (added), res/pjproject/tests/pjsua/scripts-call/300_ice_0_1.py (added), res/pjproject/tests/pjsua/scripts-sendto/159_no_rport.py (added), res/pjproject/third_party/ilbc/iLBC_decode.c (added), res/pjproject/pjlib/include/pj/compat/os_rtems.h (added), res/pjproject/pjsip/src/test/txdata_test.c (added), res/pjproject/pjmedia/src/pjmedia/conference.c (added), res/pjproject/third_party/srtp/srtp7.vcproj (added), res/pjproject/third_party/ilbc/iLBC_decode.h (added), res/pjproject/pjsip/src/pjsip-ua/sip_xfer.c (added), res/pjproject/pjsip-apps/src/samples/jbsim.c (added), res/pjproject/tests/pjsua/scripts-sipp/uac-ticket-1148.xml (added), res/pjproject/third_party/speex/win32/config.h (added), res/pjproject/pjsip/src/test/uri_test.c (added), res/pjproject/pjlib/include/pj/config_site.h (added), res/pjproject/pjmedia/include/pjmedia/rtcp_xr.h (added), res/pjproject/pjmedia/src/pjmedia/clock_thread.c (added), res/pjproject/pjsip-apps/src/pocketpj/res/online.ico (added), res/pjproject/tests/pjsua/scripts-call/150_srtp_1_0.py (added), res/pjproject/third_party/portaudio/testcvs (added), res/pjproject/pjmedia/include/pjmedia/config_auto.h.in (added), res/pjproject/third_party/srtp/configure (added), res/pjproject/pjsip/src/pjsip/sip_util_wrap.cpp (added), res/pjproject/pjlib/include/pj/rand.h (added), res/pjproject/third_party/srtp/crypto/include/rdbx.h (added), res/pjproject/pjproject-vs8.sln (added), res/pjproject/pjmedia/src/pjmedia-videodev/avi_dev.c (added), res/pjproject/third_party/srtp/crypto/rng/rand_linux_kernel.c (added), res/pjproject/third_party/srtp/config.guess (added), res/pjproject/pjmedia/src/pjmedia-videodev (added), res/pjproject/third_party/srtp/crypto/rng/prng.c (added), res/pjproject/third_party/build/ilbc/Makefile (added), res/pjproject/pjmedia/src/pjmedia/jbuf.c (added), res/pjproject/third_party/speex/libspeex/modes.c (added), res/pjproject/third_party/speex/libspeex/modes.h (added), res/pjproject/third_party/build/samplerate/output (added), res/pjproject/pjnath/src/pjnath-test/stun.c (added), res/pjproject/third_party/build/milenage/Makefile (added), res/pjproject/third_party/build/speex/Makefile (added), res/pjproject/libpjproject.pc.in (added), res/pjproject/pjlib-util/include (added), res/pjproject/third_party/speex/libspeex/resample_sse.h (added), res/pjproject/tests/pjsua/scripts-pesq/201_codec_l16_8000.py (added), res/pjproject/tests/pjsua/scripts-sendto/320_srtp_with_unknown_media_1.py (added), res/pjproject/third_party/BaseClasses/reftime.h (added), res/pjproject/tests/automated/msvc.xml.template (added), res/pjproject/third_party/portaudio/src/common/pa_ringbuffer.c (added), res/pjproject/pjmedia/include/pjmedia/null_port.h (added), res/pjproject/third_party/speex/libspeex/cb_search_arm4.h (added), res/pjproject/pjlib/include/pj/math.h (added), res/pjproject/third_party/portaudio/src/common/pa_ringbuffer.h (added), res/pjproject/pjnath/build/output (added), res/pjproject/tests/pjsua/scripts-sendto/200_ice_success_4.py (added), res/pjproject/third_party/speex/libspeex/arch.h (added), res/pjproject/pjmedia/include/pjmedia/wave.h (added), res/pjproject/third_party/portaudio/src/hostapi/oss (added), res/pjproject/third_party/srtp/crypto/include/sha1.h (added), res/pjproject/pjlib/src/pjlib-test/os.c (added), res/pjproject/pjlib-util/docs/doxygen.css (added), res/pjproject/third_party/speex/libspeex/ltp.c (added), res/pjproject/tests/pjsua/scripts-sendto/001_torture_4475_3_1_1_4.py (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiContainer.l01 (added), res/pjproject/pjlib/src/pjlib-test/pool_perf.c (added), res/pjproject/third_party/speex/libspeex/ltp.h (added), res/pjproject/tests/pjsua/mod_run.py (added), res/pjproject/tests/pjsua/scripts-call/100_simplecall.py (added), res/pjproject/build/m-alpha.mak (added), res/pjproject/pjmedia/src/pjmedia/master_port.c (added), res/pjproject/pjsip/include/pjsip (added), res/pjproject/build/os-linux-kernel.mak (added), res/pjproject/tests/pjsua/scripts-sendto/173_timer_offer_refresher_uas.py (added), res/pjproject/third_party/BaseClasses/mtype.h (added), res/pjproject/pjsip-apps/src/ipjsua/Resources-iPad/MainWindow-iPad.xib (added), res/pjproject/third_party/portaudio/SConstruct (added), res/pjproject/pjlib/include/pj/errno.h (added), res/pjproject/pjsip/src/test/msg_err_test.c (added), res/pjproject/c++-build.mak (added), res/pjproject/third_party/build/speex/output (added), res/pjproject/third_party/gsm/src/preprocess.c (added), res/pjproject/pjmedia/include/pjmedia/jbuf.h (added), res/pjproject/tests/automated/symbian-aps.xml.template (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/symbian_ua_guiSettingItemList.uidesign (added), res/pjproject/third_party/portaudio/include (added), res/pjproject/third_party/build/samplerate/Static.msvc (added), res/pjproject/pjmedia/build/Makefile (added), res/pjproject/pjsip-apps/src/3rdparty_media_sample (added), res/pjproject/pjlib/src/pj/os_error_linux_kernel.c (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua.h (added), res/pjproject/pjmedia/src/pjmedia/transport_ice.c (added), res/pjproject/third_party/speex/libspeex/fixed_arm5e.h (added), res/pjproject/pjmedia/src/pjmedia/wav_playlist.c (added), res/pjproject/pjmedia/src/test/wince_main.c (added), res/pjproject/pjlib-util/build/output (added), res/pjproject/pjsip/include/pjsip/sip_util.h (added), res/pjproject/pjmedia/include/pjmedia/event.h (added), res/pjproject/third_party/portaudio/src/os/win/pa_win_hostapis.c (added), res/pjproject/pjmedia/src/pjmedia-videodev/sdl_dev.c (added), res/pjproject/pjsip/include/pjsip-simple/types.h (added), res/pjproject/third_party/gsm/src/table.c (added), res/pjproject/third_party/srtp/crypto/include/hmac.h (added), res/pjproject/third_party/speex/include/speex (added), res/pjproject/build/vs/pjproject-vs8-release-dynamic-defaults.vsprops (added), res/pjproject/tests/pjsua/scripts-pesq/201_codec_g711u.py (added), res/pjproject/build.symbian/symsndtest.pkg (added), res/pjproject/pjlib/src/pjlib-test/pool.c (added), res/pjproject/pjlib/src/pj/log_writer_stdout.c (added), res/pjproject/pjlib/include/pj/compat/os_palmos.h (added), res/pjproject/pjlib/include/pj/ssl_sock.h (added), res/pjproject/pjmedia/include/pjmedia-codec.h (added), res/pjproject/third_party/build/milenage (added), res/pjproject/pjnath/src/pjnath/turn_session.c (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/symbian_ua_guiContainer.uidesign (added), res/pjproject/tests/pjsua/scripts-sendto/121_sdp_with_video_static_1.py (added), res/pjproject/build.symbian/pjlib_utilU.def (added), res/pjproject/build.symbian/pjlib_test.pkg (added), res/pjproject/tests/pjsua/scripts-call/305_ice_comp_2_1.py (added), res/pjproject/build/vs/pjproject-vs8-wm6-common-defaults.vsprops (added), res/pjproject/pjsip/src/pjsip/sip_transaction.c (added), res/pjproject/build/host-win32.mak (added), res/pjproject/third_party/gsm/inc/config.h (added), res/pjproject/third_party/srtp/test/lfsr.c (added), res/pjproject/third_party/gsm/src/gsm_print.c (added), res/pjproject/pjsip/include/pjsip/sip_dialog.h (added), res/pjproject/pjmedia/src/pjmedia-videodev/colorbar_dev.c (added), res/pjproject/build/m-x86_64.mak (added), res/pjproject/third_party/srtp/config.hw (added), res/pjproject/pjmedia/include/pjmedia/endpoint.h (added), res/pjproject/pjlib-util/src/pjlib-util/hmac_md5.c (added), res/pjproject/pjnath/src (added), res/pjproject/tests/pjsua/scripts-sipp/uas-answer-200-update-without-sdp.xml (added), res/pjproject/pjsip-apps/src/python/_pjsua.def (added), res/pjproject/third_party/speex/win32 (added), res/pjproject/tests/pjsua/scripts-sipp/uas-subscribe-late-notify.xml (added), res/pjproject/third_party/srtp/configure.in (added), res/pjproject/pjlib/src/pj/os_timestamp_win32.c (added), res/pjproject/pjsip/include/pjsip/sip_private.h (added), res/pjproject/pjlib/include/pj/compat/m_x86_64.h (added), res/pjproject/pjmedia/build/pjmedia_codec.vcproj (added), res/pjproject/aconfigure (added), res/pjproject/pjsip/include/pjsip.h (added), res/pjproject/tests/pjsua/scripts-sendto/173_timer_offer_no_refresher.py (added), res/pjproject/pjmedia/include/pjmedia-codec/ffmpeg_vid_codecs.h (added), res/pjproject/tests/pjsua/scripts-pesq/200_codec_l16_16000_stereo.py (added), res/pjproject/pjlib/src/pjlib-test/ssl_sock.c (added), res/pjproject/third_party/ilbc/LPCdecode.c (added), res/pjproject/pjlib/src/pj/except.c (added), res/pjproject/third_party/ilbc/LPCdecode.h (added), res/pjproject/tests/automated/testvars.template (added), res/pjproject/pjmedia/include/pjmedia/mem_port.h (added), res/pjproject/third_party/srtp/include/getopt_s.h (added), res/pjproject/third_party/gsm/tst/lin2txt.c (added), res/pjproject/third_party/g7221/common/tables.c (added), res/pjproject/pjmedia/src/test/test.c (added), res/pjproject/pjmedia/src/pjmedia-codec/g722/g722_dec.c (added), res/pjproject/pjlib-util/include/pjlib-util/base64.h (added), res/pjproject/pjsip-apps/build/wince-evc4/wince_demos.vcw (added), res/pjproject/third_party/g7221/common/tables.h (added), res/pjproject/pjmedia/src/test/test.h (added), res/pjproject/pjsip/src/pjsip/sip_auth_server.c (added), res/pjproject/third_party/BaseClasses/renbase.h (added), res/pjproject/pjmedia/src/pjmedia-codec/g722/g722_dec.h (added), res/pjproject/pjlib-util/src/pjlib-util-test/http_client.c (added), res/pjproject/pjlib/src/pj/ioqueue_epoll.c (added), res/pjproject/pjsip-apps/src/vidgui/INSTALL.TXT (added), res/pjproject/third_party/build/portaudio/src/pa_debugprint.c (added), res/pjproject/third_party/gsm/Makefile (added), res/pjproject/third_party/build/portaudio/src/pa_debugprint.h (added), res/pjproject/pjlib/src/pj/array.c (added), res/pjproject/pjsip/src/test/transport_loop_test.c (added), res/pjproject/pjlib/src/pj/file_io_ansi.c (added), res/pjproject/pjlib/src/pj/rbtree.c (added), res/pjproject/pjmedia/build/Jbtest.dat (added), res/pjproject/tests/pjsua/scripts-sendto/158_err_sdp_bad_transport_type.py (added), res/pjproject/build/vs/pjproject-vs8-win32-common-defaults.vsprops (added), res/pjproject/tests/pjsua/scripts-media-playrec/100_resample_lf_8_11.py (added), res/pjproject/third_party/srtp/crypto/include/null_cipher.h (added), res/pjproject/third_party/gsm/src/gsm_decode.c (added), res/pjproject/third_party/srtp/crypto/test/cipher_driver.c (added), res/pjproject/pjsip-apps/src/samples/proxy.h (added), res/pjproject/tests/pjsua/scripts-call/150_srtp_3_0.py (added), res/pjproject/pjmedia/include/pjmedia/master_port.h (added), res/pjproject/pjlib/src/pjlib-test/test_wrap.cpp (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiContainer.rssi (added), res/pjproject/tests/pjsua/inc_sip.py (added), res/pjproject/third_party/g7221/common/count.h (added), res/pjproject/pjmedia/include/pjmedia/converter.h (added), res/pjproject/pjlib/include/pj/compat/cc_mwcc.h (added), res/pjproject/pjmedia/src/test/rtp_test.c (added), res/pjproject/third_party/gsm/src/gsm_option.c (added), res/pjproject/tests/pjsua/scripts-sendto/120_sdp_with_video_dynamic_2.py (added), res/pjproject/pjsip/src/pjsua-lib/pjsua_acc.c (added), res/pjproject/third_party/build/srtp (added), res/pjproject/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core.c (added), res/pjproject/pjmedia/src/pjmedia/wav_writer.c (added), res/pjproject/pjlib-util/src/pjlib-util/scanner_cis_uint.c (added), res/pjproject/third_party/gsm/src/gsm_destroy.c (added), res/pjproject/tests/pjsua/scripts-media-playrec/100_resample_lf_8_48.py (added), res/pjproject/third_party/portaudio/build/dev-cpp/portaudio-dll.dev (added), res/pjproject/tests/pjsua/scripts-call/150_srtp_2_2.py (added), res/pjproject/third_party/srtp/crypto/include/key.h (added), res/pjproject/tests/automated/run_scenario.py (added), res/pjproject/tests/pjsua/scripts-sipp/uas-422-then-200-bad-se.xml (added), res/pjproject/third_party/portaudio/doc (added), res/pjproject/tests/pjsua/scripts-sipp/uac-reinvite-port-0-bad-sdp.xml (added), res/pjproject/third_party/build/portaudio/src/pa_dither.c (added), res/pjproject/pjlib/src/pjlib-test/hash_test.c (added), res/pjproject/pjmedia/include/pjmedia/symbian_sound_aps.h (added), res/pjproject/third_party/build/portaudio/src/pa_dither.h (added), res/pjproject/build.symbian/pjnath.mmp (added), res/pjproject/tests/pjsua/scripts-sendto/125_sdp_with_multi_audio_0.py (added), res/pjproject/tests/pjsua/scripts-sendto/412_fmtp_amrnb_offer_band_eff2.py (added), res/pjproject/third_party/srtp/crypto/replay/ut_sim.c (added), res/pjproject/third_party/speex/libspeex/cb_search.c (added), res/pjproject/pjlib-util/include/pjlib-util/pcap.h (added), res/pjproject/pjmedia/src/pjmedia/avi_player.c (added), res/pjproject/third_party/speex/libspeex/cb_search.h (added), res/pjproject/pjsip-apps/src/python/setup-vc.py (added), res/pjproject/third_party/BaseClasses/wxlist.cpp (added), res/pjproject/pjlib-util/src/pjlib-util/resolver.c (added), res/pjproject/pjsip/src/pjsip (added), res/pjproject/third_party/srtp/crypto/include/err.h (added), res/pjproject/tests/pjsua/scripts-call/350_prack_b.py (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/group (added), res/pjproject/third_party/gsm/inc/gsm.h (added), res/pjproject/pjsip/src/pjsip/sip_endpoint_wrap.cpp (added), res/pjproject/third_party/milenage/milenage.c (added), res/pjproject/pjlib-util/include/pjlib-util/http_client.h (added), res/pjproject/third_party/speex/libspeex/testenc.c (added), res/pjproject/third_party/milenage/milenage.h (added), res/pjproject/pjsip-apps/src/pjsystest/systest.c (added), res/pjproject/tests/pjsua/scripts-sipp/uas-forked-100rel.xml (added), res/pjproject/pjlib-util/include/pjlib-util/errno.h (added), res/pjproject/third_party/portaudio/src (added), res/pjproject/pjlib/src/pjlib-test/mutex.c (added), res/pjproject/pjsip-apps/src/pjsystest/systest.h (added), res/pjproject/third_party/BaseClasses/refclock.h (added), res/pjproject/tests/cdash/README.TXT (added), res/pjproject/pjlib/src/pjlib-test/test.c (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiContainer.h (added), res/pjproject/pjmedia/src/test/mips_test.c (added), res/pjproject/pjlib/src/pjlib-test/test.h (added), res/pjproject/third_party/srtp/srtp (added), res/pjproject/third_party/portaudio/src/common/pa_stream.c (added), res/pjproject/pjlib-util (added), res/pjproject/third_party/srtp/crypto/replay/rdbx.c (added), res/pjproject/third_party/g7221/common/huff_def.h (added), res/pjproject/third_party/portaudio/src/common/pa_stream.h (added), res/pjproject/tests/pjsua/scripts-pres (added), res/pjproject/pjlib/src/pjlib-test/sock.c (added), res/pjproject/pjmedia/include/pjmedia/stream.h (added), res/pjproject/pjlib/include/pj/compat/stdfileio.h (added), res/pjproject/pjnath/build/wince-evc4/output (added), res/pjproject/third_party/portaudio/src/hostapi/asio (added), res/pjproject/pjlib/src/pj/os_timestamp_common.c (added), res/pjproject/pjmedia/src/pjmedia/transport_udp.c (added), res/pjproject/pjmedia/include/pjmedia/stream_common.h (added), res/pjproject/pjlib-util/src/pjlib-util-test/main.c (added), res/pjproject/pjlib/include/pj++/lock.hpp (added), res/pjproject/third_party/speex/libspeex/fixed_arm4.h (added), res/pjproject/pjlib (added), res/pjproject/build/vs/pjproject-vs8-wm2003-common-defaults.vsprops (added), res/pjproject/tests/pjsua/scripts-sendto/312_srtp1_recv_savp.py (added), res/pjproject/tests/pjsua/scripts-sendto/126_sdp_with_port_0_and_no_rtpmap_for_dynamic_pt.py (added), res/pjproject/third_party/srtp/crypto/include/datatypes.h (added), res/pjproject/pjsip-apps/build/pjsua.vcproj (added), res/pjproject/third_party/milenage (added), res/Makefile, res/pjproject/tests/pjsua/scripts-sendto/260_multipart_err_no_sdp.py (added), res/pjproject/tests/pjsua/scripts-sendto/320_srtp_with_unknown_transport_2.py (added), res/pjproject/third_party/speex/libspeex/quant_lsp_bfin.h (added), res/pjproject/pjlib-util/bin (added), res/pjproject/pjsip-apps/src/py_pjsua/DEPRECATED.txt (added), res/pjproject/pjnath/lib (added), res/pjproject/third_party/build/g7221 (added), res/pjproject/pjlib/include/pj/ctype.h (added), res/pjproject/pjmedia/include/pjmedia-codec/h263_packetizer.h (added), res/pjproject/third_party/ilbc/gainquant.c (added), res/pjproject/pjlib/src/pj/pool_policy_kmalloc.c (added), res/pjproject/pjmedia/build/os-auto.mak.in (added), res/pjproject/pjsip-apps/src/ipjsua/config.cfg (added), res/pjproject/third_party/ilbc/gainquant.h (added), res/pjproject/pjmedia/src/pjmedia/plc_common.c (added), res/pjproject/third_party/portaudio/src/common/pa_debugprint.c (added), res/pjproject/pjlib/include/pj/assert.h (added), res/pjproject/pjsip/include/pjsip/sip_module.h (added), res/pjproject/tests/pjsua/scripts-sipp (added), res/pjproject/third_party/portaudio/src/common/pa_debugprint.h (added), res/pjproject/pjmedia/src/pjmedia-audiodev/s60_g729_bitstream.h (added), res/pjproject/third_party/srtp/crypto/rng (added), res/pjproject/pjsip-apps/build/wince-evc4/output (added), res/pjproject/pjlib/docs/footer.html (added), res/pjproject/pjlib/src/pj/os_symbian.h (added), res/pjproject/pjsip-apps/src/ipjsystest/Classes (added), res/pjproject/pjmedia/include/pjmedia/rtp.h (added), res/pjproject/pjmedia/include/pjmedia/resample.h (added), res/pjproject/pjsip-apps/src/python/samples/call.py (added), res/pjproject/third_party/speex/include/speex/speex_header.h (added), res/pjproject/tests/pjsua/scripts-sendto/159_no_rport_nit.py (added), res/pjproject/tests/automated/run_continuous.py (added), res/pjproject/pjlib/src/pjlib-test/main_mod.c (added), res/pjproject/pjlib/include/pjlib.h (added), res/pjproject/third_party/srtp/test/dtls_srtp_driver.c (added), res/pjproject/pjnath/src/pjturn-srv/allocation.c (added), res/pjproject/build.symbian/symbian_audio.mmp (added), res/pjproject/pjsip/src/pjsip/sip_endpoint.c (added), res/pjproject/third_party/build/portaudio/src/pa_win_waveformat.c (added), res/pjproject/third_party/srtp/crypto/include/prng.h (added), res/pjproject/configure (added), res/pjproject/third_party/gsm/tls (added), res/pjproject/third_party/build/portaudio/src/pa_win_waveformat.h (added), res/pjproject/pjlib/src/pjlib-samples/list.c (added), res/pjproject/pjsip/src/pjsip/sip_parser.c (added), res/pjproject/third_party/srtp/crypto/include/crypto_kernel.h (added), res/pjproject/third_party/gsm/tls/bitter.c (added), res/pjproject/pjmedia/include/pjmedia.h (added), res/pjproject/pjlib/src/pj/ioqueue_select.c (added), res/pjproject/pjsip-apps/src/samples/resampleplay.c (added), res/pjproject/third_party/srtp/crypto (added), res/pjproject/build/host-mingw.mak (added), res/pjproject/pjlib/include/pj/compat/size_t.h (added), res/pjproject/pjlib-util/build/pjlib_util.dsw (added), res/pjproject/third_party/srtp/LICENSE (added), res/pjproject/pjlib/include/pj/log.h (added), res/pjproject/pjlib/include/pj/compat/setjmp.h (added), res/pjproject/pjnath/include (added), res/pjproject/pjlib/src/pj/ioqueue_dummy.c (added), res/pjproject/pjmedia/build (added), res/pjproject/pjsip-apps/build/py_pjsua.vcproj (added), res/pjproject/third_party/gsm/man/gsm.3 (added), res/pjproject/pjsip-apps/src/samples/pcaputil.c (added), res/pjproject/pjlib-util/src/pjlib-util/errno.c (added), res/pjproject/build.symbian/libresample.mmp (added), res/pjproject/pjsip-apps/src/pocketpj/PopUpWnd.cpp (added), res/pjproject/third_party/portaudio/src/os/win/pa_win_waveformat.c (added), res/pjproject/pjlib/include/pj/list.h (added), res/pjproject/third_party/ilbc (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiContainerView.cpp (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiDocument.cpp (added), res/pjproject/pjsip-apps/src/ipjsystest/ipjsystest.xcodeproj (added), res/pjproject/pjsip-apps/src/pocketpj/PocketPJ.rc (added), res/pjproject/pjmedia/include/pjmedia/session.h (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui_reg.rss (added), res/pjproject/pjmedia/include/pjmedia-codec/ilbc.h (added), res/pjproject/pjmedia/include/pjmedia/signatures.h (added), res/pjproject/third_party/build/portaudio/src/pa_endianness.h (added), res/pjproject/pjmedia/include/pjmedia-audiodev/audiodev.h (added), res/pjproject/tests/pjsua/scripts-recvfrom/203_reg_good_empty_realm.py (added), res/pjproject/third_party/speex/libspeex/os_support.h (added), res/pjproject/third_party/srtp/crypto/include/kernel_compat.h (added), res/pjproject/pjmedia/build/wince-evc4/pjmedia_codec_wince.vcp (added), res/pjproject/tests/pjsua/scripts-sendto/300_srtp_receive_no_key_3.py (added), res/pjproject/third_party/gsm/src/gsm_create.c (added), res/pjproject/third_party/build/ilbc/libilbccodec.vcproj (added), res/pjproject/pjsip/src/pjsua-lib/pjsua_vid.c (added), res/pjproject/pjlib/include/pj/except.h (added), res/pjproject/pjmedia/src/pjmedia/endpoint.c (added), res/pjproject/pjmedia/src/pjmedia-codec (added), res/pjproject/pjlib/include/pj/compat/stdarg.h (added), res/pjproject/pjsip-apps/src/ipjsystest/TestViewController.xib (added), res/pjproject/build.symbian/symbian_ua_urel.pkg (added), res/pjproject/third_party/speex/libspeex/math_approx.h (added), res/pjproject/pjsip-apps/src/samples/tonegen.c (added), res/pjproject/build/vs/pjproject-vs8-release-defaults.vsprops (added), res/pjproject/pjlib/include/pj/rbtree.h (added), res/pjproject/pjlib/include/pj/compat/m_alpha.h (added), res/pjproject/third_party/speex/libspeex/vorbis_psy.c (added), res/pjproject/tests/pjsua/scripts-sipp/uas-timer-update.xml (added), res/pjproject/third_party/ilbc/iLBC_define.h (added), res/pjproject/third_party/speex/libspeex/vorbis_psy.h (added), res/pjproject/third_party/portaudio/src/hostapi/wasapi (added), res/pjproject/third_party/portaudio/src/hostapi/wdmks (added), res/pjproject/third_party/srtp/include/srtp_priv.h (added), res/pjproject/pjmedia/src/test/sdptest.c (added), res/pjproject/pjlib/include/pj++/file.hpp (added), res/pjproject/pjsip/src/test/tsx_basic_test.c (added), res/pjproject/pjnath/include/pjnath/stun_auth.h (added), res/pjproject/pjsip-apps/bin (added), res/pjproject/pjsip-apps/src/ipjsua/Classes/ConfigViewController.h (added), res/pjproject/pjmedia/include/pjmedia-videodev/config.h (added), res/pjproject/pjsip-apps/src/ipjsua/Classes/ConfigViewController.m (added), res/pjproject/pjsip-apps/src/ipjsua (added), res/pjproject/third_party/BaseClasses/combase.cpp (added), res/pjproject/pjlib-util/include/pjlib-util/hmac_md5.h (added), res/pjproject/tests/pjsua/scripts-sendto/364_non_sip_uri_subscribe.py (added), res/pjproject/third_party/portaudio/src/common (added), res/pjproject/pjlib/build/os-rtems.mak (added), res/pjproject/third_party/gsm/tls/taste.c (added), res/pjproject/pjlib/src/pjlib-test/ioq_tcp.c (added), res/pjproject/third_party/portaudio/src/os/win/pa_win_wdmks_utils.c (added), res/pjproject/third_party/gsm/tls/taste.h (added), res/pjproject/third_party/portaudio/src/hostapi/asio/iasiothiscallresolver.h (added), res/pjproject/third_party/BaseClasses/fourcc.h (added), res/pjproject/third_party/portaudio/src/os/win/pa_win_wdmks_utils.h (added), res/pjproject/tests/automated/symbian.xml.template (added), res/pjproject/pjmedia/src/test/vectors (added), res/pjproject/third_party/portaudio/src/hostapi/dsound/pa_win_ds.c (added), res/pjproject/third_party/speex/include/speex/speex_bits.h (added), res/pjproject/third_party/resample/include/resamplesubs.h (added), res/pjproject/pjsip/src/pjsip-simple/publishc.c (added), res/pjproject/third_party/srtp/crypto/include/aes.h (added), res/pjproject/third_party/srtp/undos.sh (added), res/pjproject/pjlib-util/include/pjlib-util/scanner.h (added), res/pjproject/third_party/gsm/tls/sweet.c (added), res/pjproject/third_party/gsm/man (added), res/pjproject/build/vs/pjproject-vs8-debug-dynamic-defaults.vsprops (added), res/pjproject/third_party/portaudio/src/common/pa_hostapi.h (added), res/pjproject/third_party/ilbc/createCB.c (added), res/pjproject/third_party/gsm/man/gsm_print.3 (added), res/pjproject/third_party/srtp/crypto/ae_xfm (added), res/pjproject/pjmedia/src/pjmedia-audiodev/coreaudio_dev.c (added), res/pjproject/third_party/ilbc/createCB.h (added), res/pjproject/third_party/gsm/ChangeLog (added), res/pjproject/pjlib/src/pj/guid.c (added), res/pjproject/pjsip-apps/src/python/Makefile (added), res/pjproject/third_party/gsm (added), res/pjproject/pjlib/include/pj/compat (added), res/pjproject/pjmedia/src/pjmedia/echo_common.c (added), res/pjproject/pjsip-apps/build/Footprint.mak (added), res/pjproject/tests/automated/iphone.xml.template (added), res/pjproject/tests/pjsua/scripts-sendto/125_sdp_with_multi_audio_4.py (added), res/pjproject/third_party/speex/include/speex/speex_types.h (added), res/pjproject/tests/pjsua/scripts-sendto/201_ice_mismatch_2.py (added), res/pjproject/third_party/build/portaudio/src/pa_trace.c (added), res/pjproject/pjsip-apps/src/samples/httpdemo.c (added), res/pjproject/pjlib/src/pj/ssl_sock_dump.c (added), res/pjproject/pjlib/src/pjlib-test/pool_wrap.cpp (added), res/pjproject/pjnath/build/wince-evc4/pjnath_wince.vcp (added), res/pjproject/tests/pjsua/scripts-sipp/uac-inv-multiple-require.xml (added), res/pjproject/third_party/gsm/tst (added), res/pjproject/pjmedia/src/pjmedia-codec/g7221_sdp_match.c (added), res/pjproject/third_party/build/portaudio/src/pa_trace.h (added), res/pjproject/third_party/build/os-auto.mak.in (added), res/pjproject/third_party/speex/libspeex/speex.c (added), res/pjproject/pjnath/build/wince-evc4/pjnath_wince.vcw (added), res/pjproject/pjsip/src/pjsip/sip_ua_layer.c (added), res/pjproject/pjlib-util/src/pjlib-util/string.c (added), res/pjproject/third_party/speex/libspeex/echo_diagnostic.m (added), res/pjproject/tests/pjsua/scripts-sipp/uac-reinvite-bad-via-branch.xml (added), res/pjproject/pjsip-apps/build/os-win32.mak (added), res/pjproject/third_party/build/portaudio/src/pa_converters.c (added), res/pjproject/tests/pjsua/scripts-sendto/321_srtp2_recv_avp.py (added), res/pjproject/tests/pjsua/tools (added), res/pjproject/third_party/build/portaudio/src/pa_converters.h (added), res/pjproject/build/os-win32.mak (added), res/pjproject/pjlib/src/pj/compat/sigjmp.c (added), res/pjproject/pjsip/src/pjsua-lib/pjsua_call.c (added), res/pjproject/pjsip-apps/src/samples/main_rtems.c (added), res/pjproject/tests/pjsua/scripts-sendto/156_err_sdp_bad_net_type.py (added), res/pjproject/third_party/srtp/crypto/include/crypto_math.h (added), res/pjproject/tests/pjsua/scripts-pesq/200_codec_g711a.py (added), res/pjproject/tests/pjsua/scripts-sipp/uas-answer-200-multiple-fmts.xml (added), res/pjproject/pjmedia/include/pjmedia/echo.h (added), res/pjproject/pjsip/src/pjsip/sip_util.c (added), res/pjproject/third_party/portaudio/src/common/pa_endianness.h (added), res/pjproject/third_party/srtp/update.sh (added), res/pjproject/pjsip/include/pjsip-simple/presence.h (added), res/pjproject/tests/pjsua/scripts-recvfrom/231_reg_bad_fail_stale_false_nonce_changed.py (added), res/pjproject/pjlib/include/pj/addr_resolv.h (added), res/pjproject/pjsip/src/pjsua-lib/pjsua_dump.c (added), res/pjproject/pjsip/src/pjsip-simple/evsub.c (added), res/pjproject/third_party/portaudio/build/dev-cpp/Makefile-static (added), res/pjproject/pjsip/include/pjsua-lib (added), res/pjproject/tests/pjsua/README.TXT (added), res/pjproject/pjsip-apps/src/pjsua_wince/README.TXT (added), res/pjproject/third_party/build/portaudio/src/pa_types.h (added), res/pjproject/third_party/portaudio/include/pa_mac_core.h (added), res/pjproject/pjsip/build/wince-evc4/pjsip_wince.vcw (added), res/pjproject/tests/pjsua/scripts-recvfrom/208_reg_good_retry_nonce_ok.py (added), res/pjproject/pjlib/src/pj/log.c (added), res/pjproject/tests/pjsua/scripts-sipp/uas-mwi-0.xml (added), res/pjproject/pjsip/src/pjsip-ua (added), res/pjproject/build/vs/pjproject-vs8-wm5-release-defaults.vsprops (added), res/pjproject/pjmedia/src/pjmedia/silencedet.c (added), res/pjproject/tests/pjsua/scripts-sendto/301_srtp0_recv_avp.py (added), res/pjproject/pjmedia/include/pjmedia/vid_port.h (added), res/pjproject/third_party/gsm/inc/proto.h (added), res/pjproject/third_party/speex/libspeex/filters.c (added), res/pjproject/third_party/build/milenage/libmilenage.vcproj (added), res/pjproject/third_party/srtp/crypto/include/stat.h (added), res/pjproject/third_party/speex/libspeex/filters.h (added), res/pjproject/third_party/build/resample/libresample.vcp (added), res/pjproject/third_party/gsm/COPYRIGHT (added), res/pjproject/third_party/portaudio/include/pa_linux_alsa.h (added), res/pjproject/pjmedia/include/pjmedia/transport_adapter_sample.h (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui.loc (added), res/pjproject/third_party/srtp/include/ut_sim.h (added), res/pjproject/pjsip/src/pjsua-lib/pjsua_im.c (added), res/pjproject/pjsip-apps/src/pocketpj/output (added), res/pjproject/third_party/build/portaudio/libportaudio.vcproj (added), res/pjproject/pjlib-util/include/pjlib-util/resolver.h (added), res/pjproject/pjmedia/include/pjmedia/config.h (added), res/pjproject/pjlib/src/pjlib-test/udp_echo_srv_sync.c (added), res/pjproject/build.symbian/symbian_audioU.def (added), res/pjproject/pjlib-util/src/pjlib-util-test/resolver_test.c (added), res/pjproject/pjmedia/include/pjmedia-codec/passthrough.h (added), res/pjproject/third_party/portaudio/test (added), res/pjproject/third_party/srtp/crypto/include/gf2_8.h (added), res/pjproject/pjsip-apps/src/pjsua_wince/pjsua_wince.h (added), res/pjproject/pjmedia/src/test/vid_port_test.c (added), res/pjproject/pjsip-apps/src/pocketpj/res/online.bmp (added), res/pjproject/third_party/gsm/inc (added), res/pjproject/pjlib/include/pj++/os.hpp (added), res/pjproject/third_party/speex/libspeex/speex_callbacks.c (added), res/pjproject/pjsip/include/pjsip-ua/sip_inv.h (added), res/pjproject/config.sub (added), res/pjproject/pjlib/src/pj/sock_linux_kernel.c (added), res/pjproject/pjlib/src/pj/sock_select_symbian.cpp (added), res/pjproject/pjsip/build/wince-evc4/pjsip_core_wince.vcp (added), res/pjproject/build.symbian/libspeexcodec.mmp (added), res/pjproject/third_party/portaudio/src/hostapi/asihpi/pa_linux_asihpi.c (added), res/pjproject/pjnath/src/pjturn-client (added), res/pjproject/pjlib-util/include/pjlib-util/dns_server.h (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiContainer.cpp (added), res/pjproject/third_party/BaseClasses (added), res/pjproject/pjlib/src/pj/guid_simple.c (added), res/pjproject/pjmedia/src/pjmedia-codec/speex_codec.c (added), res/pjproject/third_party/BaseClasses/amvideo.cpp (added), res/pjproject/pjlib-util/src/pjlib-util-test (added), res/pjproject/pjsip/include/pjsip/sip_auth.h (added), res/pjproject/pjmedia/include/pjmedia/types.h (added), res/pjproject/third_party/build/samplerate/README.txt (added), res/pjproject/third_party/gsm/tls/sour2.dta (added), res/pjproject/tests/pjsua/scripts-sipp/uac-inv-and-ack-without-sdp.xml (added), res/pjproject/pjmedia/src/pjmedia-codec/ipp_codecs.c (added), res/pjproject/third_party/g7221/common/config.h (added), res/pjproject/tests/automated (added), res/pjproject/pjlib/src/pj/pool_buf.c (added), res/pjproject/tests/pjsua/scripts-call/150_srtp_0_1.py (added), res/pjproject/pjmedia/src/pjmedia-videodev/qt_dev.m (added), res/pjproject/pjlib/include/pj++/scanner.hpp (added), res/pjproject/third_party/srtp/pjlib/srtp_err.c (added), res/pjproject/third_party/portaudio/src/hostapi/jack (added), res/pjproject/pjlib-util/build/pjlib_util_test.vcproj (added), res/pjproject/pjsip/include/pjsip/sip_auth_parser.h (added), res/pjproject/third_party/speex/include/speex/speex_stereo.h (added), res/pjproject/third_party/build/portaudio/src (added), res/pjproject/tests/pjsua/scripts-sendto/200_ice_success_3.py (added), res/pjproject/pjsip-apps/src/symbian_ua/ua.cpp (added), res/pjproject/tests/pjsua/scripts-recvfrom/301_timer_good_retry_after_422.py (added), res/pjproject/pjsip-apps/src/pjsystest/main_wm.c (added), res/pjproject/pjnath/src/pjnath (added), res/pjproject/third_party/portaudio/src/os/mac_osx (added), res/pjproject/third_party/build/srtp/libsrtp.vcproj (added), res/pjproject/pjsip-apps/bin/samples (added), res/pjproject/pjlib/include/pj++/sock.hpp (added), res/pjproject/tests/pjsua/scripts-sendto/001_torture_4475_3_1_1_3.py (added), res/pjproject/third_party/speex/libspeex/lsp.c (added), res/pjproject/third_party/portaudio/src/common/pa_converters.c (added), res/pjproject/pjsip-apps/src/samples/stateless_proxy.c (added), res/pjproject/pjsip/include/pjsip/sip_auth_aka.h (added), res/pjproject/third_party/speex/libspeex/lsp.h (added), res/pjproject/third_party/portaudio/src/common/pa_converters.h (added), res/pjproject/pjlib-util/src/pjlib-util-test/main_win32.c (added), res/pjproject/third_party/speex/libspeex/fftwrap.c (added), res/pjproject/third_party/build/ilbc/libilbccodec.vcp (added), res/pjproject/third_party/speex/libspeex/fftwrap.h (added), res/pjproject/version.mak (added), res/pjproject/pjlib/build/pjlib_test.vcproj (added), res/pjproject/pjsip/include/pjsip-simple/mwi.h (added), res/pjproject/third_party/BaseClasses/amfilter.h (added), res/pjproject/pjnath/include/pjnath/stun_session.h (added), res/pjproject/pjsip/include/pjsip-ua/sip_timer.h (added), res/pjproject/pjmedia/src/test/codec_vectors.c (added), res/pjproject/third_party/srtp/crypto/test/stat_driver.c (added), res/pjproject/pjsip-apps/src/ipjsua/ipjsua.xcodeproj/project.pbxproj (added), res/pjproject/pjlib/src/pj/os_core_linux_kernel.c (added), res/pjproject/pjmedia/build/wince-evc4/pjmedia_auddev_wince.vcp (added), res/pjproject/third_party/srtp/test/rdbx_driver.c (added), res/pjproject/third_party/speex/include/speex/speex_echo.h (added), res/pjproject/third_party/srtp/include/rtp.h (added), res/pjproject/pjlib/src/pj/pool_policy_malloc.c (added), res/pjproject/third_party/gsm/man/gsm_explode.3 (added), res/pjproject/pjsip/include/pjsip/sip_transport_udp.h (added), res/pjproject/pjlib/src/pj/file_access_win32.c (added), res/pjproject/pjsip-apps/src/pjsua_wince/pjsua_wince.ico (added), res/pjproject/build.symbian/symsndtest.mmp (added), res/pjproject/pjmedia/build/wince-evc4/output (added), res/pjproject/tests/pjsua/scripts-recvfrom/235_reg_good_tel_uri_enocredential.py (added), res/pjproject/pjsip-apps/src/vidgui/vidgui.h (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/src/Symbian_ua_guiSettingItemListSets.cpp (added), res/pjproject/pjmedia/include/pjmedia/delaybuf.h (added), res/pjproject/tests/pjsua/scripts-sendto/157_err_sdp_bad_addr_type.py (added), res/pjproject/build.symbian/pjlib_test.mmp (added), res/pjproject/pjsip/src/pjsip/sip_transport.c (added), res/pjproject/third_party/srtp/crypto/test/env.c (added), res/pjproject/third_party/speex/libspeex/scal.c (added), res/pjproject/pjlib/include/pj/pool.h (added), res/pjproject/pjmedia/include/pjmedia/wav_port.h (added), res/pjproject/pjsip/include/pjsip-simple/errno.h (added), res/pjproject/third_party/speex/libspeex/filters_sse.h (added), res/pjproject/tests/pjsua/scripts-sipp/uas-answer-200-multiple-fmts-support-update.xml (added), res/pjproject/pjsip-apps/src/samples/latency.c (added), res/pjproject/tests/pjsua/scripts-call/400_tel_uri.py (added), res/pjproject/third_party/portaudio/pablio/test_w_saw.c (added), res/pjproject/third_party/build/portaudio/src/pa_allocation.c (added), res/pjproject/pjnath/src/pjnath-test (added), res/pjproject/tests/pjsua/scripts-sendto/400_fmtp_g7221_with_bitrate.py (added), res/pjproject/third_party/build/portaudio/src/pa_allocation.h (added), res/pjproject/pjmedia/include/pjmedia/format.h (added), res/pjproject/third_party/gsm/inc/private.h (added), res/pjproject/third_party/srtp/crypto/replay (added), res/pjproject/third_party/speex/libspeex/stack_alloc.h (added), res/pjproject/tests/pjsua/scripts-recvfrom/300_timer_good.py (added), res/pjproject/pjsip/src/pjsua-lib/pjsua_aud.c (added), res/pjproject/pjlib/src/pjlib-test/file.c (added), res/pjproject/third_party/build/portaudio/src/pa_mac_core_blocking.c (added), res/pjproject/build.symbian/pjsipU.def (added), res/pjproject/pjlib/bin (added), res/pjproject/third_party/ilbc/hpInput.c (added), res/pjproject/pjsip-apps/build/python_pjsua.vcproj (added), res/pjproject/build.mak.in (added), res/pjproject/third_party/srtp/crypto/cipher (added), res/pjproject/third_party/build/portaudio/src/pa_mac_core_blocking.h (added), res/pjproject/third_party/srtp/crypto/rng/rand_source.c (added), res/pjproject/pjsip-apps/build/sample_debug.vcproj (added), res/pjproject/third_party/ilbc/hpInput.h (added), res/pjproject/pjmedia/src/pjmedia/sdp_cmp.c (added), res/pjproject/tests/pjsua/scripts-call/305_ice_comp_1_2.py (added), res/pjproject/pjmedia/include/pjmedia/sdp.h (added), res/pjproject/pjsip-apps/src/pjsystest/pjsystest_wince.rc (added), res/pjproject/tests/pjsua/scripts-sipp/strict-route.xml (added), res/pjproject/pjmedia/build/os-rtems.mak (added), res/pjproject/pjsip/build/wince-evc4/test_pjsip_wince.vcp (added), res/pjproject/third_party/speex/include/speex/speex_callbacks.h (added), res/pjproject/pjsip-apps/src/pjsua_wince/StdAfx.cpp (added), res/pjproject/third_party/srtp/include/rtp_priv.h (added), res/pjproject/third_party/build/resample (added), res/pjproject/tests/pjsua/scripts-sipp/uas-early-bye.xml (added), res/pjproject/tests/pjsua/scripts-sendto/323_srtp2_unsupported_crypto.py (added), res/pjproject/build.symbian/symbian_ua.pkg (added), res/pjproject/tests/pjsua/mod_media_playrec.py (added), res/pjproject/pjnath/build/pjnath.vcproj (added), res/pjproject/third_party/speex/libspeex/fixed_generic.h (added), res/pjproject/pjsip/src/pjsip/sip_multipart.c (added), res/pjproject/tests/pjsua/scripts-call/200_tcp.py (added), res/pjproject/pjsip/build (added), res/pjproject/pjsip-apps/src/pjsua_wince/output (added), res/pjproject/third_party/g7221/encode/encoder.c (added), res/pjproject/pjsip-apps/src/vidgui/vidgui.pro (added), res/pjproject/third_party/srtp/tables (added), res/pjproject/tests/pjsua/mod_recvfrom.py (added), res/pjproject/tests/pjsua/scripts-sendto/171_timer_initiated_by_uas.py (added), res/pjproject/pjsip/include/pjsip-ua (added), res/pjproject/build.symbian/pjsdpU.def (added), res/pjproject/pjmedia/src/pjmedia-audiodev (added), res/pjproject/third_party/portaudio/src/common/pa_front.c (added), res/pjproject/pjmedia/src/pjmedia/event.c (added), res/pjproject/build/m-mpc860.mak (added), res/pjproject/pjlib/src/pj/os_error_unix.c (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/sis/symbian_ua_gui.pkg (added), res/pjproject/pjnath/src/pjturn-srv/listener_tcp.c (added), res/pjproject/pjsip/src/pjsip/sip_transport_loop.c (added), res/pjproject/pjmedia/src/pjmedia-videodev/v4l2_dev.c (added), res/pjproject/pjsip-apps/src/samples/util.h (added), res/pjproject/third_party/speex/libspeex/ltp_sse.h (added), res/pjproject/third_party/gsm/tls/sour.c (added), res/pjproject/pjlib/build/pjlib_samples.mak (added), res/pjproject/pjlib-util/build/os-rtems.mak (added), res/pjproject/pjsip/bin (added), res/pjproject/pjlib/src/pj/os_rwmutex.c (added), res/pjproject/pjlib/src/pj/guid_uuid.c (added), res/pjproject/third_party/speex/libspeex/ltp_arm4.h (added), res/pjproject/pjlib/include/pj/sock_qos.h (added), res/pjproject/third_party/speex/libspeex/testenc_wb.c (added), res/pjproject/third_party/portaudio/pablio/pablio.def (added), res/pjproject/tests/pjsua/scripts-sendto/362_non_sip_uri.py (added), res/pjproject/pjmedia/include/pjmedia_audiodev.h (added), res/pjproject/pjsip-apps/build/libpjproject.vcproj (added), res/pjproject/pjsip-apps/src/pocketpj/res/action.bmp (added), res/pjproject/pjsip/include/pjsip-simple/publish.h (added), res/pjproject/pjlib/src/pj/pool_policy_new.cpp (added), res/pjproject/third_party/gsm/man/bitter.1 (added), res/pjproject/tests/cdash (added), res/pjproject/pjmedia/build/os-darwinos.mak (added), res/pjproject/build/os-linux.mak (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiSettingItemList.cpp (added), res/pjproject/pjmedia/src/pjmedia/conf_switch.c (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiAppUi.h (added), res/pjproject/pjlib/include/pj/timer.h (added), res/pjproject/pjlib/build/os-linux-kernel.mak (added), res/pjproject/third_party/speex/libspeex/exc_10_32_table.c (added), res/pjproject/third_party/srtp/crypto/include/alloc.h (added), res/pjproject/third_party/speex/libspeex/hexc_table.c (added), res/pjproject/third_party/speex/include/speex/speex_resampler.h (added), res/pjproject/tests/pjsua/scripts-sendto/120_sdp_with_video_dynamic_1.py (added), res/pjproject/pjlib/src/pj/sock_select.c (added), res/pjproject/pjmedia/src/pjmedia/vid_port.c (added), res/pjproject/third_party/build/baseclasses/output (added), res/pjproject/pjsip-apps/src/pocketpj/res/offline.ico (added), res/pjproject/pjsip-apps/src/samples/siprtp.c (added), res/pjproject/pjsip-apps/src/pocketpj/PocketPJ.vcc (added), res/pjproject/pjsip-apps (added), res/pjproject/pjmedia/include/pjmedia/sound_port.h (added), res/pjproject/pjsip-apps/src/pocketpj/PocketPJDlg.h (added), res/pjproject/tests/pjsua/scripts-call/150_srtp_2_1.py (added), res/pjproject/third_party/srtp/crypto/include/integers.h (added), res/pjproject/third_party/srtp/crypto/kernel/alloc.c (added), res/pjproject/pjsip-apps/src/pocketpj/PocketPJ.vcp (added), res/pjproject/pjlib-util/docs (added), res/pjproject/third_party/srtp/crypto/include/null_auth.h (added), res/pjproject/third_party/build/speex/config.h (added), res/pjproject/pjsip-apps/src/pocketpj/PocketPJ.vcw (added), res/pjproject/third_party/portaudio/index.html (added), res/pjproject/pjmedia/build/wince-evc4 (added), res/pjproject/third_party/build/portaudio/src/pa_win_util.c (added), res/pjproject/pjsip/include/pjsip/sip_transport_loop.h (added), res/pjproject/pjlib/docs/header.html (added), res/pjproject/third_party/build/samplerate (added), res/pjproject/third_party/gsm/bin (added), res/pjproject/pjsip-apps/src/ipjsua/main.m (added), res/pjproject/tests/pjsua/scripts-call/150_srtp_1_3.py (added), res/pjproject/pjsip-apps/src/samples/sipecho.c (added), res/pjproject/tests (added), res/pjproject/tests/pjsua/scripts-call/350_prack_a.py (added), res/pjproject/third_party/portaudio/src/common/pa_allocation.c (added), res/pjproject/third_party/srtp/timing (added), res/pjproject/third_party/portaudio/src/common/pa_allocation.h (added), res/pjproject/third_party/build/portaudio/src/pa_skeleton.c (added), res/pjproject/pjlib-util/src/pjlib-util-test/xml.c (added), res/pjproject/third_party/portaudio/src/hostapi/alsa (added), res/pjproject/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_internal.h (added), res/pjproject/pjlib/include (added), res/pjproject/tests/cdash/cfg_gnu.py (added), res/pjproject/pjsip-apps/src/py_pjsua/Makefile (added), res/pjproject/third_party/build (added), res/pjproject/third_party (added), res/pjproject/pjnath/include/pjnath/stun_sock.h (added), res/pjproject/third_party/srtp/crypto/math (added), res/pjproject/third_party/srtp/crypto/test/kernel_driver.c (added), res/pjproject/pjlib/include/pj/string_i.h (added), res/pjproject/pjmedia/src/pjmedia/bidirectional.c (added), res/pjproject/pjmedia/include/pjmedia/conference.h (added), res/pjproject/tests/pjsua/scripts-recvfrom/206_reg_good_efailedcredential.py (added), res/pjproject/pjlib-util/docs/footer.html (added), res/pjproject/third_party/README.txt (added), res/pjproject/third_party/srtp/crypto/hash/auth.c (added), res/pjproject/pjsip-apps/src/python/pjsua.py (added), res/pjproject/pjmedia/build/pjmedia_videodev.vcproj (added), res/pjproject/third_party/portaudio/missing (added), res/pjproject/third_party/srtp/crypto/cipher/aes_cbc.c (added), res/pjproject/pjsip/src/pjsip-simple/presence.c (added), res/pjproject/tests/pjsua/scripts-pesq/201_codec_l16_16000.py (added), res/pjproject/pjlib/include/pj/sock.h (added), res/pjproject/pjlib/include/pj++/pool.hpp (added), res/pjproject/third_party/build/portaudio/src/pa_stream.c (added), res/pjproject/pjlib/include/pj++ (added), res/pjproject/pjlib/src/pj/ssl_sock_symbian.cpp (added), res/pjproject/third_party/build/portaudio/src/pa_stream.h (added), res/pjproject/third_party/speex/libspeex/vq_arm4.h (added), res/pjproject/third_party/portaudio/src/os/unix/pa_unix_hostapis.c (added), res/pjproject/pjlib/include/pj/ip_helper.h (added), res/pjproject/tests/pjsua/inc_const.py (added), res/pjproject/third_party/speex/libspeex/gain_table_lbr.c (added), res/pjproject/tests/pjsua/scripts-pesq/201_codec_ilbc.py (added), res/pjproject/build/os-auto.mak.in (added), res/pjproject/pjsip-apps/src/3rdparty_media_sample/Makefile (added), res/pjproject/pjnath/build/pjturn_client.vcproj (added), res/pjproject/third_party/speex/libspeex/filters_arm4.h (added), res/pjproject/tests/pjsua/scripts-sipp/uas-timer-reinvite.xml (added), res/pjproject/pjlib/src/pjlib-test/exception_wrap.cpp (added), res/pjproject/third_party/gsm/src/rpe.c (added), res/pjproject/third_party/portaudio/build/msvc/portaudio.vcproj (added), res/pjproject/tests/pjsua/scripts-sendto/320_srtp_with_unknown_transport_1.py (added), res/pjproject/third_party/build/portaudio/os-linux.mak (added), res/pjproject/pjsip/include/pjsip-simple (added), res/pjproject/pjmedia/include/pjmedia-codec/amr_helper.h (added), res/pjproject/third_party/build/srtp/libsrtp.vcp (added), res/pjproject/third_party/speex/libspeex/_kiss_fft_guts.h (added), res/pjproject/pjlib-util/src/pjlib-util-test/test.c (added), res/pjproject/third_party/portaudio/src/common/pa_process.c (added), res/pjproject/pjlib/include/pj/compat/socket.h (added), res/pjproject/pjmedia/src/pjmedia-videodev/ios_dev.m (added), res/pjproject/pjlib-util/src/pjlib-util-test/test.h (added), res/pjproject/third_party/portaudio/src/common/pa_process.h (added), res/pjproject/tests/pjsua/wavs (added), res/pjproject/pjsip-apps/src/ipjsua/Classes (added), res/pjproject/third_party/build/Makefile (added), res/pjproject/pjmedia/src/pjmedia/vid_tee.c (added), res/pjproject/third_party/speex/libspeex/jitter.c (added), res/pjproject/build.symbian/null_audioU.def (added), res/pjproject/pjlib/src/pj/sock_qos_dummy.c (added), res/pjproject/pjlib/build/wince-evc4/pjlib_test_wince.vcp (added), res/pjproject/third_party/portaudio/include/pa_asio.h (added), res/pjproject/third_party/srtp/CHANGES (added), res/pjproject/pjsip-apps/src/ipjsystest/MainWindow.xib (added), res/pjproject/pjlib/src/pj/os_core_symbian.cpp (added), res/pjproject/pjlib/src/pj/os_error_symbian.cpp (added), res/pjproject/pjmedia/include/pjmedia-audiodev/config.h (added), res/pjproject/pjsip-apps/src/pjsua (added), res/pjproject/pjlib/include/pj/doxygen.h (added), res/pjproject/third_party/srtp/crypto/hash/null_auth.c (added), res/pjproject/third_party/resample (added), res/pjproject/pjlib/src/pj/rand.c (added), res/pjproject/pjmedia/src/pjmedia/resample_libsamplerate.c (added), res/pjproject/pjmedia/src/pjmedia/resample_speex.c (added), res/pjproject/third_party/portaudio/portaudio-2.0.pc.in (added), res/pjproject/COPYING (added), res/pjproject/tests/pjsua/scripts-sendto/123_sdp_with_unknown_static_2.py (added), res/pjproject/pjmedia/src/pjmedia-audiodev/symb_vas_dev.cpp (added), res/pjproject/pjnath/src/pjnath/stun_session.c (added), res/pjproject/third_party/portaudio/src/SConscript (added), res/pjproject/pjsip/include/pjsua.h (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/group/bld.inf (added), res/pjproject/pjsip/src/test/main_win32.c (added), res/pjproject/pjlib/include/pj/compat/os_auto.h.in (added), res/pjproject/pjsip-apps/build/output (added), res/pjproject/pjsip-apps/src/samples/footprint.c (added), res/pjproject/pjlib/src/pj/string.c (added), res/pjproject/pjnath/include/pjnath (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/gfx (added), res/pjproject/third_party/portaudio/src/hostapi/wdmks/readme.txt (added), res/pjproject/third_party/speex/libspeex/preprocess.c (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiApplication.cpp (added), res/pjproject/third_party/build/resample/libresample.vcproj (added), res/pjproject/third_party/gsm/tst/cod2txt.c (added), res/pjproject/pjlib/src/pj/symbols.c (added), res/pjproject/third_party/portaudio/include/pa_win_ds.h (added), res/pjproject/third_party/portaudio/src/hostapi/oss/low_latency_tip.txt (added), res/pjproject/third_party/build/resample/Makefile (added), res/pjproject/pjmedia/src/test/vid_codec_test.c (added), res/pjproject/pjsip-apps/src/python/samples/simplecall.py (added), res/pjproject/pjnath/include/pjnath.h (added), res/pjproject/third_party/portaudio/build/scons (added), res/pjproject/pjmedia/src/pjmedia/delaybuf.c (added), res/pjproject/third_party/portaudio/bindings (added), res/pjproject/pjsip-apps/src/pocketpj/PocketPJ.cpp (added), res/pjproject/tests/pjsua/scripts-recvfrom/200_reg_good_enocredentiall.py (added), res/pjproject/tests/pjsua/scripts-pesq/201_codec_speex_16000.py (added), res/pjproject/pjnath/src/pjnath-test/main_win32.c (added), res/pjproject/tests/pjsua/scripts-sendto/322_srtp2_recv_savp.py (added), res/pjproject/third_party/srtp/crypto/cipher/aes.c (added), res/pjproject/svn_pset.bat (added), res/pjproject/tests/pjsua/scripts-sipp/uas-answer-180-multiple-fmts-support-update.xml (added), res/pjproject/pjsip/src/pjsip/sip_auth_parser.c (added), res/pjproject/third_party/portaudio/src/hostapi/jack/pa_jack.c (added), res/pjproject/pjsip/src/pjsip/sip_errno.c (added), res/pjproject/build.symbian/00.bat (added), res/pjproject/tests/cdash/starttest_sample.bat (added), res/pjproject/pjlib-util/src/pjlib-util/sha1.c (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/inc/Symbian_ua_guiSettingItemListSettings.h (added), res/pjproject/pjsip/src/pjsip/sip_auth_client.c (added), res/pjproject/tests/pjsua/scripts-sendto/300_srtp_receive_no_key_2.py (added), res/pjproject/pjlib/src/pj/os_time_win32.c (added), res/pjproject/build/vs/pjproject-vs8-win32-release-defaults.vsprops (added), res/pjproject/third_party/resample/src/libresample_dll.c (added), res/pjproject/third_party/g7221/decode/decoder.c (added), res/pjproject/third_party/srtp/crypto/cipher/cipher.c (added), res/pjproject/pjlib/include/pj/unicode.h (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/gfx/mark_icon.bmp (added), res/pjproject/tests/pjsua/scripts-pesq/201_codec_gsm.py (added), res/pjproject/third_party/speex (added), res/pjproject/tests/pjsua/scripts-run/100_simple.py (added), res/pjproject/pjmedia/src/test/sdp_neg_test.c (added), res/pjproject/tests/pjsua/scripts-media-playrec/100_resample_lf_8_22.py (added), res/pjproject/third_party/BaseClasses/combase.h (added), res/pjproject/pjsip-apps/src/ipjsua/Classes/ipjsuaAppDelegate.h (added), res/pjproject/third_party/build/speex/speex/speex_config_types.h (added), res/pjproject/pjsip-apps/src/ipjsua/Classes/ipjsuaAppDelegate.m (added), res/pjproject/pjsip/src/pjsip-simple (added), res/pjproject/pjmedia/src/pjmedia-codec/ffmpeg_vid_codecs.c (added), res/pjproject/build.symbian/pjsua_lib.mmp (added), res/pjproject/pjsip-apps/src/python/samples/registration.py (added), res/pjproject/pjlib-util/include/pjlib-util/config.h (added), res/pjproject/pjsip/build/pjsip_test.vcproj (added), res/pjproject/pjnath/src/pjnath-test/main.c (added), res/pjproject/pjlib-util/src/pjlib-util/base64.c (added), res/pjproject/pjsip-apps/src/samples/strerror.c (added), res/pjproject/third_party/mp3/BladeMP3EncDLL.h (added), res/pjproject/third_party/portaudio/fixdir.bat (added), res/pjproject/pjlib/src/pj/ioqueue_common_abs.c (added), res/pjproject/third_party/srtp/crypto/kernel/key.c (added), res/pjproject/pjsip-apps/build/samples.vcproj (added), res/pjproject/pjlib/src/pj/ioqueue_common_abs.h (added), res/pjproject/pjmedia/src/pjmedia/stream_info.c (added), res/pjproject/third_party/BaseClasses/mtype.cpp (added), res/pjproject/third_party/BaseClasses/seekpt.h (added), res/pjproject/pjmedia/src/pjmedia-videodev/sdl_dev_m.m (added), res/pjproject/tests/pjsua/scripts-sipp/uas-mwi.xml (added), res/pjproject/third_party/srtp/VERSION (added), res/pjproject/pjmedia/src/pjmedia/null_port.c (added), res/pjproject/pjlib/src/pj/ssl_sock_common.c (added), res/pjproject/third_party/portaudio/README.txt (added), res/pjproject/tests/pjsua/scripts-sendto/152_err_sdp_no_media.py (added), res/pjproject/third_party/portaudio/src/hostapi/coreaudio/notes.txt (added), res/pjproject/third_party/srtp/crypto/include/cipher.h (added), res/pjproject/pjmedia/src/pjmedia-codec/g722.c (added), res/pjproject/third_party/srtp/doc (added), res/pjproject/third_party/srtp/crypto/kernel/err.c (added), res/pjproject/third_party/build/gsm/libgsmcodec.vcproj (added), res/pjproject/tests/pjsua/scripts-call/150_srtp_3_3.py (added), res/pjproject/pjsip/src/pjsua-lib (added), res/pjproject/pjnath/src/pjnath-test/server.c (added), res/pjproject/pjsip/build/os-rtems.mak (added), res/pjproject/pjmedia/src/pjmedia/resample_port.c (added), res/pjproject/pjsip-apps/src/samples/playfile.c (added), res/pjproject/pjnath/src/pjnath-test/server.h (added), res/pjproject/build/vs/pjproject-vs8-wm6-release-defaults.vsprops (added), res/pjproject/pjmedia/src/pjmedia-audiodev/errno.c (added), res/pjproject/third_party/resample/src/resamplesubs.c (added), res/pjproject/third_party/ilbc/StateSearchW.c (added), res/pjproject/third_party/build/os-win32.mak (added), res/pjproject/tests/pjsua/scripts-pesq/201_codec_speex_8000.py (added), res/pjproject/third_party/build/portaudio/libportaudio.vcp (added), res/pjproject/third_party/build/portaudio/src/pa_unix_hostapis.c (added), res/pjproject/third_party/ilbc/StateSearchW.h (added), res/pjproject/build/m-m68k.mak (added), res/pjproject/pjsip-apps/src/python/setup.py (added), res/pjproject/tests/automated/gnu.xml.template (added), res/pjproject/pjlib/include/pj/file_io.h (added), res/pjproject/pjsip-apps/src/samples/confsample.c (added), res/pjproject/pjsip/include/pjsip/sip_parser.h (added), res/pjproject/third_party/speex/libspeex/vq.c (added), res/pjproject/build (added), res/pjproject/third_party/speex/include (added), res/pjproject/pjnath/src/pjnath-test/turn_sock_test.c (added), res/pjproject/third_party/speex/libspeex/vq.h (added), res/pjproject/third_party/portaudio/src/os/win (added), res/pjproject/pjsip/include/pjsip/sip_auth_msg.h (added), configs/rtp.conf.sample, res/pjproject/pjsip/src/pjsip/sip_transport_tls.c (added), res/pjproject/pjsip-apps/src/pocketpj/res/PocketPJ.ico (added), res/pjproject/Makefile (added), res/pjproject/third_party/srtp/crypto/test/rand_gen.c (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiSettingItemListView.cpp (added), res/pjproject/third_party/g7221/decode/dct4_s.c (added), res/pjproject/tests/pjsua/scripts-sendto/125_sdp_with_multi_audio_3.py (added), res/pjproject/build.symbian/pjmedia_audiodev.mmp (added), res/pjproject/tests/pjsua/scripts-sendto/201_ice_mismatch_1.py (added), res/pjproject/third_party/srtp/crypto/include (added), res/pjproject/third_party/g7221/decode/dct4_s.h (added), res/pjproject/pjlib/src/pjlib-test/timestamp.c (added), res/pjproject/third_party/speex/libspeex (added), res/pjproject/pjsip-apps/src/ipjsua/ipjsua_Prefix.pch (added), res/pjproject/pjlib/include/pj/compat/os_darwinos.h (added), res/pjproject/pjlib/src/pj/os_info_symbian.cpp (added), res/pjproject/tests/pjsua/scripts-sendto/300_srtp_duplicated_crypto_tag.py (added), res/pjproject/pjlib-util/include/pjlib-util/xml.h (added), res/pjproject/third_party/srtp/test (added), res/pjproject/third_party/srtp/test/rtpw_test.sh (added), res/pjproject/third_party/speex/libspeex/exc_10_16_table.c (added), res/pjproject/third_party/BaseClasses/measure.h (added), res/pjproject/pjmedia/include/pjmedia/plc.h (added), res/pjproject/pjsip/src/pjsua-lib/pjsua_core.c (added), res/pjproject/pjlib-util/include/pjlib-util/dns.h (added), res/pjproject/pjsip/include/pjsip-simple/xpidf.h (added), res/pjproject/pjlib/src/pj/sock_qos_symbian.cpp (added), res/pjproject/third_party/srtp/TODO (added), res/pjproject/tests/pjsua/inc_sdp.py (added), res/pjproject/pjnath/src/pjnath/stun_auth.c (added), res/pjproject/pjsip-apps/src/ipjsystest/Classes/ipjsystestAppDelegate.h (added), res/pjproject/pjmedia/src (added), res/pjproject/tests/pjsua/scripts-pres/200_publish.py (added), res/pjproject/pjsip/src/test/main.c (added), res/pjproject/pjsip-apps/src/ipjsystest/Classes/ipjsystestAppDelegate.m (added), res/pjproject/pjlib/src/pj/extra-exports.c (added), res/pjproject/tests/pjsua/scripts-run (added), res/pjproject/pjmedia/src/pjmedia/transport_loop.c (added), res/pjproject/third_party/portaudio/Makefile.in (added), res/pjproject/pjmedia/src/pjmedia-videodev/errno.c (added), res/pjproject/pjlib/src/pj/os_time_unix.c (added), res/pjproject/pjlib/src/pj/types.c (added), res/pjproject/pjmedia/include/pjmedia-codec/g7221_sdp_match.h (added), res/pjproject/pjmedia/src/pjmedia-codec/opencore_amrnb.c (added), res/pjproject/third_party/lib (added), res/pjproject/pjsip/src/pjsip/sip_config.c (added), res/pjproject/pjsip/include/pjsua-lib/pjsua.h (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiSettingItemListView.h (added), res/pjproject/pjsip-apps/src/pocketpj/ReadMe.txt (added), res/pjproject/pjmedia/include/pjmedia-codec/l16.h (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiSettingItemList.h (added), res/pjproject/third_party/BaseClasses/wxdebug.h (added), res/pjproject/third_party/g7221/decode (added), res/pjproject/tests/pjsua/scripts-pesq/200_codec_l16_16000.py (added), res/pjproject/tests/pjsua/scripts-sendto/110_tel_uri.py (added), res/pjproject/build/os-palmos.mak (added), res/pjproject/pjmedia/src/pjmedia/vid_stream.c (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/gfx/list_icon.bmp (added), res/pjproject/pjlib/src/pjlib++-test/main.cpp (added), res/pjproject/pjlib/include/pj/array.h (added), res/pjproject/pjlib/src/pj/log_writer_symbian_console.cpp (added), res/pjproject/pjmedia/build/m-x86_64.mak (added), res/pjproject/pjsip-apps/src/samples/level.c (added), res/pjproject/pjnath/src/pjnath/ice_strans.c (added), res/pjproject/pjlib/src/pjlib-test/activesock.c (added), res/pjproject/build.symbian/pjsip_simple.mmp (added), res/pjproject/pjlib/include/pj/string.h (added), res/pjproject/pjsip-apps/src/pocketpj/res/blank.bmp (added), res/pjproject/pjsip-apps/src/pjsystest/gui.h (added), res/pjproject/tests/pjsua/scripts-pesq/101_defaults.py (added), res/pjproject/tests/cdash/builder.py (added), res/pjproject/pjsip-apps/src/pjsua_wince/StdAfx.h (added), res/pjproject/pjlib/include/pj/pool_i.h (added), res/pjproject/build.symbian/libgsmcodec.mmp (added), res/res_rtp_asterisk.c, res/pjproject/tests/pjsua/scripts-sendto/140_sdp_with_direction_attr_in_session_2.py (added), res/pjproject/third_party/BaseClasses/amfilter.cpp (added), res/pjproject/build/m-auto.mak (added), res/pjproject/build/os-darwinos.mak (added), res/pjproject/pjmedia/include/pjmedia/echo_port.h (added), res/pjproject/third_party/BaseClasses/renbase.cpp (added), res/pjproject/third_party/g7221/common/huff_tab.c (added), res/pjproject/third_party/gsm/src/toast_lin.c (added), res/pjproject/third_party/srtp/crypto/hash (added), res/pjproject/third_party/g7221/common/huff_tab.h (added), res/pjproject/pjnath/src/pjnath/nat_detect.c (added), res/pjproject/tests/pjsua/scripts-recvfrom (added), res/pjproject/pjlib/build/pjlib.vcproj (added), res/pjproject/pjsip/build/wince-evc4/pjsip_simple_wince.vcp (added), res/pjproject/build.symbian/pjsip_ua.mmp (added), res/pjproject/pjsip-apps/src/ipjsystest/Classes/RootViewController.h (added), res/pjproject/third_party/mp3/mp3_writer.c (added), res/pjproject/third_party/ilbc/getCBvec.c (added), res/pjproject/user.mak.sample (added), res/pjproject/pjsip-apps/src/pocketpj/StdAfx.cpp (added), res/pjproject/pjsip-apps/src/ipjsystest/Classes/RootViewController.m (added), res/pjproject/third_party/ilbc/getCBvec.h (added), res/pjproject/pjlib/include/pj++/types.hpp (added), res/pjproject/pjlib/src/pjlib-test/ioq_unreg.c (added), res/pjproject/third_party/resample/src/largefilter.h (added), res/pjproject/third_party/build/gsm/output (added), res/pjproject/pjmedia/include/pjmedia/errno.h (added), res/pjproject/pjmedia/include/pjmedia-codec (added), res/pjproject/third_party/gsm/src/toast.c (added), res/pjproject/pjmedia/src/test/session_test.c (added), res/pjproject/pjmedia/build/pjmedia_test.vcproj (added), res/pjproject/pjlib-util/src/pjlib-util/md5.c (added), res/pjproject/pjmedia/include/pjmedia/clock.h (added), res/pjproject/pjmedia/include/pjmedia/splitcomb.h (added), res/pjproject/third_party/srtp/crypto/test/aes_calc.c (added), res/pjproject/pjmedia/include/pjmedia-codec/gsm.h (added), res/pjproject/pjnath/bin (added), res/pjproject/pjmedia/src/pjmedia-videodev/dshowclasses.cpp (added), res/pjproject/pjsip-apps/build/Samples.mak (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiSettingItemList.loc (added), res/pjproject/pjmedia/src/pjmedia/converter.c (added), res/pjproject/pjmedia/src/pjmedia-videodev/videodev.c (added), res/pjproject/pjmedia/include/pjmedia-videodev (added), res/pjproject/third_party/ilbc/hpOutput.c (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/sis/symbian_ua_gui.txt (added), res/pjproject/third_party/portaudio/pablio/README.txt (added), res/pjproject/third_party/ilbc/hpOutput.h (added), res/pjproject/third_party/gsm/tls/bitter.dta (added), res/pjproject/tests/pjsua/scripts-sipp/uas-template.xml (added), res/pjproject/tests/pjsua/scripts-sendto/200_ice_success_2.py (added), res/pjproject/third_party/speex/libspeex/lpc.c (added), res/pjproject/tests/pjsua/scripts-media-playrec/100_resample_lf_11_32.py (added), res/pjproject/third_party/build/gsm/Makefile (added), res/pjproject/build.symbian/pjmediaU.def (added), res/pjproject/third_party/speex/libspeex/lpc.h (added), res/pjproject/pjlib/src/pjlib-test/udp_echo_srv_ioqueue.c (added), res/pjproject/tests/pjsua/scripts-recvfrom/215_reg_good_multi_ok.py (added), res/pjproject/pjsip-apps/src/ipjsystest/ipjsystest-Info.plist (added), res/pjproject/pjlib/src/pjlib-test/select.c (added), res/pjproject/pjmedia/include/pjmedia (added), res/pjproject/tests/pjsua/scripts-sendto/001_torture_4475_3_1_1_2.py (added), res/pjproject/third_party/g7221/common/typedef.h (added), res/pjproject/third_party/ilbc/iLBC_encode.c (added), res/pjproject/pjmedia/include/pjmedia-codec/config.h (added), res/pjproject/pjlib/src/pj/compat/string_compat.c (added), res/pjproject/pjsip-apps/build/vidgui.vcproj (added), res/pjproject/third_party/ilbc/iLBC_encode.h (added), res/pjproject/pjsip-apps/src/py_pjsua/pjsua.py (added), res/pjproject/third_party/gsm/INSTALL (added), res/pjproject/pjlib/src/pjlib-test/ioq_udp.c (added), res/pjproject/pjlib/build/os-win32.mak (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_gui.pan (added), res/pjproject/pjlib/src/pjlib-test/main_win32.c (added), res/pjproject/tests/pjsua/scripts-pesq/200_codec_ilbc.py (added), res/pjproject/pjlib/src/pj/os_time_linux_kernel.c (added), res/pjproject/tests/pjsua/scripts-sendto/401_fmtp_g7221_with_bitrate_32000.py (added), res/pjproject/pjsip/include/pjsip/sip_tel_uri.h (added), res/pjproject/third_party/portaudio/src/common/pa_memorybarrier.h (added), res/pjproject/pjmedia/src/pjmedia-codec/h264_packetizer.c (added), res/pjproject/pjmedia/src/pjmedia (added), res/pjproject/pjsip-apps/src/pocketpj/res/invisibl.ico (added), res/pjproject/pjmedia/include/pjmedia/wsola.h (added), res/pjproject/third_party/build/portaudio/src/portaudio.h (added), res/pjproject/pjmedia/src/pjmedia-audiodev/symb_mda_dev.cpp (added), res/pjproject/third_party/speex/libspeex/buffer.c (added), res/pjproject/pjsip-apps/src/samples/debug.c (added), res/pjproject/third_party/srtp/crypto/include/crypto.h (added), res/pjproject/pjsip/src/test (added), res/pjproject/pjlib/src/pj/os_core_win32.c (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_gui.hrh (added), res/pjproject/pjmedia/src/pjmedia/types.c (added), res/pjproject/pjsip/src/pjsip/sip_tel_uri.c (added), res/pjproject/tests/pjsua/scripts-sendto/252_multipart_ok_clutter.py (added), res/pjproject/third_party/gsm/src/code.c (added), main/rtp_engine.c, res/pjproject/pjsip-apps/src/samples/icedemo.c (added), res/pjproject/third_party/build/portaudio/src/pa_cpuload.c (added), res/pjproject/third_party/srtp/crypto/include/rand_source.h (added), res/pjproject/third_party/portaudio/include/portaudio.h (added), res/pjproject/pjmedia/lib (added), res/pjproject/pjsip-apps/src/samples/pjsip-perf.c (added), res/pjproject/third_party/build/portaudio/src/pa_cpuload.h (added), res/pjproject/third_party/build/srtp/srtp_config.h (added), res/pjproject/tests/cdash/inc_test.py (added), res/pjproject/pjnath/include/pjnath/types.h (added), res/pjproject/third_party/portaudio/src/hostapi/wdmks/pa_win_wdmks.c (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/group/symbian_ua_gui.mmp (added), res/pjproject/pjlib/src/pj/list.c (added), res/pjproject/pjsip-apps/src/python (added), res/pjproject/third_party/build/portaudio/src/pa_mac_core.c (added), res/pjproject/pjsip-apps/src/confbot/config.py (added), res/pjproject/third_party/build/portaudio/src/pa_mac_core.h (added), res/pjproject/third_party/build/os-darwinos.mak (added), res/pjproject/tests/pjsua/scripts-sendto/151_err_sdp_video.py (added), res/pjproject/third_party/srtp/crypto/test/sha1_driver.c (added), res/pjproject/third_party/ilbc/filter.c (added), res/pjproject/third_party/speex/libspeex/testjitter.c (added), res/pjproject/pjsip-apps/src/pocketpj/StdAfx.h (added), res/pjproject/pjsip-apps/src/pocketpj/PocketPJ.vcproj (added), res/pjproject/third_party/ilbc/filter.h (added), res/pjproject/third_party/speex/libspeex/cb_search_bfin.h (added), res/pjproject/tests/pjsua/scripts-media-playrec/100_resample_lf_11_16.py (added), res/pjproject/pjsip-apps/src/ipjsua/SecondView.xib (added), res/pjproject/third_party/ilbc/StateConstructW.c (added), res/pjproject/tests/pjsua/scripts-sipp/uas-subscribe-refresh-481.xml (added), res/pjproject/pjlib-util/src/pjlib-util/stun_simple.c (added), res/pjproject/configure-iphone (added), res/pjproject/pjlib/include/pj/fifobuf.h (added), res/pjproject/third_party/ilbc/StateConstructW.h (added), res/pjproject/pjsip/include (added), res/pjproject/third_party/gsm/src/decode.c (added), res/pjproject/build.symbian/symbian_ua.mmp (added), res/pjproject/pjsip/include/pjsip/sip_event.h (added), res/pjproject/third_party/srtp/crypto/math/gf2_8.c (added), res/pjproject/third_party/g7221/common (added), res/pjproject/third_party/gsm/MANIFEST (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiApplication.h (added), res/pjproject/third_party/portaudio/src/os/win/pa_x86_plain_converters.c (added), res/pjproject/pjlib/src/pjlib-samples (added), res/pjproject/pjnath/src/pjnath-test/sess_auth.c (added), res/pjproject/build/os-sunos.mak (added), res/pjproject/third_party/portaudio/src/os/win/pa_x86_plain_converters.h (added), res/pjproject/third_party/build/portaudio/src/pa_win_hostapis.c (added), res/pjproject/pjsip-apps/src/python/_pjsua.c (added), res/pjproject/svn_pset (added), res/pjproject/pjmedia/src/pjmedia/vid_stream_info.c (added), res/pjproject/pjmedia/src/pjmedia/wav_player.c (added), res/pjproject/pjsip-apps/src/python/_pjsua.h (added), res/pjproject/tests/pjsua/scripts-sendto/251_multipart_ok_simple.py (added), res/pjproject/third_party/gsm/tls/ginger.c (added), res/pjproject/third_party/portaudio/src/common/pa_trace.c (added), res/pjproject/third_party/build/os-linux.mak (added), res/pjproject/third_party/speex/libspeex/mdf.c (added), res/pjproject/third_party/portaudio/src/common/pa_trace.h (added), res/pjproject/pjsip-apps/src/samples/encdec.c (added), res/pjproject/pjmedia/README.txt (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui_reg.loc (added), res/pjproject/build/vs (added), res/pjproject/pjmedia/src/pjmedia/mem_capture.c (added), res/pjproject/pjsip-apps/src/py_pjsua/helper.mak (added), res/pjproject/tests/pjsua/scripts-pesq/201_codec_l16_16000_stereo.py (added), res/pjproject/pjmedia/src/pjmedia-audiodev/symb_aps_dev.cpp (added), res/pjproject/pjmedia/include/pjmedia/alaw_ulaw.h (added), res/pjproject/pjsip-apps/src/pjsystest/main_console.c (added), res/pjproject/pjsip/build/pjsip_simple.vcproj (added), res/pjproject/pjlib/src/pj/os_info_iphone.m (added), res/pjproject/pjmedia/src/pjmedia-audiodev/legacy_dev.c (added), res/pjproject/pjsip-apps/src/ipjsua/Classes/TabBarController.h (added), res/pjproject/pjsip/include/pjsip-simple/pidf.h (added), res/pjproject/pjsip-apps/src/pjsua_wince/pjsua_wince.vcproj (added), res/pjproject/pjlib-util/docs/header.html (added), res/pjproject/third_party/ilbc/constants.c (added), res/pjproject/pjsip-apps/src/ipjsua/Classes/TabBarController.m (added), res/pjproject/build.symbian (added), res/pjproject/pjlib-util/include/pjlib-util/getopt.h (added), res/pjproject/third_party/ilbc/constants.h (added), res/pjproject/third_party/build/portaudio/src/pa_unix_util.c (added), res/pjproject/pjmedia/include/pjmedia/transport_ice.h (added), res/pjproject/third_party/build/g7221/Makefile (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/gfx/list_icon_mask.bmp (added), res/pjproject/pjmedia/include/pjmedia/vid_tee.h (added), res/pjproject/third_party/build/portaudio/src/pa_unix_util.h (added), res/pjproject/pjmedia/src/pjmedia-videodev/dshow_dev.c (added), res/pjproject/pjsip-apps/src/pocketpj/res/offline.bmp (added), res/pjproject/pjlib/src/pj/log_writer_printk.c (added), res/pjproject/third_party/portaudio/src/common/pa_types.h (added), res/pjproject/pjsip/src/pjsip-simple/pidf.c (added), res/pjproject/third_party/portaudio/pablio/test_w_saw8.c (added), res/pjproject/tests/pjsua/scripts-call/300_ice_1_1.py (added), res/pjproject/pjsip-apps/src/samples/aviplay.c (added), res/pjproject/tests/pjsua/scripts-sendto/331_srtp_prefer_rtp_avp.py (added), res/pjproject/tests/pjsua/scripts-recvfrom/400_inv_answered_with_less_media.py (added), res/pjproject/pjsip/src/pjsip/sip_auth_aka.c (added), res/pjproject/build.symbian/bld.inf (added), res/pjproject/third_party/srtp/crypto/Makefile (added), res/pjproject/third_party/speex/libspeex/kiss_fft.c (added), res/pjproject/pjlib/src/pj/compat (added), res/pjproject/third_party/speex/libspeex/kiss_fft.h (added), res/pjproject/pjnath/include/pjnath/turn_sock.h (added), res/pjproject/third_party/g7221/common/defs.h (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiContainer.loc (added), res/pjproject/third_party/g7221/decode/coef2sam.c (added), res/pjproject/third_party/build/portaudio/src/pa_mac_hostapis.c (added), res/pjproject/pjlib/include/pj/hash.h (added), res/pjproject/pjlib/include/pj/compat/assert.h (added), res/pjproject/pjmedia/src/pjmedia/sdp_neg.c (added), res/pjproject/pjnath/src/pjturn-srv/main.c (added), res/pjproject/third_party/srtp/crypto/test/datatypes_driver.c (added), res/pjproject/pjmedia/include/pjmedia/silencedet.h (added), res/pjproject/third_party/srtp/crypto/include/aes_icm.h (added), res/pjproject/third_party/srtp/crypto/include/auth.h (added), res/pjproject/third_party/gsm/src/long_term.c (added), res/pjproject/third_party/ilbc/LPCencode.c (added), res/pjproject/pjsip/src/pjsip-ua/sip_timer.c (added), res/pjproject/third_party/gsm/add-test/add_test.dta (added), res/pjproject/third_party/ilbc/LPCencode.h (added), res/pjproject/pjlib/src/pj/ip_helper_generic.c (added), res/pjproject/tests/pjsua/scripts-call/150_srtp_1_2.py (added), res/pjproject/tests/pjsua/scripts-media-playrec/100_resample_lf_11_44.py (added), res/pjproject/pjsip-apps/src/py_pjsua/setup.py (added), res/pjproject/third_party/build/portaudio (added), res/pjproject/tests/pjsua/scripts-sendto/100_simplecall.py (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiSettingItemList.rssi (added), res/pjproject/pjlib/src/pjlib-test/pjlib_test_reg.rss (added), res/pjproject/pjlib/include/pj/compat/cc_gcc.h (added), res/pjproject/pjmedia/include/pjmedia/vid_codec.h (added), res/pjproject/tests/pjsua/scripts-sipp/uas.xml (added), res/pjproject/pjmedia/src/pjmedia/echo_suppress.c (added), res/pjproject/tests/pjsua/scripts-media-playrec/100_resample_lf_11_8.py (added), res/pjproject/pjmedia/src/pjmedia/port.c (added), res/pjproject/pjlib/src/pj/ioqueue_symbian.cpp (added), res/pjproject/pjlib/build/cacert.pem (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/gfx/mark_icon_mask.bmp (added), res/pjproject/third_party/speex/libspeex/filterbank.c (added), res/pjproject/third_party/gsm/src/gsm_encode.c (added), res/pjproject/pjsip/src/pjsip-simple/errno.c (added), res/pjproject/third_party/speex/libspeex/filterbank.h (added), res/pjproject/third_party/gsm/src/toast_audio.c (added), res/pjproject/tests/pjsua/scripts-sendto/999_asterisk_err.py (added), res/pjproject/pjsip/src/pjsip-ua/sip_100rel.c (added), res/pjproject/pjlib/src/pjlib-test/rbtree.c (added), res/pjproject/third_party/portaudio/src/hostapi/oss/pa_unix_oss.c (added), res/pjproject/pjlib/include/pj/lock.h (added), res/pjproject/pjlib/include/pj++/string.hpp (added), res/pjproject/tests/pjsua/scripts-sipp/uac-message-no-body.xml (added), res/pjproject/pjnath/build/wince-evc4 (added), res/pjproject/tests/pjsua/scripts-sendto/330_srtp_prefer_rtp_savp.py (added), res/pjproject/pjlib/src/pj/sock_qos_bsd.c (added), res/pjproject/pjmedia/src/pjmedia-codec/g722/g722_enc.c (added), res/pjproject/third_party/speex/include/speex/speex.h (added), res/pjproject/pjsip/include/pjsip-ua/sip_replaces.h (added), res/pjproject/third_party/g7221/common/basic_op_i.h (added), res/pjproject/pjsip-apps/src/pocketpj/PocketPJ.h (added), res/pjproject/pjmedia/src/pjmedia-codec/g722/g722_enc.h (added), res/pjproject/third_party/portaudio/src/hostapi/wmme (added), res/pjproject/pjsip/include/pjsip-simple/evsub_msg.h (added), res/pjproject/tests/pjsua/scripts-sendto/122_sdp_with_unknown_dynamic_2.py (added), res/pjproject/tests/pjsua/scripts-pesq/201_codec_g711a.py (added), res/pjproject/tests/pjsua/scripts-sendto/360_non_sip_uri.py (added), res/pjproject/third_party/build/portaudio/src/pa_util.h (added), res/pjproject/pjlib-util/src/pjlib-util-test/main_rtems.c (added), res/pjproject/tests/pjsua/scripts-recvfrom/234_reg_bad_stale_ok.py (added), res/pjproject/svn_add.bat (added), res/pjproject/build/cc-gcc.mak (added), res/pjproject/build/vs/pjproject-vs8-release-static-defaults.vsprops (added), res/pjproject/third_party/speex/libspeex/lpc_bfin.h (added), res/pjproject/pjsip-apps/src/ipjsystest (added), res/pjproject/pjlib/src/pj/compat/setjmp_i386.S (added), res/pjproject/third_party/build/resample/output (added), res/pjproject/pjsip-apps/src/python/samples (added), res/pjproject/tests/pjsua/scripts-sendto/170_timer_required.py (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/sis (added), res/pjproject/pjsip/include/pjsip/print_util.h (added), res/pjproject/pjmedia/include/pjmedia/port.h (added), res/pjproject/third_party/portaudio/src/hostapi/asio/pa_asio.cpp (added), res/pjproject/third_party/ilbc/syntFilter.c (added), res/pjproject/third_party/BaseClasses/ctlutil.h (added), res/pjproject/third_party/speex/libspeex/testecho.c (added), res/pjproject/third_party/ilbc/syntFilter.h (added), res/pjproject/tests/cdash/cfg_symbian.py (added), res/pjproject/third_party/portaudio/build/dev-cpp (added), res/pjproject/pjnath/include/pjnath/stun_config.h (added), res/pjproject/pjsip-apps/src/pjsystest/resource.h (added), res/pjproject/third_party/srtp/crypto/include/xfm.h (added), res/pjproject/pjlib/include/pj/compat/os_linux.h (added), res/pjproject/pjlib/include/pj/compat/os_linux_kernel.h (added), res/pjproject/tests/pjsua/scripts-sendto/123_sdp_with_unknown_static_1.py (added), res/pjproject/third_party/portaudio/pablio/test_rw_echo.c (added), res/pjproject/pjmedia/src/pjmedia/echo_speex.c (added), res/pjproject/third_party/build/speex (added), res/pjproject/pjlib/src/pj/os_core_unix.c (added), res/pjproject/third_party/portaudio/src/hostapi/asio/iasiothiscallresolver.cpp (added), res/pjproject/tests/pjsua/scripts-call (added), res/pjproject/pjlib/build/os-linux.mak (added), res/pjproject/third_party/srtp/test/rtp.c (added), res/pjproject/third_party/ilbc/doCPLC.c (added), res/pjproject/pjnath/src/pjnath/stun_sock.c (added), res/pjproject/build/vs/pjproject-vs8-wm2003-release-defaults.vsprops (added), res/pjproject/pjlib/src/pj/unicode_win32.c (added), res/pjproject/third_party/ilbc/doCPLC.h (added), res/pjproject/pjlib-util/include/pjlib-util.h (added), res/pjproject/pjmedia/build/os-win32.mak (added), res/pjproject/third_party/srtp/crypto/math/datatypes.c (added), res/pjproject/build.symbian/pjlibU.def (added), res/pjproject/third_party/BaseClasses/streams.h (added), res/pjproject/pjsip-apps/src/ipjsua/Resources-iPad (added), res/pjproject/pjlib-util/src/pjlib-util/stun_simple_client.c (added), res/pjproject/pjsip/src/test/dns_test.c (added), res/pjproject/third_party/portaudio/LICENSE.txt (added), res/pjproject/build.symbian/pjproject.cww (added), res/pjproject/pjlib/build/wince-evc4 (added), res/pjproject/pjlib/include/pj/compat/os_symbian.h (added), res/pjproject/third_party/speex/libspeex/fixed_bfin.h (added), res/pjproject/third_party/speex/include/speex/speex_config_types.h.in (added), res/pjproject/third_party/speex/libspeex/exc_5_256_table.c (added), res/pjproject/third_party/speex/libspeex/testresample.c (added), res/pjproject/pjnath/src/pjturn-srv/listener_udp.c (added), res/pjproject/pjsip/build/wince-evc4/output (added), res/pjproject/pjsip-apps/src/samples/aectest.c (added), res/pjproject/pjlib/src/pjlib-test/thread.c (added), res/pjproject/pjlib/include/pj (added), res/pjproject/tests/pjsua/scripts-sendto/300_srtp_receive_no_key_1.py (added), res/pjproject/pjmedia/include/pjmedia/transport_udp.h (added), res/pjproject/third_party/build/ilbc (added), res/pjproject/third_party/srtp/config_in.h (added), res/pjproject/third_party/speex/libspeex/nb_celp.c (added), res/pjproject/third_party/speex/libspeex/nb_celp.h (added), res/pjproject/third_party/srtp/crypto/kernel (added), res/pjproject/tests/pjsua/scripts-sendto/124_sdp_with_unknown_static_unknown_transport.py (added), res/pjproject/tests/pjsua/scripts-sendto/310_srtp1_no_crypto.py (added), res/pjproject/tests/pjsua/scripts-recvfrom/202_reg_good_ok_wildcard.py (added), res/pjproject/third_party/build/portaudio/os-auto.mak.in (added), res/pjproject/tests/pjsua/mod_sendto.py (added), res/pjproject/build/cc-auto.mak.in (added), res/pjproject/pjmedia/build/output (added), res/pjproject/tests/pjsua/scripts-sipp/uas-auth.xml (added), res/pjproject/pjlib/src/pjlib-test/errno.c (added), res/pjproject/tests/automated/gnu-ipp.xml.template (added), res/pjproject/pjmedia/include/pjmedia-audiodev/errno.h (added), res/pjproject/build.symbian/pjsip_simpleU.def (added), res/pjproject/pjsip/include/pjsip/sip_autoconf.h.in (added), res/pjproject/third_party/speex/libspeex/fixed_debug.h (added), res/pjproject/third_party/portaudio/depcomp (added), res/pjproject/pjnath/src/pjturn-srv/auth.c (added), res/pjproject/pjlib/src/pj/pool.c (added), res/pjproject/pjlib-util/include/pjlib-util/sha1.h (added), res/pjproject/pjnath/src/pjturn-srv/auth.h (added), res/pjproject/pjmedia/src/pjmedia/stream_common.c (added), res/pjproject/pjlib/include/pj/compat/m_auto.h.in (added), res/pjproject/tests/pjsua/scripts-pesq/200_codec_l16_8000.py (added), res/pjproject/pjmedia/src/pjmedia/rtcp.c (added), res/pjproject/pjlib/build/os-auto.mak.in (added), res/pjproject/tests/cdash/cfg_msvc.py (added), res/pjproject/third_party/gsm/src/lpc.c (added), res/pjproject/third_party/resample/README.resample (added), res/pjproject/pjsip-apps/src/ipjsua/MainWindow.xib (added), res/pjproject/third_party/portaudio/include/pa_win_wmme.h (added), res/pjproject/third_party/speex/symbian/config.h (added), res/pjproject/pjnath/src/pjnath-test/test.c (added), res/pjproject/pjsip-apps/src/samples/siprtp_report.c (added), res/pjproject/pjnath/src/pjnath-test/test.h (added), res/pjproject/third_party/srtp (added), res/pjproject/third_party/build/g7221/libg7221codec.vcproj (added), res/pjproject/pjlib-util/build/wince-evc4/pjlib_util_test_wince.vcp (added), res/pjproject/build/m-i386.mak (added), res/pjproject/pjlib-util/include/pjlib-util/srv_resolver.h (added), res/pjproject/tests/pjsua/scripts-call/150_srtp_3_2.py (added), res/pjproject/pjsip/include/pjsip_simple.h (added), res/pjproject/pjmedia/src/test/audio_tool.c (added), res/pjproject/pjlib/src/pj/exception_symbian.cpp (added), res/pjproject/pjmedia/build/m-i386.mak (added), res/pjproject/third_party/BaseClasses/wxutil.h (added), res/pjproject/pjsip-apps/src/vidgui (added), res/pjproject/pjsip/src/pjsua-lib/pjsua_media.c (added), res/pjproject/pjlib-util/build/pjlib_util.vcproj (added), res/pjproject/pjnath/include/pjnath/stun_transaction.h (added), res/pjproject/third_party/portaudio/src/hostapi/oss/recplay.c (added), res/pjproject/third_party/resample/include (added), res/pjproject/pjmedia/include/pjmedia/transport.h (added), res/pjproject/pjlib-util/src/pjlib-util/srv_resolver.c (added), res/pjproject/build.symbian/pjsua_libU.def (added), res/pjproject/pjsip/src/pjsip-simple/presence_body.c (added), res/pjproject/pjmedia/include/pjmedia/stereo.h (added), res/pjproject/tests/pjsua/scripts-call/301_ice_public_b.py (added), res/pjproject/tests/automated/configure.py (added), res/pjproject/pjsip-apps/src/symbian_ua/symbian_ua_reg.rss (added), res/pjproject/pjsip-apps/src/pocketpj/PopUpWnd.h (added), res/pjproject/third_party/speex/libspeex/high_lsp_tables.c (added), res/pjproject/pjlib/src/pj/ssl_sock_ossl.c (added), res/pjproject/tests/pjsua/scripts-sendto/313_srtp1_unsupported_crypto.py (added), res/pjproject/pjsip-apps/src/symbian_ua_gui (added), res/pjproject/third_party/build/milenage/libmilenage.vcp (added), res/pjproject/pjmedia/include/pjmedia/transport_loop.h (added), res/pjproject/third_party/build/gsm/libgsmcodec.vcp (added), res/pjproject/third_party/speex/libspeex/window.c (added), res/pjproject/tests/pjsua/scripts-sendto/125_sdp_with_multi_audio_2.py (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/data (added), res/pjproject/pjsip/src/pjsip/sip_transport_wrap.cpp (added), res/pjproject/pjmedia/include/pjmedia-videodev/errno.h (added), res/pjproject/pjlib/src/pj/os_time_common.c (added), res/pjproject/third_party/resample/src (added), res/pjproject/pjlib/docs (added), res/pjproject/tests/pjsua/scripts-sendto/161_err_replaces_dlg_not_found.py (added), res/pjproject/pjsip-apps/src/pocketpj (added), res/pjproject/pjsip-apps/src/samples/simple_pjsua.c (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/src (added), res/pjproject/tests/pjsua/scripts-media-playrec/100_resample_lf_11_48.py (added), res/pjproject/pjmedia/include/pjmedia/rtcp.h (added), res/pjproject/tests/pjsua/scripts-sendto/300_srtp_invalid_crypto_tag_non_numeric.py (added), res/pjproject/tests/pjsua/scripts-pres/100_peertopeer.py (added), res/pjproject/pjmedia/src/pjmedia/vid_codec_util.c (added), res/pjproject/third_party/gsm/MACHINES (added), res/pjproject/tests/pjsua/scripts-sipp/uac-subscribe.xml (added), res/pjproject/third_party/build/baseclasses (added), res/pjproject/third_party/srtp/include/srtp.h (added), res/pjproject/tests/pjsua/scripts-sendto/173_timer_offer_refresher_uac.py (added), res/pjproject/pjmedia/src/pjmedia/stream.c (added), res/pjproject/tests/pjsua/scripts-recvfrom/209a_reg_handle_423_ok.py (added), res/pjproject/pjlib/src/pjlib-samples/log.c (added), res/pjproject/third_party/build/portaudio/src/pa_mac_core_old.c (added), res/pjproject/pjsip/src/pjsip/sip_transport_tcp.c (added), res/pjproject/tests/pjsua/scripts-sendto/150_err_extension.py (added), res/pjproject/pjlib-util/src/pjlib-util-test/encryption.c (added), res/pjproject/lib (added), res/pjproject/pjmedia/include/pjmedia/codec.h (added), res/pjproject/pjmedia/src/pjmedia/converter_libswscale.c (added), res/pjproject/pjlib/src/pj/ip_helper_win32.c (added), res/pjproject/pjmedia/include/pjmedia-videodev/avi_dev.h (added), res/pjproject/pjlib-util/src/pjlib-util/scanner_cis_bitwise.c (added), res/pjproject/third_party/gsm/README (added), res/pjproject/pjlib-util/src/pjlib-util (added), res/pjproject/third_party/build/gsm (added), res/pjproject/pjlib/include/pj/compat/cc_msvc.h (added), res/pjproject/pjsip-apps/src/pjsua_wince (added), res/pjproject/tests/pjsua (added), res/pjproject/pjlib/include/pj++/timer.hpp (added), res/pjproject/build.symbian/pjlib.mmp (added), res/pjproject/pjsip/src/test/test.c (added), res/pjproject/third_party/portaudio/build (added), res/pjproject/pjsip/src/test/test.h (added), res/pjproject/pjsip/include/pjsip_auth.h (added), res/pjproject/pjlib/src/pj/errno.c (added), res/pjproject/third_party/BaseClasses/wxdebug.cpp (added), res/pjproject/pjsip/include/pjsip-simple/rpid.h (added), res/pjproject/pjlib/include/pj/compat/os_sunos.h (added), res/pjproject/third_party/portaudio/install-sh (added), res/pjproject/pjlib/src/pj/os_info.c (added), res/pjproject/tests/pjsua/scripts-sipp/uas-reinv-no-media.xml (added), res/pjproject/tests/pjsua/scripts-sendto/172_timer_supported_but_not_used.py (added), res/pjproject/third_party/build/resample/libresample_dll.vcproj (added), res/pjproject/pjmedia/include (added), res/pjproject/third_party/portaudio/src/hostapi/asio/ASIO-README.txt (added), res/pjproject/pjsip-apps/src/python/samples/presence.py (added), res/pjproject/build/vs/pjproject-vs8-debug-static-defaults.vsprops (added), res/pjproject/pjmedia/src/pjmedia/transport_srtp.c (added), res/pjproject/pjmedia/include/pjmedia-codec/amr_sdp_match.h (added), res/pjproject/pjsip/src/pjsip-simple/rpid.c (added), res/pjproject/pjlib-util/src/pjlib-util/dns_server.c (added), res/pjproject/tests/pjsua/runall.py (added), res/pjproject/pjlib/include/pj/compat/m_armv4.h (added), res/pjproject/pjsip/src/pjsip/sip_util_proxy.c (added), res/pjproject/pjlib-util/include/pjlib-util/crc32.h (added), res/pjproject/pjlib-util/build/os-auto.mak.in (added), res/pjproject/tests/pjsua/scripts-sipp/uas-subscribe-multipart-notify.xml (added), res/pjproject/pjlib/build/wince-evc4/pjlib_wince.vcp (added), res/pjproject/pjmedia/include/pjmedia/sound.h (added), res/pjproject/pjsip/build/output (added), res/pjproject/pjnath (added), res/pjproject/INSTALL.txt (added), res/pjproject/tests/pjsua/mod_call.py (added), res/pjproject/pjlib/build/wince-evc4/pjlib_wince.vcw (added), res/pjproject/pjsip/src/test/dlg_core_test.c (added), res/pjproject/tests/pjsua/scripts-pesq/200_codec_g711u.py (added), res/pjproject/tests/pjsua/scripts-sendto/411_fmtp_amrnb_offer_band_eff.py (added), res/pjproject/third_party/build/resample/config.h (added), res/pjproject/pjsip-apps/src/pjsua_wince/pjsua_wince.rc (added), res/pjproject/pjlib/build/output (added), res/pjproject/pjlib/include/pj/compat/m_powerpc.h (added), res/pjproject/pjsip/src/test/msg_logger.c (added), res/pjproject/pjsip-apps/src/pjsua_wince/resource.h (added), res/pjproject/pjsip/src/pjsip/sip_auth_parser_wrap.cpp (added), res/pjproject/aconfigure.ac (added), res/pjproject/tests/pjsua/scripts-sendto/140_sdp_with_direction_attr_in_session_1.py (added), res/pjproject/pjsip-apps/src/pjsystest/pjsystest_wince.rc2 (added), res/pjproject/pjlib/include/pj/compat/os_win32.h (added), res/pjproject/pjmedia/include/pjmedia/doxygen.h (added), res/pjproject/pjsip/src/test/main_rtems.c (added), res/pjproject/pjlib-util/include/pjlib-util/scanner_cis_bitwise.h (added), res/pjproject/pjsip-apps/src/ipjsystest/main.m (added), res/pjproject/build.symbian/pjsip.mmp (added), res/pjproject/third_party/speex/include/speex/speex_jitter.h (added), res/pjproject/tests/pjsua/run.py (added), res/pjproject/third_party/speex/symbian (added), res/pjproject/tests/pjsua/scripts-pesq/200_codec_l16_8000_stereo.py (added), res/pjproject/pjsip-apps/src/samples/auddemo.c (added), res/pjproject/tests/pjsua/scripts-sendto/300_srtp_crypto_case_insensitive.py (added), res/pjproject/third_party/g7221/common/basic_op.c (added), res/pjproject/pjnath/build/wince-evc4/pjnath_test_wince.vcp (added), res/pjproject/third_party/g7221/common/basic_op.h (added), res/pjproject/third_party/portaudio/config.guess (added), res/pjproject/third_party/portaudio/src/os/unix (added), res/pjproject/third_party/speex/libspeex/cb_search_sse.h (added), res/pjproject/tests/pjsua/tools/Makefile (added), res/pjproject/pjlib/src/pj/compat/longjmp_i386.S (added), res/pjproject/third_party/portaudio/pablio (added), res/pjproject/build.symbian/symbian_ua_udeb.pkg (added), res/pjproject/README.txt (added), res/pjproject/third_party/srtp/srtp.vcproj (added), res/pjproject/pjnath/build (added), res/pjproject/third_party/portaudio/src/hostapi/dsound (added), res/pjproject/tests/automated/prepare.xml.template (added), res/pjproject/pjsip/src/pjsua-lib/pjsua_pres.c (added), res/pjproject/tests/pjsua/scripts-sipp/uas-reinv-and-ack(same-branch)-without-sdp.xml (added), res/pjproject/pjlib/build (added), res/pjproject/third_party/build/baseclasses/libbaseclasses.vcproj (added), res/pjproject/third_party/speex/include/speex/speex_preprocess.h (added), res/pjproject/pjlib/src/pjlib-test (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui.l01 (added), res/pjproject/pjlib/build/privkey.pem (added), res/pjproject/pjmedia/src/pjmedia/alaw_ulaw_table.c (added), res/pjproject/configure-legacy (added), res/pjproject/tests/pjsua/scripts-sendto/200_ice_success_1.py (added), res/pjproject/pjsip/include/pjsip/sip_transport.h (added), res/pjproject/pjnath/src/pjturn-srv/server.c (added), res/pjproject/pjmedia/build/os-linux.mak (added), res/pjproject/pjlib/include/pj/compat/os_win32_wince.h (added), res/pjproject/pjsip/src/pjsip-ua/sip_replaces.c (added), res/pjproject/third_party/portaudio/src/common/pa_util.h (added), res/pjproject/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiDocument.h (added), res/pjproject/pjlib/src/pj/fifobuf.c (added), res/pjproject/third_party/gsm/tls/sour1.dta (added), res/pjproject/pjsip/include/pjsip/sip_types.h (added), res/pjproject/pjlib/include/pj/compat/time.h (added), res/pjproject/pjsip/src/pjsip/sip_auth_msg.c (added), res/pjproject/tests/pjsua/scripts-sendto/001_torture_4475_3_1_1_1.py (added), res/pjproject/pjsip/include/pjsip_ua.h (added), res/pjproject/pjlib/build/Makefile (added), res/pjproject/third_party/srtp/README (added), res/pjproject/tests/pjsua/scripts-sendto/311_srtp1_recv_avp.py (added), res/pjproject/pjsip-apps/src/pjsua/main_rtems.c (added), res/pjproject/pjsip-apps/src/pocketpj/res/invisibl.bmp (added), res/pjproject/pjlib/src/pjlib-test/rtems_network_config.h (added), res/pjproject/third_party/srtp/crypto/math/stat.c (added), res/pjproject/third_party/srtp/test/replay_driver.c (added), res/pjproject/pjmedia/src/pjmedia-audiodev/audiotest.c (added), res/pjproject/pjlib/src/pjlib++-test (added), res/pjproject/pjsip-apps/src/samples/streamutil.c (added), res/pjproject/pjmedia/src/pjmedia/ffmpeg_util.c (added), res/pjproject/tests/pjsua/scripts-sendto/500_pres_subscribe_with_bad_event.py (added), res/pjproject/third_party/srtp/install-sh (added), res/pjproject/tests/pjsua/scripts-pesq/200_codec_speex_16000.py (added), res/pjproject/third_party/srtp/crypto/cipher/null_cipher.c (added), res/pjproject/pjmedia/src/pjmedia/ffmpeg_util.h (added), res/pjproject/pjlib-util/src (added), res/pjproject/pjsip/include/pjsip/sip_config.h (added), res/pjproject/pjlib/docs/doxygen.cfg (added): Add support for ICE/STUN/TURN in res_rtp_asterisk and chan_sip. Review: https://reviewboard.asterisk.org/r/1891/ 2012-06-29 20:32 +0000 [r369512] Mark Michelson * main/rtp_engine.c, /: Fix apparent copy and paste error where incorrect "glue" is used. ........ Merged revisions 369511 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-29 17:02 +0000 [r369493] Richard Mudgett * apps/app_dial.c, main/channel.c, main/autoservice.c, main/pbx.c, channels/chan_local.c, funcs/func_channel.c, main/channel_internal_api.c, main/features.c, configs/cdr.conf.sample, include/asterisk/channel.h, include/asterisk/pbx.h, CHANGES, apps/app_followme.c, apps/app_queue.c: Hangup handlers - Dialplan subroutines that run when the channel hangs up. Hangup handlers are an alternative to the h extension. They can be used in addition to the h extension. The idea is to attach a Gosub routine to a channel that will execute when the call hangs up. Whereas which h extension gets executed depends on the location of dialplan execution when the call hangs up, hangup handlers are attached to the call channel. You can attach multiple handlers that will execute in the order of most recently added first. (closes issue ASTERISK-19549) Reported by: Mark Murawski Tested by: rmudgett Review: https://reviewboard.asterisk.org/r/2002/ 2012-06-29 16:56 +0000 [r369492] Joshua Colp * /, channels/chan_sip.c: With some configurations a transport is not actually specified so assume UDP in these cases. ........ Merged revisions 369490 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369491 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-29 16:42 +0000 [r369489] Richard Mudgett * main/channel_internal_api.c, .cleancount: Remove obsolete struct ast_channel note. The opaquing the ast_channel struct no longer requires .cleancount to be changed when the struct is changed. * Bump .cleancount value one last time because of struct ast_channel for old times sake. 2012-06-29 15:33 +0000 [r369473] Joshua Colp * /, channels/chan_sip.c: Make the address family filter specific to the transport. (closes issue ASTERISK-16618) Reported by: Leif Madsen Review: https://reviewboard.asterisk.org/r/1667/ ........ Merged revisions 369471 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369472 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-28 01:12 +0000 [r369449-369454] Terry Wilson * include/asterisk/config_options.h, configs/config_test.conf.sample, main/config_options.c, tests/test_config.c: Add the ability to set flags via the config options api Allows the setting of flags via the config options api. For example, code like this: #define OPT1 1 << 0 #define OPT2 1 << 1 #define OPT3 1 << 2 struct thing { unsigned int flags; }; and a config like this: [blah] opt1=yes opt2=no opt3=yes Review: https://reviewboard.asterisk.org/r/2004/ * /, channels/chan_sip.c, channels/sip/include/sip.h: AST-2012-010: Clean up after a reinvite that never gets a final response The basic problem is that if a re-INVITE is sent by Asterisk and it receives a provisional response, but no final response, then the dialog is never torn down. In addition to leaking memory, this also leaks file descriptors and will eventually lead to Asterisk no longer being able to process calls. This patch just keeps track of whether there is an outstanding re-INVITE, and if there is goes ahead and cleans up everything as though there was no outstanding reinvite. Review: https://reviewboard.asterisk.org/r/2009/ (closes issue ASTERISK-19992) Reported by: Steve Davies Tested by: Steve Davies, Terry Wilson ........ Merged revisions 369436 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369437 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-26 21:45 +0000 [r369414] Jonathan Rose * include/asterisk/logger.h, channels/chan_dahdi.c, main/autoservice.c, main/pbx.c, channels/chan_local.c, channels/sig_analog.c, main/channel_internal_api.c, channels/chan_agent.c, main/features.c, main/logger.c, channels/chan_iax2.c, channels/sig_pri.c, channels/sig_ss7.c, main/bridging.c, main/cli.c: Unique Call ID logging Phases III and IV Adds call ID logging changes to specific channel drivers that weren't handled handled in phase II of Call ID Logging. Also covers logging for threads for threads created by systems that may be involved with many different calls. Extra special thanks to Richard for rigorous review of chan_dahdi and its various signalling modules. review: https://reviewboard.asterisk.org/r/1927/ review: https://reviewboard.asterisk.org/r/1950/ 2012-06-26 13:23 +0000 [r369370-369392] Matthew Jordan * /, main/adsi.c: Fix crash in unloading of res_adsi module When res_adsi is unloaded, it removes the ADSI functions that it previously installed by passing a NULL adsi_funcs pointer to ast_adsi_install_funcs. This function was not checking whether or not the adsi_funcs pointer passed in was NULL before dereferencing it to check whether or not the version of the functions matches what the core was expecting it. This patch makes it so that the version is only checked if a potentially valid adsi_funcs pointer was passed in. Passing in NULL removes the installed functions, bypassing the version check. ........ Merged revisions 369390 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369391 from http://svn.asterisk.org/svn/asterisk/branches/10 * main/manager.c: Update "manager show event" to support tab completion Thank you rmudgett for pointing out that I was missing this in the initial check-in for AMI event documentation (r369346) * main/cdr.c, /: Fix incorrect duration reporting in CDRs created in batch mode Certain places in core/cdr.c would, if the duration value were 0, calculate the duration as being the delta between the current time and the time at which the CDR record was started. While this does not typically cause a problem in non-batch mode, this can cause an issue in batch mode where CDR records are gathered and written long after those calls have ended. In particular, this affects calls that were never answered, as those are expected to have a duration of 0. Often, this would result in CDR logs with a significant number of calls with lengthy durations, but dispositions of "BUSY". Note that this does not affect cdr_csv, as that backend does not use ast_cdr_getvar and instead directly reports the duration value. The affected core backends include cdr_apative_odbc and cdr_custom; other extended or deprecated CDR backends may potentially still directly manipulate the duration values. (issue ASTERISK-19860) Reported by: Thomas Arimont (issue AST-883) Reported by: Thomas Arimont Tested by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1996/ ........ Merged revisions 369351 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369369 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-25 19:26 +0000 [r369367] Mark Michelson * /, channels/chan_sip.c, channels/sip/include/sip.h: Re-fix how local tag is generated when sending a 481 to an INVITE. Match our local tag to whatever to-tag was sent in the initial INVITE. Because the size of the to-tag may not fit in the buffer in the sip_pvt, it has been changed to a string field. (closes issue ASTERISK-19892) reported by Walter Doekes Review: https://reviewboard.asterisk.org/r/1977 ........ Merged revisions 369352 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369353 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-25 17:59 +0000 [r369346] Matthew Jordan * apps/app_dial.c, apps/app_meetme.c, configure.ac, apps/app_userevent.c, CHANGES, apps/app_queue.c, Makefile, build_tools/get_documentation.py (added), main/manager.c, configure, build_tools/post_process_documentation.py (added), include/asterisk/xmldoc.h, apps/app_confbridge.c, makeopts.in, apps/app_stack.c, apps/app_chanspy.c, doc/appdocsxml.dtd, main/xmldoc.c, apps/app_voicemail.c: Add AMI event documentation This patch adds the core changes necessary to support AMI event documentation in the source files of Asterisk, and adds documentation to those AMI events defined in the core application modules. Event documentation is built from the source by two new python scripts, located in build_tools: get_documentation.py and post_process_documentation.py. The get_documentation.py script mirrors the actions of the existing AWK get_documentation scripts, except that it will scan the entirety of a source file for Asterisk documentation. Upon encountering it, if the documentation happens to be an AMI event, it will attempt to extract information about the event directly from the manager event macro calls that raise the event. The post_process_documentation.py script combines manager event instances that are the same event but documented in multiple source files. It generates the final core-[lang].xml file. As this process can take longer to complete than a typical 'make all', it is only performed if a new make target, 'full', is chosen. Review: https://reviewboard.asterisk.org/r/1967/ 2012-06-25 16:07 +0000 [r369329] Richard Mudgett * /, main/features.c: Fix Bridge application occasionally returning to the wrong location. * Fix do_bridge_masquerade() getting the resume location from the zombie channel. The code must not touch a clone channel after it has masqueraded it. The clone channel has become a zombie and is starting to hangup. (closes issue ASTERISK-19985) Reported by: jamicque Patches: jira_asterisk_19985_v1.8.patch (license #5621) patch uploaded by rmudgett Tested by: jamicque ........ Merged revisions 369327 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369328 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-25 15:55 +0000 [r369304-369326] Mark Michelson * include/asterisk/adsi.h, /, main/Makefile, res/res_adsi.c, main/adsi.c (added), res/res_adsi.exports.in (removed): Multiple revisions 369323-369324 ........ r369323 | mmichelson | 2012-06-25 10:35:43 -0500 (Mon, 25 Jun 2012) | 9 lines Eliminate embedding of res_adsi.so module. The way this is done is to stop using the optional API. Instead, res_adsi.so, when loaded fills in a table of function pointers. Review: https://reviewboard.asterisk.org/r/1991 ........ r369324 | mmichelson | 2012-06-25 10:50:17 -0500 (Mon, 25 Jun 2012) | 2 lines Forgot to svn add this file in my last commit. ........ Merged revisions 369323-369324 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369325 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, channels/chan_sip.c: Be more consistent with the return code for requests received from invalid domain. When Asterisk receives an INVITE from an external domain when allowexternaldomains=no send a 403 instead of a 404. This is consistent with Asterisk's behavior when receiving a REGISTER in this situation. (Closes issue ASTERISK-19601) Reported by Matthew Jordan Patches: ASTERISK-19601-no401.patch uploaded by Mark Michelson (License #5049) ........ Merged revisions 369302 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369303 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-23 00:33 +0000 [r369237-369296] Richard Mudgett * main/features.c: Fix F and F(x) action logic in Bridge application. * /, main/features.c: Fix Bridge application and AMI Bridge action error handling. * Fix AMI Bridge action disconnecting the AMI link on error. * Fix AMI Bridge action and Bridge application not checking if their masquerades were successful. * Fix Bridge application running the h-exten when it should not. * Made do_bridge_masquerade() return if the masquerade was successful so the Bridge application and AMI Bridge action could deal with it correctly. * Made bridge_call_thread_launch() hangup the passed in channels if the bridge_call_thread fails to start. Those channels would have been orphaned. * Made builtin_atxfer() check the success of the transfer masquerade setup. ........ Merged revisions 369282 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369283 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, apps/app_queue.c: Explicitly check caller hangup in app Queue rather than a polluted res2 value. ........ Merged revisions 369262 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369263 from http://svn.asterisk.org/svn/asterisk/branches/10 * apps/app_queue.c: Fix F and F(x) action logic in Queue application. * apps/app_dial.c, /: Check if PBX was started and fix F and F(x) action logic in Dial application. ........ Merged revisions 369258 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369259 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, main/ccss.c: Check if PBX was started for generic CCSS recall. ........ Merged revisions 369238 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369239 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, channels/chan_sip.c: Change incorrect chan_sip zombie hangup debug message. They are all zombies now. ........ Merged revisions 369235 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369236 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-22 20:05 +0000 [r369217] Terry Wilson * /, channels/chan_sip.c: Don't crash on a guest directmedia call A sip_pvt may not have relatedpeer set if a call doesn't match up with a peer. If there is no relatedpeer, there is no direct media ACL to apply, so just return that it is allowed. (closes issue ASTERISK-20040) Reported by: Terry Wilson ........ Merged revisions 369214 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369215 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-22 19:54 +0000 [r369184-369216] Kinsey Moore * channels/chan_dahdi.c: Fix wrong variable name in the R2 disconnect callback * /, channels/chan_sip.c: Don't parse media stream state for SIP video streams The sendonly/recvonly/sendrecv/inactive media stream attributes were parsed for video, but nothing was ever done with them. With this code removed, an UNSUPPORTED message is produced when these attributes are used in conjunction with a video stream which is the better behavior since they were never really supported in the first place. ........ Merged revisions 369195 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369206 from http://svn.asterisk.org/svn/asterisk/branches/10 * channels/chan_dahdi.c: Add HANGUPCAUSE hash implementation for DAHDI MFC/R2 subtech This adds a minimal implementation of the "Who Hung Up?" Asterisk 11 work to chan_dahdi.c for the MFC/R2 DAHDI subtech. Given the way that OpenR2 interfaces with chan_dahdi, it is much harder to expose the type of protocol information that is available in PRI, SS7, or other channel technologies. * channels/sig_analog.c, channels/sig_pri.c: Add HANGUPCAUSE hash support for analog and PRI DAHDI subtechs This is part of the DAHDI support for the Asterisk 11 "Who Hung Up?" project and covers the implementation for the technologies implemented in sig_analog.c and sig_pri.c. Tested on a local machine to verify protocol and cause information is available. Review: https://reviewboard.asterisk.org/r/1953/ (issue SWP-4222) * channels/sig_ss7.c: Add "Who Hung Up?" implementation for DAHDI SS7 subtechnology Testing was done on a local machine to verify that protocol and cause information was being sent properly. Review: https://reviewboard.asterisk.org/r/1955/ (issue SWP-4222) 2012-06-20 21:33 +0000 [r369166-369167] Richard Mudgett * main/logger.c: Don't waste time initializing the whole call_identifer_str[]. The array is either setup with a callid string or only the first element needs to be initialized. * channels/chan_misdn.c: Fix chan_misdn compile error. 2012-06-20 17:48 +0000 [r369148] Alexandr Anikin * /, addons/ooh323c/src/ooq931.c, addons/ooh323c/src/ooCalls.c: fix locking issue on empty callList (issue ASTERISK-19298) Reported by: Dmitry Melekhov Patches: ASTERISK-18322-2.patch ........ Merged revisions 369146 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369147 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-20 11:47 +0000 [r369142] Sean Bright * apps/app_externalivr.c: Remove declaration of eivr_connect_socket because it no longer exists. 2012-06-20 11:20 +0000 [r369141] Alexandr Anikin * addons/chan_ooh323.c: use right definition for channel name 2012-06-20 03:18 +0000 [r369110-369126] Michael L. Young * main/manager.c, CHANGES: Add IPv6 Support To Manager This patch adds IPv6 support to AMI. (Closes issue ASTERISK-19965) Reported by: Michael L. Young Tested by: Michael L. Young Patches: ami_ipv6_v3.diff uploaded by Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/1968/ * main/netsock2.c, /, include/asterisk/netsock2.h: Fix NULL pointer segfault in ast_sockaddr_parse() While working with ast_parse_arg() to perform a validity check, a segfault occurred. The segfault occurred due to passing a NULL pointer to ast_sockaddr_parse() from ast_parse_arg(). According to the documentation in config.h, "result pointer to the result. NULL is valid here, and can be used to perform only the validity checks." This patch fixes the segfault by checking for a NULL pointer. This patch also adds documentation to netsock2.h about why it is necessary to check for a NULL pointer. (Closes issue ASTERISK-20006) Reported by: Michael L. Young Tested by: Michael L. Young Patches: asterisk-20006-netsock-null-ptr.diff uploaded by Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/1990/ ........ Merged revisions 369108 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369109 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-19 23:36 +0000 [r369092] Alexandr Anikin * addons/chan_ooh323.c, /: check rtptimeouts in ooh323 channels as per config file (rtp voice, video, udptl except rtcp) (closes issue ASTERISK-19179) Reported by: TSAREGORODTSEV Yury Patches: 19179-ooh323-ast10.patch ........ Merged revisions 369091 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-19 21:13 +0000 [r369086] Kinsey Moore * main/channel.c, channels/chan_dahdi.c, channels/chan_misdn.c, main/rtp_engine.c, include/asterisk/channel.h, channels/chan_iax2.c: Ensure that pvt cause information does not break native bridging Channel drivers that allow native bridging need to handle AST_CONTROL_PVT_CAUSE_CODE frames and previously did not handle them properly, usually breaking out of the native bridge. This change corrects that behavior and exposes the available cause code information to the dialplan while native bridges are in place. This required exposing the HANGUPCAUSE hash setter outside of channel.c, so additional documentation has been added. 2012-06-19 15:44 +0000 [r369068] Mark Michelson * /, channels/chan_sip.c: Fix request routing issue when outboundproxy is used. Asterisk was incorrectly setting the destination of CANCELs and ACKs for error responses to the URI of the initial INVITE. This resulted in further requests, such as INVITEs with authentication credentials, to be routed incorrectly. Instead, when these CANCEL or ACKs are to be sent, we should simply keep the destination the same as what it previously was. There is no need to alter it any. (closes issue ASTERISK-20008) Reported by Marcus Hunger Patches: ASTERISK-20008.patch uploaded by Mark Michelson (license #5049) ........ Merged revisions 369066 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369067 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-18 22:56 +0000 [r369061] Kinsey Moore * main/features.c: Fix AST_CONTROL_PVT_CAUSE_CODE handling When the IAX2 Who Hung Up? changes were added, they uncovered a bug in the way AST_CONTROL_PVT_CAUSE_CODE was handled in feature_request_and_dial(). This particular frame subtype was being treated like more terminal control frames causing the function to be exited prematurely. 2012-06-18 18:25 +0000 [r369057] Richard Mudgett * /, main/features.c: Fix monitoring calls put in a parking lot. * Fix a regression that was introduced by -r366167 which effectively disabled monitoring parked calls. (closes issue ASTERISK-20012) Reported by: sdolloff Tested by: rmudgett ........ Merged revisions 369043 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369044 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-15 21:18 +0000 [r369034] Damien Wedhorn * channels/chan_skinny.c: Various small chan_skinny fixes and cleanup Added test to skinny_register to only allow device to register against a device that is not already registered. Addback l->device test for skinny_show_lines. Fixes segfault if a line is configured but not configured to a device. Reverses part of r368680. Removed redundant l->device tests in subsubstate and dumpsub. l->device will always be valid if these routines are called. Reverses 368948 - discussed with mjordan on irc. Some indentation cleanup. 2012-06-15 17:13 +0000 [r369028] Kinsey Moore * channels/chan_sip.c, channels/sip/include/sip.h: Allow chan_sip to decline unwanted media streams This change replaces the static array of four representable media streams with an AST_LIST so that chan_sip can keep track of offered media streams. This allows chan_sip to deal with offers containing multiple same-type streams and many other situations without rejecting the SDP offer in its entirety, yet still generating a valid response. This also covers cases where Asterisk can not comprehend the offer if it is in the correct format. Previously, chan_sip would reject SDP offers or entirely ignore individual stream offers in an effort to be more compatible which would often result in invalid SDP responses. Review: https://reviewboard.asterisk.org/r/1988/ 2012-06-15 16:30 +0000 [r369027] Jason Parker * /, apps/app_voicemail.c: Fix voicemail API tests by using the correct argument order for create/destroy. ........ Merged revisions 369024 from http://svn.asterisk.org/svn/asterisk/certified/branches/1.8.11 ........ Merged revisions 369026 from http://svn.asterisk.org/svn/asterisk/branches/10-digiumphones 2012-06-15 16:20 +0000 [r369013] Kevin P. Fleming * main/format.c, main/udptl.c, main/netsock2.c, main/autoservice.c, main/rtp_engine.c, main/frame.c, main/security_events.c, /, main/say.c, main/threadstorage.c, channels/console_video.c, main/devicestate.c, main/astfd.c, main/taskprocessor.c, main/format_pref.c, main/astobj2.c, main/indications.c, main/config.c, main/loader.c, main/term.c, apps/confbridge/conf_config_parser.c, main/cli.c, channels/sig_analog.c, main/framehook.c, main/strcompat.c, main/plc.c, main/fskmodem_int.c, main/syslog.c, main/stdtime/localtime.c, main/bridging.c, main/db.c, channels/sig_ss7.c, main/datastore.c, main/sched.c, channels/sip/sdp_crypto.c, main/strings.c, main/pbx.c, channels/vcodecs.c, channels/sip/security_events.c, main/libasteriskssl.c, channels/iax2-provision.c, pbx/dundi-parser.c, main/aoc.c, main/cel.c, utils/astdb2bdb.c, channels/iax2-parser.c, main/chanvars.c, main/netsock.c, build_tools/find_missing_support_level (added), main/data.c, main/srv.c, channels/chan_misdn.c, main/privacy.c, main/fixedjitterbuf.c, channels/sip/dialplan_functions.c, main/test.c, main/audiohook.c, codecs/codec_dahdi.c, main/alaw.c, main/asterisk.c, main/timing.c, main/global_datastores.c, main/fskmodem_float.c, main/ccss.c, channels/sip/reqresp_parser.c, main/xml.c, channels/misdn/isdn_msg_parser.c, main/utils.c, main/autochan.c, channels/misdn/isdn_lib.c, main/enum.c, main/presencestate.c, main/fskmodem.c, channels/misdn_config.c, main/io.c, main/channel.c, main/cdr.c, res/ael/pval.c, main/ulaw.c, main/dial.c, main/format_cap.c, main/tdd.c, channels/console_gui.c, main/heap.c, channels/misdn/ie.c, main/logger.c, main/app.c, channels/console_board.c, main/image.c, main/message.c, main/dns.c, main/lock.c, main/stun.c, channels/sip/srtp.c, main/dnsmgr.c, main/slinfactory.c, main/channel_internal_api.c, main/translate.c, main/jitterbuf.c, main/acl.c, utils/astdb2sqlite3.c, channels/sip/utils.c, channels/sig_pri.c, apps/app_system.c, funcs/func_realtime.c, main/tcptls.c, main/hashtab.c, funcs/func_presencestate.c, apps/app_celgenuserevent.c, main/abstract_jb.c, main/callerid.c, main/file.c, main/config_options.c, res/snmp/agent.c, main/astmm.c, main/event.c, channels/misdn/portinfo.c, channels/sip/config_parser.c, channels/vgrabbers.c, main/dsp.c, main/xmldoc.c: Multiple revisions 369001-369002 ........ r369001 | kpfleming | 2012-06-15 10:56:08 -0500 (Fri, 15 Jun 2012) | 11 lines Add support-level indications to many more source files. Since we now have tools that scan through the source tree looking for files with specific support levels, we need to ensure that every file that is a component of a 'core' or 'extended' module (or the main Asterisk binary) is explicitly marked with its support level. This patch adds support-level indications to many more source files in tree, but avoids adding them to third-party libraries that are included in the tree and to source files that don't end up involved in Asterisk itself. ........ r369002 | kpfleming | 2012-06-15 10:57:14 -0500 (Fri, 15 Jun 2012) | 3 lines Add a script to enable finding source files without support-levels defined. ........ Merged revisions 369001-369002 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369005 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-15 16:17 +0000 [r369007] Kinsey Moore * main/frame.c, channels/chan_iax2.c, include/asterisk/frame.h: Add HANGUPCAUSE hash support to IAX2 Continuing with the Who Hung Up? project for Asterisk 11, this adds support to IAX2 for the HANGUPCAUSE hash. Additionally, this breaks out some functionality in frame.c for getting information about frame types and subclasses. Review: https://reviewboard.asterisk.org/r/1941/ (issue SWP-4222) 2012-06-15 15:33 +0000 [r369000] Jason Parker * /, apps/app_voicemail.exports.in: Remove some symbol exports that got missed in the removal of global symbols. (issue AST-807) (issue AST-901) (issue AST-908) ........ Merged revisions 368998 from http://svn.asterisk.org/svn/asterisk/certified/branches/1.8.11 ........ Merged revisions 368999 from http://svn.asterisk.org/svn/asterisk/branches/10-digiumphones 2012-06-15 00:55 +0000 [r368972-368991] Richard Mudgett * /: Remove remaining properties mmichelson left laying around from phones branch merge. * apps/app_dial.c, main/channel.c, include/asterisk/app.h, main/ccss.c, main/app.c, apps/app_followme.c, apps/app_queue.c, apps/app_stack.c: Allow non-normal execution routines to be able to run on hungup channels. * Make non-normal dialplan execution routines be able to run on a hung up channel. This is preparation work for hangup handler routines. * Fixed ability to support relative non-normal dialplan execution routines. (i.e., The context and exten are optional for the specified dialplan location.) Predial routines are the only non-normal routines that it makes sense to optionally omit the context and exten. Setting a hangup handler also needs this ability. * Fix Return application being able to restore a dialplan location exactly. Channels without a PBX may not have context or exten set. * Fixes non-normal execution routines like connected line interception and predial leaving the dialplan execution stack unbalanced. Errors like missing Return statements, popping too many stack frames using StackPop, or an application returning non-zero could leave the dialplan stack unbalanced. * Fixed the AGI gosub application so it cleans up the dialplan execution stack and handles the autoloop priority increments correctly. * Eliminated the need for the gosub_virtual_context return location. Review: https://reviewboard.asterisk.org/r/1984/ * main/pbx.c: Make the Hangup application set a softhangup flag. The Hangup application used to just return -1 to cause normal dialplan execution to hangup a channel. For the non-normal execution routines like predial and connected-line interception routines, the hangup request would exit the routine early but otherwise be ignored. * Made the Hangup application not allow setting a cause code of zero. A zero cause code is not defined. * include/asterisk/app.h: Move vm defines to group them better. 2012-06-14 19:40 +0000 [r368966] Jason Parker * include/asterisk/app.h, /, tests/test_voicemail_api.c, main/app.c, include/asterisk/app_voicemail.h (removed), apps/app_voicemail.c: Multiple revisions 368963,368965 ........ r368963 | qwell | 2012-06-14 13:47:03 -0500 (Thu, 14 Jun 2012) | 14 lines Remove global symbol requirement from app_voicemail. This uses the existing "function installation" stuff that already existed for other functions, like getting message counts. (closes issue AST-807) (issue AST-901) (issue AST-908) Review: https://reviewboard.asterisk.org/r/1965/ ........ Merged revisions 368962 from http://svn.asterisk.org/svn/asterisk/certified/branches/1.8.11 ........ r368965 | qwell | 2012-06-14 14:04:57 -0500 (Thu, 14 Jun 2012) | 11 lines These functions that were moved need to be static. Also wrap test functions in a #ifdef. (issue AST-807) (issue AST-901) (issue AST-908) ........ Merged revisions 368964 from http://svn.asterisk.org/svn/asterisk/certified/branches/1.8.11 ........ Merged revisions 368963,368965 from http://svn.asterisk.org/svn/asterisk/branches/10-digiumphones 2012-06-14 17:34 +0000 [r368948] Matthew Jordan * /, channels/chan_skinny.c: AST-2012-009: Fix crash in chan_skinny due to Key Pad Button Message handling AST-2012-008 (r367844) fixed a denial of service attack exploitable in the Skinny channel driver that occurred when certain messages are sent after a previously registered station sends an Off Hook message. Unresolved in that patch is an issue in the Asterisk 10 releases, wherein, if a Station Key Pad Button Message is processed after an Off Hook message, the channel driver will inappropriately dereference a NULL pointer. This patch fixes those places where the message handling or the channel callback functions would attempt to dereference the line's pointer to the device. (issue ASTERISK-19905) Reported by: Christoph Hebeisen Tested by: mjordan, Christoph Hebeisen Patches: AST-2012-009-10.diff uploaded by mjordan (license 6283) ........ Merged revisions 368947 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-14 15:28 +0000 [r368929] Mark Michelson * /, main/Makefile: Revert Makefile change to remove embedding res_adsi.so The change has resulted in a linking error for certain versions of GCC. This is much worse than the original issue, so for now, temporarily revert the change. A more thorough change will be sought out. ........ Merged revisions 368927 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 368928 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-14 13:41 +0000 [r368920-368921] Terry Wilson * include/asterisk/config_options.h, main/config_options.c: Add a post_apply callback to the Config Options API This adds a callback that only fires when changes have been successfully applied via the Config Options API. Review: https://reviewboard.asterisk.org/r/1980/ * include/asterisk/config_options.h, main/config_options.c: Add filename alias support to the Config Options API This adds the ability to handle a single filename alias for a config file. This is useful if a config filename has changed, but the old filename should be supported for backwards compatibility. Review: https://reviewboard.asterisk.org/r/1981/ 2012-06-13 21:17 +0000 [r368900] Mark Michelson * /, funcs/func_volume.c: Fix a deadlock that occurs when func_volume is used on a local channel. This was discovered by trying to perform a call forward to an extension that makes use of func_volume. When the local channel is optimized away, the datastore on the local;2 channel would have its audiohook destroyed rather than detaching the audiohook from the channel and then destroying it. With this patch, func_volume's datastore destructor takes the proper route of detaching the audiohook and then destroying it. (closes issue ASTERISK-19611) reported by Volker Sauer Patches: ASTERISK-19611.patch uploaded by Mark Michelson (license #5049) ........ Merged revisions 368898 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 368899 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-13 20:28 +0000 [r368896] Matthew Jordan * res/res_smdi.c, /, res/res_adsi.c: Mark res_smdi/res_adsi as 'core' supported modules Recently, various issues surrounding weak symbols have caused problems with modules that rely on that feature to be enabled in menuselect. This includes app_voicemail and chan_dahdi, as they both rely upon res_smdi and res_adsi, which, in certain circumstances, may not be enabled by default in menuselect. Because res_smdi/res_adsi are dependencies for chan_dahdi/app_voicemail, this patch marks both as 'core' supported modules. This will allow both app_voicemail and chan_dahdi to be enabled as well, regardless of whether or not that system supports weak symbols. (issue AST-900) Reported by: Thomas Arimont (issue AST-885) Reported by: Denis Alberto Martinez ........ Merged revisions 368894 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 368895 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-13 19:51 +0000 [r368886] Mark Michelson * /, main/Makefile: Remove forced linking of res_adsi.o In GCC 4.5+ the result is that Asterisk has a phantom module loaded at startup, claiming to be res_adsi. (closes issue ASTERISK-19920) reported by Leif Madsen ........ Merged revisions 368873 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 368885 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-13 14:55 +0000 [r368832-368855] Matthew Jordan * Makefile: Replace MODULES_DIR with ASTMODDIR in Makefile's INSTALLDIRS Post Asterisk 10, the MODULES_DIR variable no longer exists, and was replaced with ASTMODDIR. * Makefile, /: Do not install empty directories; add ASTLIBDIR r368830 modified the installation script to only create a directory if that directory does not exist. If some directory variable was empty, it would attempt to create the empty location. It also failed to create the ASTLIBDIR directory. This patch fixes it such that the correct directories are made and only created if a value specifying them actually exists. ........ Merged revisions 368852 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 368853 from http://svn.asterisk.org/svn/asterisk/branches/10 * Makefile, /: Do not perform install on existing directories If a directory already exists, performing a 'make install' will remove the permissions associated with the current directory and replace them with the permissions of the user executing the install. This patch changes this behavior to only perform an install on the directory if the directory does not exist. Thus, if a user later changes the permissions on that directory, those permissions will be preserved in subsequent installs. Review: https://reviewboard.asterisk.org/r/1986 Review: https://reviewboard.asterisk.org/r/1864 (closes issue ASTERISK-19492) Reported by: Karl Fife Tested by: Paul Belanger, Tilghman Lesher patches: ASTERISK-19492 by pabelanger (uploaded by mjordan) ........ Merged revisions 368830 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 368831 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-12 15:46 +0000 [r368809] Mark Michelson * /, channels/chan_sip.c: Set the Caller ID "tag" on peers even if remote party information is present. On incoming calls, we were setting the cid_tag on the dialog only if there was no remote party information (Remote-Party-ID or P-Asserted-Identity) present. The Caller ID tag is an invented parameter, though, and should be set no matter the circumstance. (closes issue ASTERISK-19859) Reported by Thomas Arimont (closes issue AST-884) Reported by Trey Blancher ........ Merged revisions 368807 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 368808 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-12 14:09 +0000 [r368793-368794] Matthew Jordan * /: Update merge property information * channels/chan_sip.c: Fix deadlock in SIP transfers that involve a REFER request In r367163, "send to voicemail" functionality was added to the SIP channel driver. This required updating the party redirecting information for the channel based on the headers provided in the REFER request. When the redirecting party information is updated on the channel, a call to ast_indicate_data occurs. Because handle_request_refer still had the sip_pvt locked, a deadlock could occur between the pbx_thread and the do_monitor thread servicing the REFER request. This patch preserves the proper locking order between the channel and the sip_pvt by ensuring that the sip_pvt is unlocked prior to updating the party redirecting information on the channel. (closes issue AST-903) Reported by: Matt Jordan patches: jira_ast_903_trunk.patch by rmudgett (license 5621) 2012-06-12 04:03 +0000 [r368784] Kinsey Moore * channels/chan_sip.c, UPGRADE.txt: Parse ANI2 information from SIP From header parameters ANI2 information is now parsed out of SIP From headers when present in the oli, isup-oli, and ss7-oli parameters and is available via the CALLERID(ani2) dialplan function. (closes issue ASTERISK-19912) Patch-by: Rob Gagnon Review: https://reviewboard.asterisk.org/r/1947/ 2012-06-11 17:34 +0000 [r368772] Richard Mudgett * main/channel.c, channels/chan_dahdi.c, channels/sig_analog.c, /, channels/chan_sip.c, include/asterisk/channel.h, channels/chan_iax2.c: Fix deadlock potential with ast_set_hangupsource() calls. Calling ast_set_hangupsource() with the channel lock held can result in a deadlock because the function also locks the bridged channel. (issue ASTERISK-19537) (closes issue AST-891) Reported by: Guenther Kelleter Tested by: Guenther Kelleter (closes issue ASTERISK-19801) Reported by: Alec Davis ........ Merged revisions 368759 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 368760 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-11 15:23 +0000 [r368722-368751] Kinsey Moore * channels/sip/sdp_crypto.c, /, channels/chan_sip.c, main/say.c, res/res_fax.c, channels/sip/reqresp_parser.c, apps/app_queue.c, main/loader.c, channels/chan_dahdi.c, res/res_config_odbc.c, channels/sip/dialplan_functions.c, apps/app_directory.c, pbx/pbx_config.c, res/res_odbc.c, res/res_speech.c, apps/app_voicemail.c: Fix coverity UNUSED_VALUE findings in core support level files Most of these were just saving returned values without using them and in some cases the variable being saved to could be removed as well. (issue ASTERISK-19672) ........ Merged revisions 368738 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 368739 from http://svn.asterisk.org/svn/asterisk/branches/10 * /: Recorded merge of revisions 368721 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Fix compilation in dev-mode Backport a compilation fix in md5.c from trunk that only showed up in dev-mode under certain compiler versions. ........ Merged revisions 368719 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2012-06-08 21:08 +0000 [r368712-368714] Richard Mudgett * main/manager.c, main/utils.c, include/asterisk/strings.h: Fix error paths in action_hangup() for AMI Hangup action. * Check allocation function return values for failure. Crashing is bad. * Tweak ast_regex_string_to_regex_pattern() parameters for proper ast_str usage. * main/channel.c, include/asterisk/channel.h: Tweak ast_channel_softhangup_withcause_locked() to take a typed parameter. 2012-06-08 08:32 +0000 [r368688] Igor Goncharovskiy * channels/chan_unistim.c: Fix MWI update so LED display correct voicemail state after phone usage. Also fixes few warnings. (closes issue #19675) Reported by: dbohling Patches: fixmwi.patch uploaded by dbohling (license 6378) 2012-06-07 21:44 +0000 [r368680-368681] Damien Wedhorn * channels/chan_skinny.c: Skinny cleanup (mwi_event_cb). Original was testing for d->session, setting and testing again (all nested). Removed duplicate testing and restructured function to test/return and then the main code. * channels/chan_skinny.c: Skinny cleanup. Removed d->registered which was mirroring d->session. Changed relevant references to use d->session instead. Moved setting and unsetting of l->device from session register to device configuration. As such, l->device will always be valid unless it is has not been configured to a device. Revised various test where checking if a device is registered to use l->device->session. 2012-06-07 20:39 +0000 [r368674-368675] Richard Mudgett * apps/app_queue.c: Fix app_queue debug message use of args.options after the string has been parsed. * apps/app_queue.c: Fix inverted test in app_queue for ringinuse. Regression from -r367080 ringinuse commit. (issue ASTERISK-19536) 2012-06-07 20:32 +0000 [r368673] Terry Wilson * main/udptl.c, include/asterisk/config_options.h, apps/app_skel.c, main/config_options.c, tests/test_config.c: Fix reloading an unchanged file with the Config Options API Adding multiple file support broke reloading an unchanged file. This adds an enum for return values for the aco_process_* functions and ensures that the config is not applied if res is not ACO_PROCESS_OK. Review: https://reviewboard.asterisk.org/r/1979/ 2012-06-07 20:00 +0000 [r368668] Tzafrir Cohen * formats/format_ogg_vorbis.c: Fix a typo in format_ogg_vorbis.c: suport Review: https://reviewboard.asterisk.org/r/1970/ 2012-06-07 15:43 +0000 [r368663] Terry Wilson * include/asterisk/config_options.h, main/config_options.c, tests/test_config.c: Add default handler documentation and standardize acl handler Added documentation describing what flags and arguments to pass to aco_option_register for default option types. Also changed the ACL handler to use the flags parameter to differentiate between "permit" and "deny" instead of adding an additional vararg parameter. Review: https://reviewboard.asterisk.org/r/1969/ 2012-06-06 21:34 +0000 [r368646] Richard Mudgett * channels/chan_dahdi.c, channels/sig_analog.c, /: Fix POTS flash hook to orignate a second call deadlock. A deadlock can occur when a POTS phone tries to flash hook to originate a second call for 3-way or transfer. If another process is scanning the channels container when the POTS line flash hooks then a deadlock will occur. * Release the channel and private locks when creating a new channel as a result of a flash hook. (closes issue ASTERISK-19842) Reported by: rmudgett Tested by: rmudgett ........ Merged revisions 368644 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 368645 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-06 19:25 +0000 [r368637] Mark Michelson * /, channels/chan_sip.c: Fix a specific scenario where ACKs are not matched. If a dialog-starting INVITE contains a to-tag, then Asterisk will respond with a 481. In this case, the resulting incoming ACK would not be matched, so Asterisk would continue retransmitting the 481 until the transaction times out. There were two issues. Asterisk, upon creating a sip_pvt would generate a local tag. However, when the time came to transmit the 481, since there was a to-tag in the INVITE, Asterisk would place this original to-tag in the 481 response. When the ACK came in, Asterisk would attempt to match the to-tag in the ACK to the generated local tag. Unfortunately, Asterisk never actually transmitted a response with the generated local tag, so the to-tag in the ACK would not match. The other problem was that when the 481 was sent, nothing was set on the sip_pvt to indicate what CSeq is expected in the ACK. To fix the first problem, we zero out the to-tag seen in the incoming INVITE. This way, Asterisk, when time to send a response, will send its generated local tag instead. To fix the second problem, we set the sip_pvt's pendinginvite to the CSeq of the INVITE when we send a 481. (closes issue ASTERISK-19892) Reported by Mark Michelson ........ Merged revisions 368625 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 368629 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-06 17:22 +0000 [r368606] Matthew Jordan * /, build_tools/make_version: Add feature modifier to versions produced from branches Certain branches, such as Certified Asterisk, may have a modifier added to them that specifies the features available in that branch. For branches, this modifier is expected to be reflected in the location of the branch in subversion. For example, a subversion of URL of /certified/branches/1.8.11 would have a feature modifier of 'certified'. This is slightly different then how features are determined for tags, where the feature is part of the actual tag name, e.g., "10.5.0-digiumphones". In keeping with the nomenclature used for tags, the feature specifier for branches is translated and placed after the revision numbers. For the example given previously, this would result in a branch version of "Asterisk SVN-branch-1.8.11-cert-rXXXXXX". ........ Merged revisions 368604 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 368605 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-06 16:11 +0000 [r368588] Kinsey Moore * /, channels/chan_sip.c: Ensure overlapping hold flags do not conflict When changing between different modes of hold, the flags were not being cleared out properly causing a failure to change hold states. (closes issue ASTERISK-19919) Patch-by: Morten Tryfoss Reported-by: Morten Tryfoss ........ Merged revisions 368586 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 368587 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-06 01:11 +0000 [r368566-368569] Richard Mudgett * /, main/features.c: Fix parked call performing a DTMF blind transfer after being retrieved. When a parked call was retrieved from the parking lot, it could not do a blind transfer because it caused the involved calls to be hung up unconditionally. * Made the ParkedCall application return the ast_bridge_call() return value. (closes issue ABE-2862) Reported by: Vlad Povorozniuc ........ Merged revisions 368567 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 368568 from http://svn.asterisk.org/svn/asterisk/branches/10 * main/features.c: Make builtin_blindtransfer() fully use ast_async_goto() abilities. 2012-06-05 16:25 +0000 [r368550] Jonathan Rose * CHANGES: Merge 'core' and 'core changes' sections in CHANGES file. 2012-06-05 15:28 +0000 [r368519-368537] Kinsey Moore * /: Recorded merge of revisions 368536 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Resolve some build warnings My newly upgraded compiler caught these usages of uninitialized values. They weren't actually used. ........ Merged revisions 368533 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * /, apps/app_voicemail.c: Ensure that pages and emails are sent using RFC822-compliant date format When localization was added to app_voicemail, these headers were altered when they should have remained in en_US format for RFC compliance. This reverts the changes to those two lines. (closes issue ASTERISK-19876) ........ Merged revisions 368520 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 368524 from http://svn.asterisk.org/svn/asterisk/branches/10 * apps/app_dial.c, channels/chan_unistim.c, channels/chan_local.c, channels/chan_sip.c, main/channel_internal_api.c, main/features.c, include/asterisk/channel.h, apps/app_queue.c: Convert AST_FLAG_ANSWERED_ELSEWHERE usage to AST_CAUSE_ANSWERED_ELSEWHERE This was essentially duplicated functionality where normal channels used AST_CAUSE_ANSWERED_ELSEWHERE while local channels and queues used AST_FLAG_ANSWERED_ELSEWHERE. This removes the flag and converts that usage into AST_CAUSE_ANSWERED_ELSEWHER usage. Review: https://reviewboard.asterisk.org/r/1944 (closes issue ASTERISK-19865) Patch-by: Birger Harzenetter 2012-06-04 22:12 +0000 [r368500] Mark Michelson * /, channels/chan_sip.c: Relay proper SIP responses on calling side. Revision 351130 broke corect HANGUPCAUSE setting for the 404 case in chan_sip. Other cases were also potentially broken. This patch fixes the relaying of causes to be what they used to be. (closes issue ASTERISK-19914) Reported by Pavel Troller Tested by Walter Doekes (via a reviewboard test to be committed later) Patches: chan_sip.diff uploaded by Pavel Troller (license #6302) ........ Merged revisions 368498 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 368499 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-04 21:18 +0000 [r368472] Richard Mudgett * /, UPGRADE.txt: Document BLINDTRANSFER behavior change. (issue ASTERISK-19322) (closes issue ASTERISK-19875) Reported by: call ........ Merged revisions 368469 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 368470 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-04 20:53 +0000 [r368435-368467] Mark Michelson * contrib/editors/asterisk.vim: Also have vim syntax-highlight type=network. * contrib/editors/asterisk.vim: Add vim syntax highlighting for type=line, type=phone, and type=application. (closes issue ASTERISK-19800) Reported by: Billy Chia Patches: asterisk.vim.patch uploaded by Billy Chia (license #6381) * main/channel.c, apps/app_mixmonitor.c: Remove some extra debugging I forgot to remove in the merge of Digium phone support. * /: Remove automerge properties. * /, contrib/realtime/mysql/voicemail_messages.sql, main/presencestate.c (added), main/config.c, main/channel.c, include/asterisk/callerid.h, include/asterisk/file.h, main/manager.c, channels/chan_skinny.c, include/asterisk/event_defs.h, include/asterisk/sip_api.h (added), tests/test_voicemail_api.c (added), main/features.c, apps/app_voicemail.exports.in, main/app.c, main/message.c, channels/sip/include/sip.h, main/pbx.c, channels/chan_sip.c, include/asterisk/presencestate.h (added), include/asterisk/config.h, include/asterisk/app_voicemail.h (added), configs/manager.conf.sample, apps/app_queue.c, include/asterisk/manager.h, include/asterisk/app.h, funcs/func_presencestate.c (added), include/asterisk/message.h, main/file.c, main/callerid.c, main/event.c, include/asterisk/pbx.h, tests/test_config.c, channels/chan_sip.exports.in (added), apps/app_mixmonitor.c, main/asterisk.c, apps/app_voicemail.c: Merge changes dealing with support for Digium phones. Presence support has been added. This is accomplished by allowing for presence hints in addition to device state hints. A dialplan function called PRESENCE_STATE has been added to allow for setting and reading presence. Presence can be transmitted to Digium phones using custom XML elements in a PIDF presence document. Voicemail has new APIs that allow for moving, removing, forwarding, and playing messages. Messages have had a new unique message ID added to them so that the APIs will work reliably. The state of a voicemail mailbox can be obtained using an API that allows one to get a snapshot of the mailbox. A voicemail Dialplan App called VoiceMailPlayMsg has been added to be able to play back a specific message. Configuration hooks have been added. Configuration hooks allow for a piece of code to be executed when a specific configuration file is loaded by a specific module. This is useful for modules that are dependent on the configuration of other modules. chan_sip now has a public method that allows for a custom SIP INFO request to be sent mid-dialog. Digium phones use this in order to display progress bars when files are played. Messaging support has been expanded a bit. The main visible difference is the addition of an AMI action MessageSend. Finally, a ParkingLots manager action has been added in order to get a list of parking lots. 2012-06-04 19:46 +0000 [r368421] Richard Mudgett * main/channel.c, /: Fix potential deadlock between masquerade and chan_local. * Restructure ast_do_masquerade() to not hold channel locks while it calls ast_indicate(). * Simplify many calls to ast_do_masquerade() since it will never return a failure now. If it does fail internally because a channel driver callback operation failed, the only thing ast_do_masquerade() can do is generate a warning message about strange things may happen and press on. * Fixed the call to ast_bridged_channel() in ast_do_masquerade(). This change fixes half of the deadlock reported in ASTERISK-19801 between masquerades and chan_iax. (closes issue ASTERISK-19537) Reported by: rmudgett Tested by: rmudgett Review: https://reviewboard.asterisk.org/r/1915/ ........ Merged revisions 368405 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 368407 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-02 21:13 +0000 [r368359] Joshua Colp * include/asterisk/utils.h, res/res_http_websocket.exports.in (added), include/asterisk/http_websocket.h (added), main/utils.c, res/res_http_websocket.c (added): Add res_http_websocket module which implements the WebSocket protocol according to RFC 6455. Review: https://reviewboard.asterisk.org/r/1952/ 2012-06-01 23:53 +0000 [r368311] Richard Mudgett * /, apps/app_stack.c: Fix deadlock when Gosub used with alternate dialplan switches. Attempting to remove a channel from autoservice with the channel lock held will result in deadlock. * Restructured gosub_exec() to not call ast_parseable_goto() and ast_exists_extension() with the channel lock held. (closes issue ASTERISK-19764) Reported by: rmudgett Tested by: rmudgett ........ Merged revisions 368308 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 368310 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-01 20:42 +0000 [r368268-368269] Kevin P. Fleming * channels/chan_sip.c: Improve SDP offer/answer RFC compliance Asterisk should not accept SDP offers that contain unknown RTP profiles (for audio/video streams) or unknown top-level media types. When it does, it answers with an SDP that does not match the offer properly, and this will nearly always result in a broken call. This patch causes such offers to be rejected. Review: https://reviewboard.asterisk.org/r/1811/ * /, channels/chan_sip.c: Improve SDP parsing warning messages * 'Unsupported media type' is only reported when that is in fact the case, not when a supported media type is included in an 'm' line that has an invalid format. * All warning messages related to parsing 'm' lines now include the 'm' line contents. * (minor bugfix) newline added to port-number-zero warning messages. * Warning messages improved to use RFC-specified terminology for various items. * Warnings for offers that include more than one port for a single media type now include the media type. Review: https://reviewboard.asterisk.org/r/1811/ ........ Merged revisions 368218 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 368267 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-06-01 18:20 +0000 [r368181-368221] Terry Wilson * configs/config_test.conf.sample (added): Add missing config for config API test * main/udptl.c, include/asterisk/utils.h, include/asterisk/astobj2.h, configure.ac, include/asterisk/config.h, main/astobj2.c, main/config.c, Makefile, include/asterisk/config_options.h (added), configure, main/asterisk.exports.in, apps/app_skel.c, main/config_options.c (added), tests/test_config.c, makeopts.in, configs/app_skel.conf.sample (added), include/asterisk/stringfields.h: Add new config-parsing framework This framework adds a way to register the various options in a config file with Asterisk and to handle loading and reloading of that config in a consistent and atomic manner. Review: https://reviewboard.asterisk.org/r/1873/ 2012-06-01 13:04 +0000 [r368143] Mark Michelson * channels/chan_sip.c, configs/sip.conf.sample, channels/sip/include/sip.h: Help mitigate potential reinvite glare scenarios. When Asterisk servers are set up back-to-back, and direct media is to be used betweeen endpoints, it is fairly common for the two Asterisk servers to send direct media reinvites to each other simultaneously. This results in 491s and ACKs being exchanged between the servers. While the media eventually gets set up properly, the problem is that there can be a noticeable delay for the streams to stabilize. This patch adds a new directmedia option called "outgoing". With this set, an immediate direct media reinvite will only be sent if the call direction is outgoing. For incoming dialogs, an immediate direct media reinvite will not be sent, but further "reactionary" direct media reinvites may be sent. Review: https://reviewboard.asterisk.org/r/1954 2012-06-01 03:30 +0000 [r368094] Michael L. Young * /, funcs/func_channel.c: Add documentation to function CHANNEL for options echocan_mode and buffers The ability to set "echocan_mode" and "buffers" through the dialplan was added to chan_dahdi some time ago. This patch adds some documentation to func_channel. (Closes issue ASTERISK-19911) Reported by: Dale Noll Tested by: Michael L. Young Patches: asterisk-19911-branch18.diff uploaded by Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/1949/ ........ Merged revisions 368092 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 368093 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-31 18:39 +0000 [r368052] Richard Mudgett * res/ael/pval.c, main/tcptls.c, main/manager.c, res/res_config_odbc.c, /, channels/chan_sip.c, channels/chan_agent.c, funcs/func_math.c, main/features.c, apps/app_queue.c, channels/chan_iax2.c, pbx/pbx_config.c: Coverity Report: Fix issues for error type REVERSE_INULL (core modules) * Fixes findings: 0-2,5,7-15,24-26,28-31 (issue ASTERISK-19648) Reported by: Matt Jordan ........ Merged revisions 368039 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 368042 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-30 18:08 +0000 [r367908-367982] Richard Mudgett * /: Use the DEADLOCK_AVOIDANCE() macro instead. (issue ASTERISK-19854) ........ Merged revisions 367980 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 367981 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, channels/sig_pri.c, channels/sig_ss7.c: Fix deadlock when executing CLI "pri show channels" and "ss7 show channels" commands. * Fix sig_pri_lock_owner() to avoid deadlock properly. * Code pri_grab() better. * Fix sig_ss7_lock_owner() to avoid deadlock properly. * Code ss7_grab() better. (closes issue ASTERISK-19854) Reported by: Jaxon Patches: jira_asterisk_19854_v1.8.6.patch (license #5621) patch uploaded by rmudgett (Modified to do the same thing to sig_ss7) Tested by: Jaxon ........ Merged revisions 367976 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 367978 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, apps/app_meetme.c: Coverity Report: Fix issues for error type REVERSE_INULL (deprecated modules) * Fix only issue pointed out by deprecated_REVERSE_INULL.txt for app_meetme.c in find_user(). * Change use of %i to %d in sscanf() in find_user(). The use of %i gives unexpected parsing because it can accept hex, octal, and decimal integer formats. * Changed other uses of %i in app_meetme() to use %d for consistency. (issue ASTERISK-19648) Reported by: Matt Jordan ........ Merged revisions 367906 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 367907 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-29 18:40 +0000 [r367845] Matthew Jordan * /, channels/chan_skinny.c: AST-2012-008: Fix remote crash vulnerability in chan_skinny When a skinny session is unregistered, the corresponding device pointer is set to NULL in the channel private data. If the client was not in the on-hook state at the time the connection was closed, the device pointer can later be dereferened if a message or channel event attempts to use a line's pointer to said device. The patches prevent this from occurring by checking the line's pointer in message handlers and channel callbacks that can fire after an unregistration attempt. (closes issue ASTERISK-19905) Reported by: Christoph Hebeisen Tested by: mjordan, Damien Wedhorn Patches: AST-2012-008-1.8.diff uploaded by mjordan (license 6283) AST-2012-008-10.diff uploaded by mjordan (licesen 6283) ........ Merged revisions 367844 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-25 16:33 +0000 [r367783] Richard Mudgett * /, channels/chan_iax2.c: AST-2012-007: Fix IAX receiving HOLD without suggested MOH class crash. * Made schedule_delivery() set the received frame f->data.ptr to NULL if the datalen is zero. * Fix queue_signalling() memcpy() size error. * Made queue_signalling() not use C++ keyword variable names. (closes issue ASTERISK-19597) Reported by: mgrobecker Patches: jira_asterisk_19597_v1.8.patch (license #5621) patch uploaded by rmudgett Tested by: rmudgett, Michael L. Young ........ Merged revisions 367781 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 367782 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-25 02:31 +0000 [r367732] Michael L. Young * /, channels/chan_sip.c: Fix pvt_sip for inbound call to use peer's allowtransfer setting The pvt_sip allowtransfer was not being set to that of the peer's setting. Therefore, the global allowtransfer setting was being used instead which would lead to calls not being transfered if the global setting was set to 'no' despite the setting on the peer being 'yes' and vice versa, calls would be allowed to transfer even if the peer's setting was 'no' but the global setting was 'yes'. (Closes issue ASTERISK-19856) Reported by: Jacek Tested by: Michael L. Young, Jacek Patches: issue-asterisk-19856-branch10-v3.diff uploaded by Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/1923/ ........ Merged revisions 367730 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 367731 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-24 23:52 +0000 [r367693] Richard Mudgett * apps/app_dial.c, /, apps/app_queue.c: Fix Dial I option ignored if dial forked and one fork redirects. The Dial and Queue I option is intended to block connected line updates and redirecting updates. However, it is a feature that when a call is locally redirected, the I option is disabled if the redirected call runs as a local channel so the administrator can have an opportunity to setup new connected line information. Unfortunately, the Dial and Queue I option is disabled for *all* forked calls if one of those calls is redirected. * Make the Dial and Queue I option apply to each outgoing call leg independently. Now if one outgoing call leg is locally redirected, the other outgoing calls are not affected. * Made Dial not pass any redirecting updates when forking calls. Redirecting updates do not make sense for this scenario. * Made Queue not pass any redirecting updates when using the ringall strategy. Redirecting updates do not make sense for this scenario. * Fixed deadlock potential with chan_local when Dial and Queue send redirecting updates for a local redirect. * Converted the Queue stillgoing flag to a boolean bitfield. (closes issue ASTERISK-19511) Reported by: rmudgett Tested by: rmudgett Review: https://reviewboard.asterisk.org/r/1920/ ........ Merged revisions 367678 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 367679 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-24 18:56 +0000 [r367640] Jonathan Rose * main/rtp_engine.c, channels/chan_sip.c, include/asterisk/rtp_engine.h: chan_sip: fix problem directmediapermit/deny uses the wrong address When remotely bridging calls with directmedia, Asterisk would check the address of the peers/users holding directmedia ACLs (set via directmediapermit/directmediadeny) instead of the bridged peer. This is similar to r366547, but trunk specific and involves changes to the rtpengine instead of just chan_sip. (closes issue AST-876) review: https://reviewboard.asterisk.org/r/1924/ 2012-05-24 13:33 +0000 [r367563] Matthew Jordan * /, apps/app_confbridge.c: Fix crash in ConfBridge when user announcement is played for more than 2 users A patch introduced in r354938 made it so that ConfBridge would not attempt to play sound files if those files did not exist. Unfortunately, ConfBridge uses the same underlying function, play_sound_helper, to playback both sound files and numbers to callers. When a number is being played back, the name of the sound file is expected to be NULL. This NULL value was passed into a function that tested for the existance of a sound file and is not tolerant to NULL file names, causing a crash. This patch fixes the behavior, such that if a sound file does not exist we do not attempt to play it, but we only attempt that check if the a sound file was specified in the first place. If a sound file was not specified, we use the 'play number' logic in the helper function. (closes issue ASTERISK-19899) Reported by: Florian Gilcher Tested by: Florian Gilcher patches: asterisk-19899.diff uploaded by mjordan (license 6283) ........ Merged revisions 367562 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-24 00:36 +0000 [r367477-367520] Richard Mudgett * channels/iax2-parser.c: Made use IAX frame cache only for cacheable frame types. * main/pbx.c, /: Fix WaitExten(x,m(musicclass)) string termination. The AST_CONTROL_HOLD MOH class from the WaitExten application can now be queued onto a channel, passed over local channels with the /m option, and passed over IAX channels. ........ Merged revisions 367469 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 367470 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-23 20:39 +0000 [r367419] Jonathan Rose * main/pbx.c: logger: Fix a potential callid reference leak discovered in development Uncovered a nasty reference leak while I was writing some changes to chan_dahdi/sig_analog. Slapped myself around a bit after seeing that I performed the unchecked return causing this problem. 2012-05-23 20:30 +0000 [r367418] Mark Michelson * main/tcptls.c, /: Only call SSL_CTX_free if DO_SSL is defined. Thanks to Paul Belanger for pointing out this error. ........ Merged revisions 367416 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 367417 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-23 13:46 +0000 [r367376] Matthew Jordan * /, channels/chan_sip.c, channels/sip/include/sip.h: Re-add LastMsgsSent value for SIP peers Previously, MWI logic utilized a counter called 'lastmsgssent' to know whether or not MWI NOTIFY requests had been sent to a specific peer. When MWI notifications were changed to use the internal event framework, this value was no longer needed for its original purpose. Hence, it was no longer updated with the new/old message counts for a peer. The value was previously removed for Asterisk 10; however, since it was still present in Asterisk 1.8 and still useful for reporting purposes, it was decided to re-add the value. This patch re-adds the 'LastMsgsSent' field in the response to an AMI/CLI 'sip show peer [peer]' command, and makes it so that the value of lastmsgssent is updated appropriately. The value should now display the new/old message counts for a particular peer. (closes issue ASTERISK-17866) Reported by: Steve Davies patches by: ast-17866-rb1272.patch (License #5041 by irroot) Modified slightly for this commit Review: https://reviewboard.asterisk.org/r/1939 ........ Merged revisions 367362 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 367369 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-22 17:29 +0000 [r367274-367309] Terry Wilson * main/channel.c, /, include/asterisk/cel.h, main/channel_internal_api.c, include/asterisk/channel.h, main/cel.c, main/asterisk.c: Fix race condition for CEL LINKEDID_END event This patch fixes to situations that could cause the CEL LINKEDID_END event to be missed. 1) During a core stop gracefully, modules are unloaded when ast_active_channels == 0. The LINKDEDID_END event fires during the channel destructor. This means that occasionally, the cel_* module will be unloaded before the channel is destroyed. It seemed generally useful to wait until the refcount of all channels == 0 before unloading, so I added a channel counter and used it in the shutdown code. 2) During a masquerade, ast_channel_change_linkedid is called. It calls ast_cel_check_retire_linkedid which unrefs the linkedid in the linkedids container in cel.c. It didn't ref the new linkedid. Now it does. Review: https://reviewboard.asterisk.org/r/1900/ ........ Merged revisions 367292 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 367299 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, channels/chan_sip.c: Resolve crash in subscribing for MWI notifications ASTOBJ_UNREF sets the variable to NULL after unreffing it, so the variable should definitely not be used after that. To solve this in the two cases that affect subscribing for MWI notifications, we instead save the ref locally, and unref them in the error conditions. (closes issue ASTERISK-19827) Reported by: B. R Review: https://reviewboard.asterisk.org/r/1940/ ........ Merged revisions 367266 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 367267 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-21 22:45 +0000 [r367227] Richard Mudgett * main/channel.c: Made ast_queue_hangup() and ast_queue_hangup_with_cause() lock instead of trylock. It made no sense to trylock the channel and then unconditionally lock the channel right after. 2012-05-21 20:35 +0000 [r367189] Kinsey Moore * channels/chan_iax2.c: Make chan_iax2 reject cause code indications correctly If chan_iax2 does not reject the PVT_CAUSE_CODE frames, the cause will not be stored properly. 2012-05-21 20:31 +0000 [r367163-367183] Mark Michelson * include/asterisk/callerid.h, channels/chan_sip.c, main/callerid.c: Revert revision 367163. This should have been committed to my team trunk-digiumphones branch instead of trunk. * include/asterisk/callerid.h, channels/chan_sip.c, main/callerid.c: Add "send to voicemail" Digium phone functionality to Asterisk. This change accommodates two methods by which calls can be directed to a user's voicemail. * Incoming calls can be redirected to any user's voicemail. * Established calls can be blind transferred to any user's voicemail. Digium phones indicate the desire to direct a call to voicemail by using a Diversion header with a reason parameter of "send_to_vm". This patch adds the "send_to_vm" reason as a valid redirecting reason. In addition, chan_sip.c has been modified to update redirecting information on the transferred channel by reading a Diversion header on a REFER request. (closes issue AST-871) Reported by Malcolm Davenport Review: https://reviewboard.asterisk.org/r/1925 2012-05-21 17:39 +0000 [r367124] Terry Wilson * include/asterisk/astobj2.h: Minor documentation change 2012-05-18 19:39 +0000 [r367080] Jonathan Rose * configs/queues.conf.sample, CHANGES, apps/app_queue.c: app_queue: Per Member ringinuse option and deprecation of ignorebusy Adds a number of methods for controlling the setting of 'ringinuse' which is basically the same concept as the old ignorebusy setting, only now the per member setting always controls whether or not the member is actually ringed while in use. A CLI command and a manager action have been added to change a given queue member's ringinuse option while Asterisk is running and the an argument has been added for adding members with deliberately set ringinuse in queues.conf Some effort has been made to ensure compatability with dialplans and databases still referring to 'ignorebusy'. (issue ASTERISK-19536) reported by: Philippe Lindheimer Review: https://reviewboard.asterisk.org/r/1919/ 2012-05-18 17:54 +0000 [r367010-367029] Mark Michelson * channels/chan_dahdi.c, /, main/say.c: Address MISSING_BREAK static analysis reports some more. This addresses core findings 4 and 6. Moises Silva helped me by stating that a break could be safely added to the case where it is added in chan_dahdi.c In say.c, I have added a comment indicating that static analysis complains but that it is currently unknown if this is correct. This fixes all core findings of this type. (closes issue ASTERISK-19662) reported by Matthew Jordan ........ Merged revisions 367027 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 367028 from http://svn.asterisk.org/svn/asterisk/branches/10 * main/tcptls.c, /, channels/chan_sip.c, include/asterisk/tcptls.h: Fix memory leak of SSL_CTX structures in TLS core. SSL_CTX structures were allocated but never freed. This was a bigger issue for clients than servers since new SSL_CTX structures could be allocated for each connection. Servers, on the other hand, typically set up a single SSL_CTX for their lifetime. This is solved in two ways: 1. In __ssl_setup(), if a tcptls_cfg has an ssl_ctx on it, it is freed so that a new one can take its place. 2. A companion to ast_ssl_setup() called ast_ssl_teardown() has been added so that servers can properly free their SSL_CTXs. (issue ASTERISK-19278) ........ Merged revisions 367002 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 367003 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-18 15:51 +0000 [r366917-366955] Matthew Jordan * channels/chan_dahdi.c, /, channels/chan_sip.c, funcs/func_odbc.c, main/cli.c: Fix more memory leaks This patch adds to what was fixed in r366880. Specifically, it addresses the following: * chan_sip: dispose of an allocated frame in off nominal code paths in sip_rtp_read * func_odbc: when disposing of an allocated resultset, ensure that any rows that were appended to that resultset are also disposed of * cli: free the created return string buffer in another off nominal code path * chan_dahdi: free a frame that was allocated by the dsp layer if we choose not to process that frame (issue ASTERISK-19665) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1922/ ........ Merged revisions 366944 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 366948 from http://svn.asterisk.org/svn/asterisk/branches/10 * main/netsock2.c, res/res_rtp_asterisk.c, main/pbx.c, res/res_calendar_exchange.c, res/res_calendar_icalendar.c, apps/app_page.c, /, funcs/func_dialgroup.c, channels/chan_sip.c, apps/app_record.c, res/res_calendar_caldav.c, res/res_jabber.c, apps/app_queue.c, channels/chan_iax2.c, main/enum.c, main/editline/term.c, main/config.c, res/res_srtp.c, main/cli.c, main/editline/tokenizer.c, main/data.c, channels/chan_dahdi.c, funcs/func_odbc.c, main/features.c, apps/app_minivm.c, main/editline/readline.c, channels/sip/config_parser.c, main/xmldoc.c, res/res_calendar.c, apps/app_voicemail.c: Fix a variety of memory leaks This patch addresses a number of memory leaks in a variety of modules that were found by a static analysis tool. A brief summary of the changes: * app_minivm: free ast_str objects on off nominal paths * app_page: free the ast_dial object if the requested channel technology cannot be appended to the dialing structure * app_queue: if a penalty rule failed to match any existing rule list names, the created rule would not be inserted and its memory would be leaked * app_read: dispose of the created silence detector in the presence of off nominal circumstances * app_voicemail: dispose of an allocated unique ID field for MWI event un-subscribe requests in off nominal paths; dispose of configuration objects when using the secret.conf option * chan_dahdi: dispose of the allocated frame produced by ast_dsp_process * chan_iax2: properly unref peer in CLI command "iax2 unregister" * chan_sip: dispose of the allocated frame produced by sip_rtp_read's call of ast_dsp_process; free memory in parse unit tests * func_dialgroup: properly deref ao2 object grhead in nominal path of dialgroup_read * func_odbc: free resultset in off nominal paths of odbc_read * cli: free match_list in off nominal paths of CLI match completion * config: free comment_buffer/list_buffer when configuration file load is unchanged; free the same buffers any time they were created and config files were processed * data: free XML nodes in various places * enum: free context buffer in off nominal paths * features: free ast_call_feature in off nominal paths of applicationmap config processing * netsock2: users of ast_sockaddr_resolve pass in an ast_sockaddr struct that is allocated by the method. Failures in ast_sockaddr_resolve could result in the users of the method not knowing whether or not the buffer was allocated. The method will now not allocate the ast_sockaddr struct if it will return failure. * pbx: cleanup hash table traversals in off nominal paths; free ignore pattern buffer if it already exists for the specified context * xmldoc: cleanup various nodes when we no longer need them * main/editline: various cleanup of pointers not being freed before being assigned to other memory, cleanup along off nominal paths * menuselect/mxml: cleanup of value buffer for an attribute when that attribute did not specify a value * res_calendar*: responses are allocated via the various *_request method returns and should not be allocated in the various write_event methods; ensure attendee buffer is freed if no data exists in the parsed node; ensure that calendar objects are de-ref'd appropriately * res_jabber: free buffer in off nominal path * res_musiconhold: close the DIR* object in off nominal paths * res_rtp_asterisk: if we run out of ports, close the rtp socket object and free the rtp object * res_srtp: if we fail to create the session in libsrtp, destroy the temporary ast_srtp object (issue ASTERISK-19665) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1922 ........ Merged revisions 366880 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 366881 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-18 14:27 +0000 [r366896] Jonathan Rose * channels/sip/dialplan_functions.c: chan_sip: Fix a small TEST_FRAMEWORK related error that prevents compiling Introduced with r366842, a function call made only with TEST_FRAMEWORK enabled was missing an argument since the function arguments were changed. 2012-05-18 14:21 +0000 [r366843-366888] Kinsey Moore * /, channels/sip/config_parser.c: Reorder and renumber tests appropriately It appears that a patch did not apply properly when adding tests 12 and 13 and test 11 was duplicated. These tests have been reordered and renumbered such that they make sense. ........ Merged revisions 366882 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 366884 from http://svn.asterisk.org/svn/asterisk/branches/10 * main/channel.c: Make the new SIP_CAUSE backend behave more like the original SIP_CAUSE There was a slight discrepancy in the behaviors of the old SIP_CAUSE and the new SIP_CAUSE/HANGUPCAUSE when a channel had been originated and had not yet been answered. This caused the noload_res_srtp_attempt_srtp test to fail since the SIP_CAUSE variable was never actually set. This behavior has been restored. 2012-05-17 16:28 +0000 [r366842] Jonathan Rose * include/asterisk/logger.h, main/channel.c, channels/sip/include/dialog.h, main/pbx.c, channels/chan_sip.c, main/channel_internal_api.c, main/logger.c, include/asterisk/channel.h, CHANGES, channels/sip/include/sip.h, main/cli.c: logger: Adds additional support for call id logging and chan_sip specific stuff This patch improves the handling of call id logging significantly with regard to transfers and adding APIs to better handle specific aspects of logging. Also, changes have been made to chan_sip in order to better handle the creation of callids and to enable the monitor thread to bind itself to a particular call id when a dialog is determined to be related to a callid. It then unbinds itself before returning to normal monitoring. review: https://reviewboard.asterisk.org/r/1886/ 2012-05-17 13:21 +0000 [r366746] Matthew Jordan * channels/chan_dahdi.c, /, res/res_calendar_ews.c: Fix checking bounds of array index after using it; improper sizeof This patch fixes two problems pointed out by a static analysis tool. * In chan_dahdi, when an event is handled the index of the sub channel is first obtained. In very off nominal cases, the method that determines the index can return a negative value. In the event handling code, whether or not the index returned is valid was being checked after that value was used to index into an array. This patch makes it so the value is checked before any indexing is done. * In res_calendar_ews, sizeof was being passed a pointer instead of the struct to determine the amount of memory to allocate. (issue ASTERISK-19651) Reported by: Matt Jordan (closes issue ASTERISK-19671) Reported by: Matt Jordan ........ Merged revisions 366740 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 366741 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-16 18:00 +0000 [r366663-366700] Richard Mudgett * include/asterisk/astobj2.h: Remove missed idx parameter to some ao2 global holder macros. * include/asterisk/astobj2.h, tests/test_astobj2.c, main/astobj2.c: Change ao2 global array to ao2 global object holder. Review: https://reviewboard.asterisk.org/r/1921/ 2012-05-15 23:41 +0000 [r366599] Mark Michelson * /, channels/chan_sip.c: Correct misuse of ast_strip_quoted() when getting a Diversion header's reason parameter. The use here was assuming that the pointer would be updated, but the updated string is actually returned by ast_strip_quoted() instead. ........ Merged revisions 366597 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 366598 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-15 19:36 +0000 [r366462-366546] Richard Mudgett * channels/chan_local.c: The predial routine must be run on the local;1 channel. When ast_call() operates on a local channel, it copies a lot of things from the local;1 channel to the local;2 channel. This includes among other things, channel variables and party id information. Other reasons it was a bad idea to run predial on the local;2 channel: 1) The channel has not been completely setup. The ast_call() completes the setup. 2) The local;2 caller and connected line party information is opposite to any other channels predial runs on. (And it hasn't been setup yet.) * Partially back out -r366183 by removing the chan_local implementation of the struct ast_channel_tech.pre_call callback. * CHANGES, apps/app_followme.c: Add predial support to FollowMe. Like the new predial feature for Dial. This adds the same b/B options to FollowMe. Review: https://reviewboard.asterisk.org/r/1910/ * channels/chan_local.c: Make chan_local use the API call instead of inlining its own version. 2012-05-14 20:15 +0000 [r366413] Mark Michelson * /, pbx/dundi-parser.c: Fix two more coverity constant expression result findings. These correspond to findings 0 and 1 in the core findings of ASTERISK-19649. After contacting Mark Spencer, he was unsure of what the intent behind these lines of code were, so they are being axed. For Asterisk 1.8 and 10, the output of debugging DUNDi frames will not be changed, but for trunk the "Retry" portion will be omitted since it does not properly distinguish retransmissions from initial frames. (closes issue ASTERISK-19649) Reported by Matthew Jordan ........ Merged revisions 366409 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 366412 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-14 19:44 +0000 [r366408] Kinsey Moore * channels/chan_unistim.c, apps/app_dial.c, main/rtp_engine.c, channels/chan_vpb.cc, channels/chan_sip.c, UPGRADE.txt, channels/chan_gtalk.c, channels/chan_console.c, channels/chan_iax2.c, apps/app_queue.c, apps/app_followme.c, channels/chan_oss.c, channels/chan_jingle.c, main/channel.c, channels/chan_phone.c, main/dial.c, channels/chan_misdn.c, channels/chan_skinny.c, funcs/func_frame_trace.c, main/features.c, channels/chan_h323.c, main/file.c, channels/chan_alsa.c, configs/sip.conf.sample, include/asterisk/frame.h, channels/chan_mgcp.c: Commit framework for HANGUPCAUSE (replacement for SIP_CAUSE) This is the starting point for the Asterisk 11: Who Hung Up work and provides a framework which will allow channel drivers to report the types of hangup cause information available in SIP_CAUSE without incurring the overhead of the MASTER_CHANNEL dialplan function. The initial implementation only includes cause generation for chan_sip and does not include cause code translation utilities. This change deprecates SIP_CAUSE and replaces its method of reporting cause codes with the new framework. This change also deprecates the 'storesipcause' option in sip.conf. Review: https://reviewboard.asterisk.org/r/1822/ (Closes issue SWP-4221) 2012-05-14 19:27 +0000 [r366401] Mark Michelson * /, channels/chan_sip.c: Fix broken reinvite glare scenario. To make a long story short, reinvite glares were broken because Asterisk would invert the To and From headers when ACKing a 491 response. The reason was because the initreq of the dialog was being changed to the incoming glared reinvite instead of being set to the outgoing glared reinvite. This change has three parts * In handle_incoming, we never will reject an ACK because it has a to-tag present, even if we think the request may be out of dialog. * In handle_request_invite, we do not change the initreq when receiving a reinvite to which we will respond with a 491. * In handle_request_invite, several superflous settings up pendinginvite have been removed since this is dones automatically by transmit_response_reliable Review: https://reviewboard.asterisk.org/r/1911 ........ Merged revisions 366389 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 366390 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-14 13:42 +0000 [r366351] Tzafrir Cohen * configure, configure.ac, autoconf/ast_pkgconfig.m4 (added): Macro AST_PKG_CONFIG_CHECK to use chkconfig AST_PKG_CONFIG_CHECK: Similar to AST_EXT_LIB_CHECK, but simply uses pkg-config data. This simple version only uses pkg-config(1)'s tests. This commit also uses the macro to test for GTK2 and GMIME (instead of the current direct usage of pkg-config). Review: https://reviewboard.asterisk.org/r/1906/ 2012-05-12 00:03 +0000 [r366298] Russell Bryant * /, addons/format_mp3.c: format_mp3: Fix a possible crash in mp3_read(). This patch fixes a potential crash in mp3_read() by not assuming that dbuf has enough data to finish filling up the output buffer. The patch also makes sure that the dbuf state gets reset after we know we read everything out of it already. In passing, this patch includes some other cleanups of this module, including stripping trailing whitespace, formatting fixes based on coding guidelines, and removing a number of unused members from the private state struct. (closes issue ASTERISK-19761) Reported by: Chris Maciejewsk Tested by: Chris Maciejewsk ........ Merged revisions 366296 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 366297 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-10 23:49 +0000 [r366183-366242] Richard Mudgett * main/channel.c, /: * Made ast_change_name() hold the channels container lock while changing the channel name. * Eliminate redundant list not empty check in clone_variables(). ........ Merged revisions 366240 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 366241 from http://svn.asterisk.org/svn/asterisk/branches/10 * apps/app_dial.c: Tweak app_dial predial documentation. * apps/app_dial.c, main/channel.c, channels/chan_local.c, include/asterisk/channel.h: Run predial routine on local;2 channel where you would expect. Before this patch, the predial routine executes on the ;1 channel of a local channel pair. Executing predial on the ;1 channel of a local channel pair is of limited utility. Any channel variables set by the predial routine executing on the ;1 channel will not be available when the local channel executes dialplan on the ;2 channel. * Create ast_pre_call() and an associated pre_call() technology callback to handle running the predial routine. If a channel technology does not provide the callback, the predial routine is simply run on the channel. Review: https://reviewboard.asterisk.org/r/1903/ 2012-05-10 20:56 +0000 [r366169] Kinsey Moore * funcs/func_speex.c, main/pbx.c, res/res_calendar_icalendar.c, /, channels/chan_sip.c, funcs/func_lock.c, channels/chan_agent.c, channels/sip/reqresp_parser.c, main/devicestate.c, pbx/dundi-parser.c, channels/chan_iax2.c, channels/iax2-parser.c, main/config.c, res/res_monitor.c, main/channel.c, main/cdr.c, res/ael/pval.c, main/data.c, channels/chan_dahdi.c, main/tcptls.c, main/manager.c, main/features.c, main/app.c, main/event.c, pbx/pbx_dundi.c, res/res_odbc.c, main/xmldoc.c, apps/app_voicemail.c: Resolve FORWARD_NULL static analysis warnings This resolves core findings from ASTERISK-19650 numbers 0-2, 6, 7, 9-11, 14-20, 22-24, 28, 30-32, 34-36, 42-56, 82-84, 87, 89-90, 93-102, 104, 105, 109-111, and 115. Finding numbers 26, 33, and 29 were already resolved. Those skipped were either extended/deprecated or in areas of code that shouldn't be disturbed. (Closes issue ASTERISK-19650) ........ Merged revisions 366167 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 366168 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-10 18:35 +0000 [r366126] Jonathan Rose * main/pbx.c, channels/sig_analog.c, /, channels/chan_sip.c, funcs/func_lock.c, main/features.c, main/acl.c, channels/iax2-provision.c, apps/app_queue.c, channels/chan_iax2.c, res/ael/ael.flex, funcs/func_devstate.c, main/asterisk.c, main/xmldoc.c, apps/app_voicemail.c: Coverity Report: Fix issues for error type CHECKED_RETURN for core (issue ASTERISK-19658) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1905/ ........ Merged revisions 366094 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 366106 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-10 16:22 +0000 [r366062] Mark Michelson * /, channels/chan_sip.c: Close the proper tcptls_session when session creation fails. (issue AST-998) Reported by: Thomas Arimont Tested by: Thomas Arimont ........ Merged revisions 366052 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 366053 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-10 15:57 +0000 [r366007-366051] Jonathan Rose * /, funcs/func_cdr.c, main/features.c, apps/app_disa.c, apps/app_chanspy.c: Coverity Report: Fix issues for error type UNINIT in Core supported modules (issue ASTERISK-19652) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1909/ ........ Merged revisions 366048 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 366049 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, codecs/codec_dahdi.c: Block on frameout if the hardware has enough samples to complete a frame. Fixes some problems with skipping audio in elaborate scenarios involving multiple codecs by making codec_dahdi operate in a more synchronous fashion similar to codec_g729. This change also fixes the use of file conversion tools from Asterisk's CLI. This change may cause the thread responsible for transcoding audio to block briefly (Shaun Ruffell describes this as 'several milliseconds') while waiting for the hardware transcoder. (closes issue ASTERISK-19643) reported by: Shaun Ruffell Patches: 0001-codec_dahdi-Block-on-frameout-the-hardware-has-enoug.patch uploaded by Shaun Ruffell (license 5417) ........ Merged revisions 365989 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 365990 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-09 19:26 +0000 [r366002] Tzafrir Cohen * Makefile: pass BUILD_CFLGAS and BUILD_LDFLAGS to menuselect Allow menuselect to get its set of CFLAGS and LDFLAGS through the environment of Make: make BUILD_CFLAGS="whatever" BUILD_LDFLAGS="whatever" Review: https://reviewboard.asterisk.org/r/1907/ 2012-05-09 17:58 +0000 [r365951] Richard Mudgett * configs/followme.conf.sample, apps/app_followme.c: Improve FollowMe accept/decline DTMF string matching. If you hit the wrong DTMF digit trying to accept/decline a FollowMe call, you had to wait for the prompt to repeat to try again. * Make FollowMe compare the last DTMF digits received to the accept/decline matching strings. 2012-05-09 16:36 +0000 [r365913] Mark Michelson * /, channels/chan_sip.c: Prevent sip_pvt refleak when an ast_channel outlasts its corresponding sip_pvt. chan_sip was coded under the assumption that a SIP dialog with an owner channel will always be destroyed after the owner channel has been hung up. However, there are situations where the SIP dialog can time out and auto destruct before the corresponding channel has hung up. A typical example of this would be if the 'h' extension in the dialplan takes a long time to complete. In such cases, __sip_autodestruct() would complain about the dialog being auto destroyed with an owner channel still in place. The problem is that even once the owner channel was hung up, the sip_pvt would still be linked in its ao2_container because nothing would ever unlink it. The fix for this is that if __sip_autodestruct() is called for a sip_pvt that still has an owner channel in place, the destruction is rescheduled for 10 seconds in the future. This will continue until the owner channel is finally hung up. (closes issue ASTERISK-19425) reported by David Cunningham Patches: ASTERISK-19425.patch uploaded by Mark Michelson (License #5049) (closes issue ASTERISK-19455) reported by Dean Vesvuio Tested by Dean Vesvuio ........ Merged revisions 365896 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 365898 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-09 02:35 +0000 [r365766-365856] Richard Mudgett * configs/followme.conf.sample, UPGRADE.txt, apps/app_followme.c: Keep answered FollowMe calls until call accepted or last step times out. * apps/app_followme.c: Put winning FollowMe outgoing call on hold if the caller put it on hold. The FollowMe caller call leg is usually answered and listening to MOH. The caller could put the call on hold while FollowMe is looking for a winner. The winning outgoing call is now immediately placed on hold if the caller has put the call on hold before the winning call was selected. * apps/app_followme.c: Restructure how the FollowMe outgoing channel list is handled. * apps/app_followme.c: Addendum to -r365766. Since it is no longer allocated. * apps/app_followme.c: Make FollowMe findmeexec() put the list head on the stack instead of mallocing it. Why this tiny struct was malloced instead of the 28k struct in the last change is beyond me. Just doing my part to help stamp out sillyness. 2012-05-08 21:46 +0000 [r365751] Sean Bright * apps/app_externalivr.c: Add interrupt ('I') command to ExternalIVR. Sending the 'I' command from an external process will cause the current playlist to be cleared, including stopping any audio file that is currently playing. This is useful when you want to interrupt audio playback only when specific DTMF is entered by the caller. 2012-05-08 21:41 +0000 [r365633-365749] Richard Mudgett * apps/app_followme.c: Make FollowMe app_exec() not declare a 28k struct on the stack. Helping to stamp out stack abuse. * apps/app_followme.c: Simplify findmeexec() parameter passing. * /, apps/app_followme.c: * Fix FollowMe memory leak on error paths in app_exec(). * Fix FollowMe leaving recorded caller name file on error paths in app_exec(). * Use correct buffer dimension define in struct fm_args.namerecloc[]. This fixes unexpected namerecloc filename length restriction. ........ Merged revisions 365692 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 365701 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, apps/app_followme.c: * Fix accept/decline DTMF buffer overwrite in FollowMe. * Made use MAX_YN_STRING define to make all accept/decline DTMF buffers the same size. Just using 20 isn't good enough when someone didn't get the memo. * Fix stupid use of a global variable in FollowMe. (ynlongest) * Fix bit field declarations in FollowMe. ........ Merged revisions 365631 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 365632 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-08 15:57 +0000 [r365576] Mark Michelson * /, channels/chan_sip.c: Send more accurate identification information in dialog-info SIP NOTIFYs. This uses the calling channel's caller ID and connected line information to populate the remote and local identities in the dialog-info NOTIFY when an extension is ringing. There is a bit of an oddity here, and that is that we seed the remote target with the To header of the outbound call rather than the from header. This is because it was reported that seeding with the from header caused hints to be broken with certain SNOM devices. A comment has been added to the code to explain this. (closes issue ASTERISK-16735) reported by Maciej Krajewski patches: local_remote_hint2.diff uploaded by Mark Michelson (license #5049) 16735_tweak1.diff uploaded by Mark Michelson (license #5049) Tested by Niccolo Belli ........ Merged revisions 365574 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 365575 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-07 20:08 +0000 [r365532] Richard Mudgett * main/features.c: Change comment to use local channel name designators in features.c 2012-05-07 18:58 +0000 [r365480] Matthew Jordan * main/pbx.c, apps/app_voicemail.c: Fix channel opaquification slip-up in r365477 Those channels are opaque now... 2012-05-07 18:51 +0000 [r365479] Richard Mudgett * /, tests/test_config.c: Fix type punned compiler warning in test_config.c ........ Merged revisions 365476 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 365478 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-07 18:42 +0000 [r365477] Matthew Jordan * main/pbx.c, /, apps/app_voicemail.c: Support VoiceMail d() option when extension does not exist in channel's context The VoiceMail d([c]) option is documented to accept digits for a new extension in context , if played during the greeting. This option works fine if the extension being redirected to has an extension with the same initial digit in the channel's current context. If that digit did not happen to exist in some extension, a dialplan match would fail and the user would not be redirected. This patch fixes it such that if the option is used, the extensions are matched in that context as opposed to the caller's original context. (closes issue ASTERISK-18243) Reported by: mjordan Tested by: mjordan Review: https://reviewboard.asterisk.org/r/1892 ........ Merged revisions 365474 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 365475 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-04 22:17 +0000 [r365400] Kinsey Moore * /, channels/chan_sip.c, funcs/func_aes.c, main/features.c, apps/app_followme.c, channels/chan_iax2.c, channels/sip/config_parser.c, pbx/pbx_config.c, apps/app_chanspy.c, apps/app_stack.c, main/config.c, apps/app_voicemail.c: Fix many issues from the NULL_RETURNS Coverity report Most of the changes here are trivial NULL checks. There are a couple optimizations to remove the need to check for NULL and outboundproxy parsing in chan_sip.c was rewritten to avoid use of strtok. Additionally, a bug was found and fixed with the parsing of outboundproxy when "outboundproxy=," was set. (Closes issue ASTERISK-19654) ........ Merged revisions 365398 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 365399 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-04 17:38 +0000 [r365356] Richard Mudgett * channels/chan_local.c, /: Fix local channel chains optimizing themselves out of a call. * Made chan_local.c:check_bridge() check the return value of ast_channel_masquerade(). In long chains of local channels, the masquerade occasionally fails to get setup because there is another masquerade already setup on an adjacent local channel in the chain. * Made the outgoing local channel (the ;2 channel) flush one voice or video frame per optimization attempt. * Made sure that the outgoing local channel also does not have any frames in its queue before the masquerade. * Made do the masquerade immediately to minimize the chance that the outgoing channel queue does not get any new frames added and thus unconditionally flushed. * Made block indication -1 (Stop tones) event when the local channel is going to optimize itself out. When the call is answered, a chain of local channels pass down a -1 indication for each bridge. This blizzard of -1 events really slows down the optimization process. (closes issue ASTERISK-16711) Reported by: Alec Davis Tested by: rmudgett, Alec Davis Review: https://reviewboard.asterisk.org/r/1894/ ........ Merged revisions 365313 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 365320 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-04 15:52 +0000 [r365300] Mark Michelson * res/res_rtp_asterisk.c, /: Fix core FINDING 2, FINDING 3, and FINDING 4 from Coverity's CONSTANT_EXPRESSION_RESULT report. These three all are in RTP code that attempts to print the number of sequence number cycles in an RTCP RR report. The code was masking out the upper 16 bits and then shifting the number right by 16 bits. This led to an all zero result in all cases. The fix is to do the shift without the bit masking. (issue ASTERISK-19649) ........ Merged revisions 365298 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 365299 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-03 19:36 +0000 [r365248] Michael L. Young * tests/test_security_events.c: Update security events unit tests The security events framework API was changed in Asterisk 10 but the unit tests were not updated at the same time. This patch does the following: * Adds two more security events that were added to the API * Add challenge, received_challenge and received_hash in the inval_password security event unit test (Closes issue ASTERISK-19760) Reported by: Michael L. Young Tested by: Michael L. Young Patches: issue-asterisk-19760-trunk.diff uploaded by Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/1897/ 2012-05-03 18:43 +0000 [r365213] Sean Bright * CHANGES: Update documentation references in CHANGES to reflect the correct pages on the wiki. The current CHANGES file refers to doc/ in many places and those files no longer exist. 2012-05-03 15:05 +0000 [r365161] Alexandr Anikin * addons/ooh323c/src/ooh323.c, /, addons/ooh323c/src/h323/H323-MESSAGES.h, addons/ooh323c/src/h323/H323-MESSAGESEnc.c: Fix warning of Coverity Static analysis, change H225ProtocolIdentifier from value to pointer per functions that use this. (close issue ASTERISK-19670) Reported by: Matt Jordan Patches: ASTERISK-19670.patch (License #5415) ........ Merged revisions 365159 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 365160 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-03 14:47 +0000 [r365158] Sean Bright * apps/app_externalivr.c, CHANGES: Add IPv6 support to ExternalIVR. Review: https://reviewboard.asterisk.org/r/1896/ 2012-05-03 14:35 +0000 [r365157] Alexandr Anikin * /, addons/ooh323c/src/ooq931.c: Fix coverity static analysis warning, allocate full ie structure instead of without data buffer (close issue ASTERISK-19674) Reported by: Matt Jordan Patches: ASTERISK-19674.patch (License #5415) ........ Merged revisions 365143 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 365155 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-02 17:43 +0000 [r365084] Terry Wilson * channels/chan_local.c, /, main/cel.c: Multiple revisions 365006,365068 ........ r365006 | twilson | 2012-05-02 10:49:03 -0500 (Wed, 02 May 2012) | 12 lines Fix a CEL LINKEDID_END race and local channel linkedids This patch has the ;2 channel inherit the linkedid of the ;1 channel and fixes the race condition by no longer scanning the channel list for "other" channels with the same linkedid. Instead, cel.c has an ao2 container of linkedid strings and uses the refcount of the string as a counter of how many channels with the linkedid exist. Not only does this eliminate the race condition, but it also allows us to look up the linkedid by the hashed key instead of traversing the entire channel list. Review: https://reviewboard.asterisk.org/r/1895/ ........ r365068 | twilson | 2012-05-02 12:02:39 -0500 (Wed, 02 May 2012) | 11 lines Don't leak a ref if out of memory and can't link the linkedid If the ao2_link fails, we are most likely out of memory and bad things are going to happen. Before those bad things happen, make sure to clean up the linkedid references. This patch also adds a comment explaining why linkedid can't be passed to both local channel allocations and combines two ao2_ref calls into 1. Review: https://reviewboard.asterisk.org/r/1895/ ........ Merged revisions 365006,365068 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 365083 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-02 15:59 +0000 [r365011] Jason Parker * channels/chan_sip.c: Save the address on which a MESSAGE was received, so it can be used in MESSAGE() This is useful in cases where chan_sip may be listening on multiple addresses. 2012-05-02 02:51 +0000 [r364966] Matthew Jordan * /, main/audiohook.c: Only log a failure to get read/write samples from factories if it didn't happen In audiohook_read_frame_both, anytime samples are obtained from the read/write factories a debug statement is logged stating that samples were not obtained from the factories. This statement used to only occur if option_debug was turned on and no samples were obtained; in some refactoring when the option_debug statement was removed, the "else" clause was removed as well. This patch makes it so that those debug log statements only occur if the condition leading up to them actually happened. ........ Merged revisions 364965 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-01 23:23 +0000 [r364915] Mark Michelson * channels/chan_sip.c: Remove a function that has been marked unused since Asterisk 1.6.0. The reason I'm removing this is that Coverity reported a STRAY_SEMICOLON issue here. Since the function has been unused for so long, I just elected to remove it altogether. (closes issue ASTERISK-19660) 2012-05-01 23:21 +0000 [r364910] Richard Mudgett * /, main/astobj2.c: Fixed __ao2_ref() validating user_data twice. (closes issue ASTERISK-19755) Reported by: Gunther Kelleter Patches: ao2_ref.patch (license #6372) patch uploaded by Gunther Kelleter ........ Merged revisions 364902 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 364903 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-01 23:11 +0000 [r364901] Mark Michelson * /, funcs/func_volume.c: Fix Coverity-reported ARRAY_VS_SINGLETON error. As it turned out, this wasn't a huge deal. We were calling ast_app_parse_options() for a set of options of which none took arguments. The proper thing to do for this case is to pass NULL for the "args" parameter here. We were instead passing a seemingly-randomly chosen char * from the function. While this would never get written to, you can rest assured things would have gotten bad had new options (which took arguments) been added to func_volume. (closes issue ASTERISK-19656) ........ Merged revisions 364899 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 364900 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-01 22:00 +0000 [r364846] Richard Mudgett * channels/chan_local.c, /: * Fix error path resouce leak in local_request(). * Restructure local_request() to reduce indentation. ........ Merged revisions 364840 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 364845 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-01 21:49 +0000 [r364844] Jason Parker * main/manager.c, /: Prevent a potential crash when using manager hooks. Found by me while poking at DPMA-127. ........ Merged revisions 364841 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 364842 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-01 19:10 +0000 [r364788] Kinsey Moore * /, apps/app_confbridge.c: Play conf-placeintoconf message to the correct channel Correct the code in app_confbridge to play the conf-placeintoconf message to the marked user entering the bridge instead of to the conference while the marked user hears silence. (closes issue ASTERISK-19641) Reported-by: Mark A Walters ........ Merged revisions 364786 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 364787 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-05-01 18:29 +0000 [r364785] Jonathan Rose * /, main/app.c: Fix bad check in voicemail functions for ast_inboxcount2_func Check looks for ast_inboxcount_func instead of ast_inboxcount2_func on ast_inboxcount2_func calls. (closes issue ASTERISK-19718) Reported by: Corey Farrell Patches: ast_app_inboxcount2-null-refcheck.patch uploaded by Corey Farrell (license 5909) ........ Merged revisions 364769 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 364777 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-30 19:51 +0000 [r364708] Mark Michelson * /, channels/chan_sip.c: Revert revision 360862. Revision 360862 was intended to improve identities sent in dialog-info NOTIFY requests. Some users reported that hint became broken once this was done. It's not clear exactly what part of the patch has caused this regression, but broken hints are bad. For now, this revision is being reverted so that the next releases of Asterisk do not have bad behavior in them. The original reported issue will have to be fixed differently in the next version of Asterisk. (issue ASTERISK-16735) ........ Merged revisions 364706 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 364707 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-30 17:17 +0000 [r364654] Mark Murawki * /, main/logger.c: Merged revisions 364635 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r364635 | markm | 2012-04-30 11:51:12 -0400 (Mon, 30 Apr 2012) | 10 lines Sanatize result from bfd_find_nearest_line (BETTER_BACKTRACES) bfd_find_nearest_line can possibly set file to null resulting in a crash when strrchr(file) runs (closes issue ASTERISK-19815) Reported by Mark Murawski Tested by Mark Murawski ........ ........ Merged revisions 364650 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-30 16:59 +0000 [r364652] Alexandr Anikin * /, addons/ooh323cDriver.c: Fix use freed pointer in return value from call thread (issue ASTERISK-19663) Reported by: Matt Jordan Patches: ASTERISK-19663-ooh323.patch (License #5415) ........ Merged revisions 364649 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 364651 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-29 19:50 +0000 [r364580] Matthew Jordan * formats/format_ilbc.c, /, formats/format_sln.c, formats/format_vox.c, formats/format_wav.c, formats/format_pcm.c, formats/format_g723.c, formats/format_h263.c, formats/format_h264.c, formats/format_wav_gsm.c, formats/format_siren14.c, formats/format_gsm.c, formats/format_g719.c, formats/format_siren7.c, formats/format_g729.c: Fix error that caused truncate operations to fail Another very inappropriate placement of a ')' (again introduced in r362151) caused the various truncate operations to attempt to truncate the sound file at a position of '0'. (issue ASTERISK-19655) Reported by: Matt Jordan (issue ASTERISK-19810) Reported by: colbec ........ Merged revisions 364578 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 364579 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-29 02:23 +0000 [r364537] Michael L. Young * /, apps/confbridge/conf_config_parser.c: Fix configuring custom sound_leader_has_left in confbridge.conf The configuration option to specify a custom sound_leader_has_left file for a conference bridge was not being parsed. This patch fixes it so that a custom sound file will now be used. (closes issue ASTERISK-19771) Reported by: Pawel Kuzak Tested by: Pawel Kuzak, Michael L. Young Patches: leaderhasleft_sound.dpatch uploaded by Pawel Kuzak (license 6380) Review: https://reviewboard.asterisk.org/r/1884/ ........ Merged revisions 364536 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-28 20:24 +0000 [r364500] Joshua Colp * channels/chan_sip.c, configs/sip.conf.sample, CHANGES, channels/sip/include/sip.h: Add support for lightweight NAT keepalive. If enabled using the keepalive option in sip.conf a small packet will be sent at a regular interval to keep the NAT mapping open. This is lightweight as the remote side does not need to parse and handle a SIP message. (closes issue AST-783) Review: https://reviewboard.asterisk.org/r/1756/ 2012-04-28 01:33 +0000 [r364437-364462] Russell Bryant * main/md5.c: md5: supress some compiler warnings. md5.c: In function ‘MD5Final’: md5.c:154:2: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] md5.c:155:2: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] There is an md5 unit test and it still passes. * configure, include/asterisk/autoconfig.h.in, res/res_corosync.c, configure.ac: res_corosync: Fix build against corosync 2.0. * apps/app_minivm.c: app_minivm: Fix a couple compiler warnings. The warnings were about argv[0] being used uninitialized, which is correct. Just remove setting username to this value, since username is set again before it actually gets used. * main/features.c, CHANGES: features: Add FEATURE() and FEATUREMAP() functions. Add two new dialplan functions: FEATURE() and FEATUREMAP(). FEATURE() lets you set some of the configuration options from the [general] section of features.conf on a per-channel basis. FEATUREMAP() lets you customize the key sequence used to activate built-in features, such as blindxfer, and automon. See the built-in documentation for details. Review: https://reviewboard.asterisk.org/r/1871/ 2012-04-28 00:31 +0000 [r364436] Richard Mudgett * apps/app_dial.c, CHANGES: PreDial - Ability to run dialplan on callee and caller channels before Dial. Thanks to Mark Murawski for the initial patch and feature definition. (closes issue ASTERISK-19548) Reported by: Mark Murawski Review: https://reviewboard.asterisk.org/r/1878/ Review: https://reviewboard.asterisk.org/r/1229/ 2012-04-27 22:54 +0000 [r364397] Terry Wilson * /, tests/test_config.c (added), main/config.c: Multiple revisions 364365,364369 ........ r364365 | twilson | 2012-04-27 17:31:01 -0500 (Fri, 27 Apr 2012) | 11 lines Fix ast_parse_arg numeric type range checking and add tests ast_parse_arg wasn't checking for strto* parse errors or limiting the results by the actual range of the numeric types. This patch fixes that and adds unit tests as well. Review: https://reviewboard.asterisk.org/r/1879/ ........ Merged revisions 364340 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ r364369 | twilson | 2012-04-27 17:33:10 -0500 (Fri, 27 Apr 2012) | 2 lines Add missing test_config.c ........ Merged revisions 364365,364369 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-27 22:11 +0000 [r364343] Mark Michelson * /, channels/chan_sip.c: Don't attempt to make use of the dynamic_exclude_static ACL if DNS lookup fails. (closes issue ASTERISK-18321) Reported by Dan Lukes Patches: ASTERISK-18321.patch by Mark Michelson (license #5049) ........ Merged revisions 364341 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 364342 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-27 19:30 +0000 [r364287] Matthew Jordan * /, include/asterisk/time.h: Prevent overflow in calculation in ast_tvdiff_ms on 32-bit machines The method ast_tvdiff_ms attempts to calculate the difference, in milliseconds, between two timeval structs, and return the difference in a 64-bit integer. Unfortunately, it assumes that the long tv_sec/tv_usec members in the timeval struct are large enough to hold the calculated values before it returns. On 64-bit machines, this might be the case, as a long may be 64-bits. On 32-bit machines, however, a long may be less (32-bits), in which case, the calculation can overflow. This overflow caused significant problems in MixMonitor, which uses the method to determine if an audio factory, which has not presented audio to an audiohook, is merely late in providing said audio or will never provide audio. In an overflow situation, the audiohook would incorrectly determine that an audio factory that will never provide audio is merely late instead. This led to situations where a MixMonitor never recorded any audio. Note that this happened most frequently when that MixMonitor was started by the ConfBridge application itself, or when the MixMonitor was attached to a Local channel. (issue ASTERISK-19497) Reported by: Ben Klang Tested by: Ben Klang Patches: 32-bit-time-overflow-10-2012-04-26.diff (license #6283) by mjordan (closes issue ASTERISK-19727) Reported by: Mark Murawski Tested by: Michael L. Young Patches: 32-bit-time-overflow-2012-04-27.diff (license #6283) by mjordan) (closes issue ASTERISK-19471) Reported by: feyfre Tested by: feyfre (issue ASTERISK-19426) Reported by: Johan Wilfer Review: https://reviewboard.asterisk.org/r/1889/ ........ Merged revisions 364277 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 364285 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-27 18:59 +0000 [r364260] Kinsey Moore * /, channels/chan_sip.c: Allow SIP pvts involved in Replaces transfers to fall out of reference sooner Unref the SIP pvt stored in the refer structure as soon as it is no longer needed so that the pvt and associated file descriptors can be freed sooner. This change makes a reference decrement unnecessary in code that handles SIP BYE/Also transfers which should not touch the reference anyway. (Closes issue ASTERISK-19579) Reported by: Maciej Krajewski Tested by: Maciej Krajewski ........ Merged revisions 364258 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 364259 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-27 14:45 +0000 [r364205] Matthew Jordan * /, channels/chan_sip.c: Allow for reloading SRTP crypto keys within the same SIP dialog As a continuation of the patch in r356604, which allowed for the reloading of SRTP keys in re-INVITE transfer scenarios, this patch addresses the more common case where a new key is requested within the context of a current SIP dialog. This can occur, for example, when certain phones request a SIP hold. Previously, once a dialog was associated with an SRTP object, any subsequent attempt to process crypto keys in any SDP offer - either the current one or a new offer in a new SIP request - were ignored. This patch changes this behavior to only ignore subsequent crypto keys within the current SDP offer, but allows future SDP offers to change the keys. (issue ASTERISK-19253) Reported by: Thomas Arimont Tested by: Thomas Arimont Review: https://reviewboard.asteriskorg/r/1885/ ........ Merged revisions 364203 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 364204 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-27 12:58 +0000 [r364164] Stefan Schmidt * res/res_calendar_icalendar.c, /, res/res_calendar_caldav.c: fix a wrong behavior of alarm timezones in caldav and icalendar when an alarm doesnt use utc. This change uses the same timezone from the start time. ........ Merged revisions 364163 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-26 21:11 +0000 [r364082-364110] Richard Mudgett * /, apps/app_directed_pickup.c: Update Pickup application documentation. (With feeling this time.) ........ Merged revisions 364108 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 364109 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, main/features.c: Fix DTMF atxfer running h exten after the wrong bridge ends. When party B does an attended transfer of party A to party C, the attending bridge between party B and C should not be running an h exten when the bridge ends. Running an h exten now sets a softhangup flag to ensure that an AGI will run in dead AGI mode. * Set the AST_FLAG_BRIDGE_HANGUP_DONT on the party B channel for the attending bridge between party B and C. (closes issue AST-870) (closes issue ASTERISK-19717) Reported by: Mario (closes issue ASTERISK-19633) Reported by: Andrey Solovyev Patches: jira_asterisk_19633_v1.8.patch (license #5621) patch uploaded by rmudgett Tested by: rmudgett, Andrey Solovyev, Mario ........ Merged revisions 364060 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 364065 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-26 19:33 +0000 [r364048] Terry Wilson * /, main/asterisk.c: Add more constness to the end_buf pointer in the netconsole issue ASTERISK-18308 Review: https://reviewboard.asterisk.org/r/1876/ ........ Merged revisions 364046 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 364047 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-26 13:59 +0000 [r363989] Olle Johansson * apps/app_queue.c: Code formatting fixes. 2012-04-26 13:31 +0000 [r363988] Kinsey Moore * /, channels/chan_sip.c: Fix reference leaks involving SIP Replaces transfers The reference held for SIP blind transfers using the Replaces header in an INVITE was never freed on success and also failed to be freed in some error conditions. This caused a file descriptor leak since the RTP structures in use at the time of the transfer were never freed. This reference leak and another relating to subscriptions in the same code path have now been corrected. (closes issue ASTERISK-19579) ........ Merged revisions 363986 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 363987 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-26 09:48 +0000 [r363936] Alec L Davis * /, channels/chan_sip.c: chan_sip: [general] maxforwards, not checked for a value greater than 255 The peer maxforwards is checked for both '< 1' and '> 255', but the default 'maxforwards' in the [general] section is only checked for '< 1' alecdavis (license 585) Reported by: alecdavis Tested by: alecdavis Review: https://reviewboard.asterisk.org/r/1888/ ........ Merged revisions 363934 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 363935 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-26 03:12 +0000 [r363689-363877] Richard Mudgett * /, apps/app_directed_pickup.c: Update Pickup application documentation. (Even better) ........ Merged revisions 363875 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 363876 from http://svn.asterisk.org/svn/asterisk/branches/10 * apps/app_directed_pickup.c: * Put more information in pickup_exec() LOG_NOTICE. * Delay duplicating a string on the stack in pickup_exec(). * /, apps/app_directed_pickup.c: Update Pickup application documentation. ........ Merged revisions 363788 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 363789 from http://svn.asterisk.org/svn/asterisk/branches/10 * channels/chan_dahdi.c, /, channels/sig_pri.c: Make DAHDISendCallreroutingFacility wait 5 seconds for a reply before disconnecting the call. Some switches may not handle the call-deflection/call-rerouting message if the call is disconnected too soon after being sent. Asteisk was not waiting for any reply before disconnecting the call. * Added a 5 second delay before disconnecting the call to wait for a potential response if the peer does not disconnect first. (closes issue ASTERISK-19708) Reported by: mehdi Shirazi Patches: jira_asterisk_19708_v1.8.patch (license #5621) patch uploaded by rmudgett Tested by: rmudgett ........ Merged revisions 363730 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 363734 from http://svn.asterisk.org/svn/asterisk/branches/10 * channels/sig_pri.h, channels/chan_dahdi.c, /, channels/sig_pri.c: Clear ISDN channel resetting state if the peer continues to use it. Some ISDN switches occasionally fail to send a RESTART ACKNOWLEDGE in response to a RESTART request. * Made the second SETUP received after sending a RESTART request clear the channel resetting state as if the peer had sent the expected RESTART ACKNOWLEDGE before continuing to process the SETUP. The peer may not be sending the expected RESTART ACKNOWLEDGE. (issue ASTERISK-19608) (issue AST-844) (issue AST-815) Patches: jira_ast_815_v1.8.patch (license #5621) patch uploaded by rmudgett (modified) ........ Merged revisions 363687 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 363688 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-25 13:57 +0000 [r363480-363637] Olle Johansson * apps/app_queue.c: Add documentation Thanks Tilghman! * apps/app_queue.c: Formatting changes only * apps/app_followme.c, apps/app_queue.c: Use the DEFINED value for musicclass length. For some reason, features.c has it's own definition. Should propably be fixed too. * main/channel.c, configs/asterisk.conf.sample, CHANGES, include/asterisk/options.h, main/asterisk.c: Make it possible to change the minimum DTMF duration in asterisk.conf Asterisk has a setting for the minimum allowed DTMF. If we get shorter DTMF tones, these will be changed to the minimum on the outbound call leg. (closes issue ASTERISK-19772) Review: https://reviewboard.asterisk.org/r/1882/ Reported by: oej Tested by: oej Patches by: oej Thanks to the reviewers. 1.8 branch for this patch: agave-dtmf-duration-asterisk-conf-1.8 * main/say.c: Formatting fixes Developer guidelines are important. * main/channel.c: Formatting fixes Found a small amount of curly brackets in my hotel room here in Denmark. I hereby donate them to the Asterisk project. 2012-04-25 01:26 +0000 [r363377-363430] Richard Mudgett * /, main/features.c: Fix recalled party B feature flags for a failed DTMF atxfer. 1) B calls A with Dial option T 2) B DTMF atxfer to C 3) B hangs up 4) C does not answer 5) B is called back 6) B answers 7) B cannot initiate transfers anymore * Add dial features datastore to recalled party B channel that is a copy of the original party B channel's dial features datastore. * Extracted add_features_datastore() from add_features_datastores(). * Renamed struct ast_dial_features features_caller and features_callee members to my_features and peer_features respectively. These better names eliminate the need for some explanatory comments. * Simplified code accessing the struct ast_dial_features datastore. (closes issue ASTERISK-19383) Reported by: lgfsantos ........ Merged revisions 363428 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 363429 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, main/features.c: Hangup affected channel in error paths of bridge_call_thread(). ........ Merged revisions 363375 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 363376 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-24 17:52 +0000 [r363335] Terry Wilson * /, main/asterisk.c: OpenBSD doesn't have rawmemchr, use strchr (closes issue ASTERISK-19758) Reported by: Barry Miller Tested by: Terry Wilson Patches: 362758-diff uploaded by Barry Miller (license 5434) ........ Merged revisions 362868 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362869 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-23 17:05 +0000 [r363269] Richard Mudgett * apps/app_dial.c, apps/app_queue.c: Make app_dial and app_queue use new macro and gosub calls. * Simplify some code in app_dial and app_queue by calling ast_app_exec_macro() and ast_app_exec_sub(). * Fix minor locking issue in app_dial for post-answer macro/gosub MACRO/GOSUB_RESULT=GOTO: handling. 2012-04-23 16:08 +0000 [r363215] Tilghman Lesher * /, main/astfd.c: On some platforms, O_RDONLY is not a flag to be checked, but merely the absence of O_RDWR and O_WRONLY. The POSIX specification does not mandate how these 3 flags must be specified, only that one of the three must be specified in every call. ........ Merged revisions 363209 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 363212 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-23 14:48 +0000 [r363159] Jonathan Rose * main/manager.c, /: AST-2012-004: Fix an error that allows AMI users to run shell commands sans authorization. As detailed in the advisory, AMI users without write authorization for SYSTEM class AMI actions were able to run system commands by going through other AMI commands which did not require that authorization. Specifically, GetVar and Status allowed users to do this by setting their variable/s options to the SHELL or EVAL functions. Also, within 1.8, 10, and trunk there was a similar flaw with the Originate action that allowed users with originate permission to run MixMonitor and supply a shell command in the Data argument. That flaw is fixed in those versions of this patch. (closes issue ASTERISK-17465) Reported By: David Woolley Patches: 162_ami_readfunc_security_r2.diff uploaded by jrose (license 6182) 18_ami_readfunc_security_r2.diff uploaded by jrose (license 6182) 10_ami_readfunc_security_r2.diff uploaded by jrose (license 6182) ........ Merged revisions 363117 from http://svn.asterisk.org/svn/asterisk/branches/1.6.2 ........ Merged revisions 363141 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 363156 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-23 14:10 +0000 [r363105-363108] Matthew Jordan * /, channels/chan_sip.c: AST-2012-006: Fix crash in UPDATE handling when no channel owner exists If Asterisk receives a SIP UPDATE request after a call has been terminated and the channel has been destroyed but before the SIP dialog has been destroyed, a condition exists where a connected line update would be attempted on a non-existing channel. This would cause Asterisk to crash. The patch resolves this by first ensuring that the SIP dialog has an owning channel before attempting a connected line update. If an UPDATE request is received and no channel is associated with the dialog, a 481 response is sent. (closes issue ASTERISK-19770) Reported by: Thomas Arimont Tested by: Matt Jordan Patches: ASTERISK-19278-2012-04-16.diff uploaded by Matt Jordan (license 6283) ........ Merged revisions 363106 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 363107 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, channels/chan_skinny.c: AST-2012-005: Fix remotely exploitable heap overflow in keypad button handling When handling a keypad button message event, the received digit is placed into a fixed length buffer that acts as a queue. When a new message event is received, the length of that buffer is not checked before placing the new digit on the end of the queue. The situation exists where sufficient keypad button message events would occur that would cause the buffer to be overrun. This patch explicitly checks that there is sufficient room in the buffer before appending a new digit. (closes issue ASTERISK-19592) Reported by: Russell Bryant ........ Merged revisions 363100 from http://svn.asterisk.org/svn/asterisk/branches/1.6.2 ........ Merged revisions 363102 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 363103 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-21 11:45 +0000 [r363045-363046] Russell Bryant * res/res_corosync.c: res_corosync: Recover if corosync gets restarted. If corosync gets restarted while Asterisk is running, automatically recover. * res/res_corosync.c: res_corosync: reimplement "corosync show members" command. Reimplement the "corosync show members" CLI command using a CPG iterator instead of the cpg_membership_get API call. This will also show all CPG members, including those in groups other than 'asterisk', which may be useful at some point for debugging purposes. 2012-04-21 01:46 +0000 [r362920-362999] Richard Mudgett * apps/app_dial.c, /: Update app_dial M and U option GOTO return value documentation. ........ Merged revisions 362997 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362998 from http://svn.asterisk.org/svn/asterisk/branches/10 * include/asterisk/app.h, main/app.c, apps/app_stack.c: Fix connected-line/redirecting interception gosubs executing more than intended. * Redo ast_app_run_sub()/ast_app_exec_sub() to use a known return point so execution will stop after the routine returns there. (s@gosub_virtual_context:1) * Create ast_app_exec_macro() and ast_app_exec_sub() to run the macro and gosub application respectively with the parameter string already created. * main/rtp_engine.c: Move debug message in ast_rtp_instance_early_bridge_make_compatible(). Move debug message in ast_rtp_instance_early_bridge_make_compatible() to be output when what it states has actually happened. 2012-04-20 16:50 +0000 [r362919] Michael L. Young * /, main/event.c: Add missing payload type to events API The Security Events Framework API was changed while adding the generation of security events in chan_sip. A payload type and name was missed from being added to struct ie_maps. (closes issue ASTERISK-19759) Reported by: Michael L. Young Patches: issue-asterisk-19759.diff uploaded by Michael L. Young (license 5026) ........ Merged revisions 362918 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-20 16:23 +0000 [r362867-362888] Richard Mudgett * apps/app_dial.c, channels/chan_dahdi.c, channels/chan_local.c, channels/chan_misdn.c, main/rtp_engine.c: Use ast_channel_lock_both() where it was inlined before. The CHANNEL_DEADLOCK_AVOIDANCE() feature of preserving where the channel lock was originally obtained is overkill where ast_channel_lock_both() was inlined. * main/pbx.c: * Add more information to some messages in __ast_pbx_run(). * Simplify some dialplan priority setting code in ast_explicit_goto() because of opaquification. 2012-04-20 14:50 +0000 [r362817] Terry Wilson * /, apps/app_speech_utils.c: Document Speech* apps hangup on failure and suggest TryExec The Speech API apps return -1 on failure, which will hang up the channel. This may not be desirable behavior for some, but it isn't something that can be changed without breaking people's dialplans or writing an option to all of the Speech apps that does what TryExec already does. This patch documents the hangup behavior of the apps, and suggests TryExec as the solution. (closes issue AST-813) ........ Merged revisions 362815 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362816 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-20 00:57 +0000 [r362779] Richard Mudgett * main/channel.c, UPGRADE.txt, include/asterisk/channel.h, CHANGES, channels/sig_pri.c, funcs/func_callerid.c: Add original party id and reason support. ISDN ETSI PTP and Q.SIG (And SS7 in future) have support for reporting who was the original redirecting party of a call. * Added support for the original redirecting party and reason to the REDIRECTING function and the system core as well as to the stubbed locations in sig_pri.c. Review: https://reviewboard.asterisk.org/r/1829/ 2012-04-19 22:01 +0000 [r362731] Walter Doekes * funcs/func_version.c, /: Fix documentation for ${VERSION(ASTERISK_VERSION_NUM)}. ........ Merged revisions 362729 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362730 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-19 21:14 +0000 [r362682] Michael L. Young * /, tests/test_linkedlists.c, tests/test_poll.c: Add leading and trailing backslashes A couple of unit tests did not have have leading or trailing backslashes when setting their test category resulting in a warning message being displayed. Added the backslash where needed. ........ Merged revisions 362680 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362681 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-19 21:01 +0000 [r362679] Richard Mudgett * /, configs/queues.conf.sample: Update membermacro and membergosub documentation in queues.conf.sample. ........ Merged revisions 362677 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362678 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-19 19:05 +0000 [r362635] Terry Wilson * addons/chan_ooh323.c, apps/app_alarmreceiver.c, channels/iax2-provision.c, res/snmp/agent.c: Convert some strncpys to ast_copy_string Review: https://reviewboard.asterisk.org/r/1732/ 2012-04-19 16:10 +0000 [r362588] Sean Bright * /, apps/app_externalivr.c: Prevent a crash in ExternalIVR when the 'S' command is sent first. If the first command sent from an ExternalIVR client is an 'S' command, we were blindly removing the first element from the play list and deferencing it, even if it was NULL. This corrects that and also locks appropriately in one place. (issue ASTERISK-17889) Reported by: Chris Maciejewski ........ Merged revisions 362586 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362587 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-19 14:35 +0000 [r362538] Terry Wilson * /, main/asterisk.c: Handle multiple commands per connection via netconsole Asterisk would accept multiple NULL-delimited CLI commands via the netconsole socket, but would occasionally miss a command due to the command not being completely read into the buffer. This patch ensures that any partial commands get moved to the front of the read buffer, appended to, and properly sent. (closes issue ASTERISK-18308) Review: https://reviewboard.asterisk.org/r/1876/ ........ Merged revisions 362536 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362537 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-19 02:40 +0000 [r362497] Matthew Jordan * channels/chan_unistim.c, /, main/tdd.c, main/jitterbuf.c, apps/app_sms.c, main/stdtime/localtime.c, utils/extconf.c, addons/chan_mobile.c, main/format_pref.c, main/asterisk.c: Fix a variety of potential buffer overflows * chan_mobile: Fixed an overrun where the cind_state buffer (an integer array of size 16) would be overrun due to improper bounds checking. At worst, the buffer can be overrun by a total of 48 bytes (assuming 4-byte integers), which would still leave it within the allocated memory of struct hfp. This would corrupt other elements in that struct but not necessarily cause any further issues. * app_sms: The array imsg is of size 250, while the array (ud) that the data is copied into is of size 160. If the size of the inbound message is greater then 160, up to 90 bytes could be overrun in ud. This would corrupt the user data header (array udh) adjacent to ud. * chan_unistim: A number of invalid memmoves are corrected. These would move data (which may or may not be valid) into the ends of these buffers. * asterisk: ast_console_toggle_loglevel does not check that the console log level being set is less then or equal to the allowed log levels of 32. * format_pref: In ast_codec_pref_prepend, if any occurrence of the specified codec is not found, the value used to index into the array pref->order would be one greater then the maximum size of the array. * jitterbuf: If the element being placed into the jitter buffer lands in the last available slot in the jitter history buffer, the insertion sort attempts to move the last entry in the buffer into one slot past the maximum length of the buffer. Note that this occurred for both the min and max jitter history buffers. * tdd: If a read from fsk_serial returns a character that is greater then 32, an attempt to read past one of the statically defined arrays containing the values that character maps to would occur. * localtime: struct ast_time and tm are not the same size - ast_time is larger, although it contains the elements of tm within it in the same layout. Hence, when using memcpy to copy the contents of tm into ast_time, the size of tm should be used, as opposed to the size of ast_time. * extconf: this treats ast_timing's minmask array as if it had a length of 48, when it has defined the size of the array as 24. pbx.h defines minmask as having a size of 48. (issue ASTERISK-19668) Reported by: Matt Jordan ........ Merged revisions 362485 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362496 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-18 17:03 +0000 [r362432] Michael L. Young * tests/test_security_events.c: Fix building security events test The Security Events Framework API changed in trunk to support IPv6. This broke the building of the security events test which was based around IPv4. This patches fixes the build by changing the test to conform to the new changes. (related to issue ASTERISK-19447) Review: https://reviewboard.asterisk.org/r/1874/ 2012-04-18 16:41 +0000 [r362430] Richard Mudgett * channels/sig_pri.h, channels/chan_dahdi.c, configs/chan_dahdi.conf.sample, /, channels/sig_pri.c: Add ability to ignore layer 1 alarms for BRI PTMP lines. Several telcos bring the BRI PTMP layer 1 down when the line is idle. When layer 1 goes down, Asterisk cannot make outgoing calls. Incoming calls could fail as well because the alarm processing is handled by a different code path than the Q.931 messages. * Add the layer1_presence configuration option to ignore layer 1 alarms when the telco brings layer 1 down. This option can be configured by span while the similar DAHDI driver teignorered=1 option is system wide. This option unlike layer2_persistence does not require libpri v1.4.13 or newer. Related to JIRA AST-598 JIRA ABE-2845 ........ Merged revisions 362428 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362429 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-17 21:23 +0000 [r362365-362380] Matthew Jordan * /, main/format_pref.c: Handle case where an unknown format is used to get the preferred codec size In ast_codec_pref_getsize, if an unknown format is passed to the method, no preferred codec will be selected and a negative number will be used to index into the format list. The method now logs an unknown format as a warning, and returns an empty format list. (issue ASTERISK-19655) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1863/ ........ Merged revisions 362377 from http://svn.asterisk.org/svn/asterisk/branches/10 * res/res_rtp_asterisk.c, /, res/res_agi.c, res/res_musiconhold.c: Fix places in resources where a negative return value could impact execution This patch addresses a number of modules in resources that did not handle the negative return value from function calls adequately. This includes: * res_agi.c: if the result of the read function is a negative number, indicating some failure, the result would instead be treated as the number of bytes read. This patch now treats negative results in the same manner as an end of file condition, with the exception that it also logs the error code indicated by the return. * res_musiconhold.c: if spawn_mp3 fails to assign a file descriptor to srcfd, and instead assigns a negative value, that file descriptor could later be passed to functions that require a valid file descriptor. If spawn_mp3 fails, we now immediately retry instead of continuing in the logic. * res_rtp_asterisk.c: if no codec can be matched between two RTP instances in a peer to peer bridge, we immediately return instead of attempting to use the codec payload type as an index to determine the appropriate negotiated codec. (issue ASTERISK-19655) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1863/ ........ Merged revisions 362362 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362364 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-17 21:10 +0000 [r362363] Jonathan Rose * res/res_config_curl.c, res/res_config_pgsql.c, res/res_config_odbc.c, /: Make use of va_args more appropriate to form in various res_config modules plus utils. A number of va_copy operations weren't matched with a corresponding va_end in res_config_odbc. Also, there was a potential for va_end to be invoked twice on the same va_arg in utils, which would mean invoking va_end on an undefined variable... which is bad. va_end is removed from various functions in config_pgsql and config_curl since they aren't making their own copy. The invokers of those functions are responsible for calling va_end on them. (issue ASTERISK-19451) Reported by: Walter Doekes Review: https://reviewboard.asterisk.org/r/1848/ ........ Merged revisions 362354 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362357 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-17 21:08 +0000 [r362358-362361] Matthew Jordan * main/manager.c, /, main/asterisk.c: Fix places in main where a negative return value could impact execution This patch addresses a number of modules in main that did not handle the negative return value from function calls adequately, or were not sufficiently clear that the conditions leading to improper handling of the return values could not occur. This includes: * asterisk.c: A negative return value from the read function would be used directly as an index into a buffer. We now check for success of the read function prior to using its result as an index. * manager.c: Check for failures in mkstemp and lseek when handling the temporary file created for processing data returned from a CLI command in action_command. Also check that the result of an lseek is sanitized prior to using it as the size of a memory map to allocate. (issue ASTERISK-19655) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1863/ ........ Merged revisions 362359 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362360 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, funcs/func_env.c: Fix places where a negative return from ftello could be used as invalid input In a variety of locations in both reading and writing a file, the result from the C library function ftello is used as input to other functions. For the parameters and functions in question, a negative value is invalid input. This patch checks the return value from the ftello function to determine if we were able to determine the current position in the file stream and, if not, fail gracefully. (issue ASTERISK-19655) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1863/ ........ Merged revisions 362355 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362356 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-17 18:57 +0000 [r362307] Walter Doekes * channels/chan_unistim.c, cdr/cdr_sqlite3_custom.c, funcs/func_env.c, res/res_phoneprov.c, channels/chan_gtalk.c, cdr/cdr_pgsql.c, res/res_http_post.c, res/res_musiconhold.c, res/res_jabber.c, res/res_format_attr_celt.c, channels/chan_dahdi.c, funcs/func_groupcount.c, apps/app_osplookup.c, funcs/func_odbc.c, main/ast_expr2f.c, apps/app_minivm.c, channels/chan_alsa.c, codecs/codec_resample.c, formats/format_h264.c, res/res_format_attr_silk.c, res/res_config_ldap.c, main/ast_expr2.fl, res/res_config_sqlite3.c, channels/chan_sip.c, channels/vcodecs.c, codecs/codec_g726.c, main/data.c, res/res_corosync.c, channels/chan_h323.c, codecs/codec_dahdi.c, funcs/func_callerid.c, main/asterisk.c, res/res_odbc.c: Avoid cppcheck warnings; removing unused vars and a bit of cleanup. Patch by: junky Review: https://reviewboard.asterisk.org/r/1743/ 2012-04-17 18:29 +0000 [r362306] Matthew Jordan * /, formats/format_sln.c, formats/format_vox.c, formats/format_wav.c, formats/format_pcm.c, formats/format_wav_gsm.c, formats/format_siren14.c, formats/format_gsm.c, formats/format_g719.c, formats/format_siren7.c: Fix error that caused seek format operations to set max file size to '1' or '0' A very inappropriate placement of a ')' (introduced in r362151) caused the maximum size of a file to be set as the result of a comparison operation, as opposed to the result of the ftello operation. This resulted in seeking being restricted to the beginning of the file, or 1 byte into the file. Thanks to the Asterisk Test Suite for properly freaking out about this on at least one test. (issue ASTERISK-19655) Reported by: Matt Jordan ........ Merged revisions 362304 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362305 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-17 15:00 +0000 [r362266] Michael L. Young * /, channels/chan_sip.c: Turn off warning message when bind address is set to any. When a bind address is set to an ANY address (udpbindport=::), a warning message is displayed stating that "Address remapping activated in sip.conf but we're using IPv6, which doesn't need it. Please remove 'localnet' and/or 'externaddr' settings." But if one is running dual stack, we shouldn't be told to turn those settings off. This patch checks if the bind address is an ANY address or not. The warning message will now only be displayed if the bind address is NOT an ANY address and IPv6 is being used. Also, updated the copyright year. (closes issue ASTERISK-19456) Reported by: Michael L. Young Tested by: Michael L. Young Patches: chan_sip_ipv6_message.diff uploaded by Michael L. Young (license 5026) ........ Merged revisions 362253 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362264 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-16 21:58 +0000 [r362203-362206] Matthew Jordan * channels/chan_dahdi.c, /, channels/chan_agent.c: Fix negative return handling in channel drivers In chan_agent, while handling a channel indicate, the agent channel driver must obtain a lock on both the agent channel, as well as the channel the agent channel is using. To do so, it attempts to lock the other channel first, then unlock the agent channel which is locked prior to entry into the indicate handler. If this unlock fails with a negative return value, which can occur if the object passed to agent_indicate is an invalid ao2 object or is NULL, the return value is passed directly to strerror, which can only accept positive integer values. In chan_dahdi, the return value of dahdi_get_index is used to directly index into the sub-channel array. If dahd_get_index returns a negative value, it would use that value to index into the array, which could cause an invalid memory access. If dahdi_get_index returns a negative number, we now default to SUB_REAL. (issue ASTERISK-19655) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1863/ ........ Merged revisions 362204 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362205 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, apps/app_voicemail.c: Fix handling of negative return code when storing voicemails in ODBC storage When storing a voicemail message using an ODBC connection to a database, the voicemail message is first stored on disk. The sound file associated with the message is read into memory before being transmitted to the database. When this occurs, a failure in the C library's lseek function would cause a negative value to be passed to the mmap as the size of the memory map to create. This would almost certainly cause the creation of the memory map to fail, resulting in the message being lost. (issue ASTERISK-19655) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1863 ........ Merged revisions 362201 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362202 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-16 21:20 +0000 [r362200] Michael L. Young * main/manager.c, main/security_events.c, channels/sip/security_events.c, CHANGES, include/asterisk/security_events_defs.h: Add IPv6 address support to security events framework. The current Security Events Framework API only supports IPv4 when it comes to generating security events. This patch does the following: * Changes the Security Events Framework API to support IPV6 and updates the components that use this API. * Eliminates an error message that was being generated since the current implementation was treating an IPv6 socket address as if it was IPv4. * Some copyright dates were updated on files touched by this patch. (closes issue ASTERISK-19447) Reported by: Michael L. Young Tested by: Michael L. Young Patches: security_events_ipv6v3.diff uploaded by Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/1777/ 2012-04-16 20:17 +0000 [r362153] Matthew Jordan * formats/format_ilbc.c, /, formats/format_sln.c, formats/format_vox.c, formats/format_wav.c, formats/format_pcm.c, formats/format_g723.c, formats/format_h263.c, formats/format_h264.c, formats/format_wav_gsm.c, formats/format_siren14.c, formats/format_gsm.c, formats/format_g719.c, formats/format_siren7.c, formats/format_g729.c: Check for IO stream failures in various format's truncate/seek operations For the formats that support seek and/or truncate operations, many of the C library calls used to determine or set the current position indicator in the file stream were not being checked. In some situations, if an error occurred, a negative value would be returned from the library call. This could then be interpreted inappropriately as positional data. This patch checks the return values from these library calls before using them in subsequent operations. (issue ASTERISK-19655) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1863/ ........ Merged revisions 362151 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362152 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-13 16:12 +0000 [r362081-362085] Jonathan Rose * apps/app_forkcdr.c, /: Make ForkCDR e option not set end time of the newly forked CDR log Prior to this patch, ForkCDR's e option would immediately set the end time of the forked CDR to that of the CDR that is being terminated. This resulted in the new CDR's end time being roughly the same as it's beginning time (which is in turn roughly the same as the original's end time). (closes issue ASTERISK-19164) Reported by: Steve Davies Patches: cdr_fork_end.v10.patch uploaded by Steve Davies (license 5012) ........ Merged revisions 362082 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362084 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, apps/app_meetme.c: Send relative path named recordings to the meetme directory instead of sounds Prior to this patch, no effort was made to parse the path name to determine a proper destination for recordings of MeetMe's r option. This fixes that. Review: https://reviewboard.asterisk.org/r/1846/ ........ Merged revisions 362079 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362080 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-12 20:08 +0000 [r362043] Paul Belanger * main/srv.c: Convert SRV lookup message to debug level This helps clean up the Asterisk CLI by converting the log message from verbose to debug 2012-04-12 16:29 +0000 [r361998] Richard Mudgett * configs/asterisk.conf.sample, UPGRADE.txt, pbx/pbx_config.c, include/asterisk/options.h, main/asterisk.c: Add option to invoke the extensions.conf stdexten using the legacy macro method. ASTERISK-18809 eliminated the legacy macro invocation of the stdexten in favor of the Gosub method without a means of backwards compatibility. (issue ASTERISK-18809) (closes issue ASTERISK-19457) Reported by: Matt Jordan Tested by: rmudgett Review: https://reviewboard.asterisk.org/r/1855/ 2012-04-12 16:25 +0000 [r361968-361987] Kinsey Moore * /, channels/chan_iax2.c: Make trunkfreq take effect when set Previously, setting trunkfreq had no effect on initial load or on reload and only ever used the default value. This causes trunkfreq to be used appropriately on initial load and reload. (closes issue ASTERISK-19521) Patch-by: Jaco Kroon ........ Merged revisions 361972 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 361981 from http://svn.asterisk.org/svn/asterisk/branches/10 * Makefile, build_tools/cflags.xml, /, build_tools/menuselect-deps.in, codecs/gsm/src/k6opt.s, configure, codecs/gsm/Makefile, configure.ac, Makefile.rules, makeopts.in, codecs/lpc10/Makefile: Simplify build system architecture optimization This change to the build system rips out any usage of PROC along with architecture-specific optimizations in favor of using -march=native where it is supported. This fixes broken builds on 64bit Intel systems and results in better optimized code on systems running GCC 4.2+. Review: https://reviewboard.asterisk.org/r/1852/ (closes issue ASTERISK-19462) ........ Merged revisions 361955 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 361956 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-11 17:20 +0000 [r361909] Jonathan Rose * /, configs/queues.conf.sample, apps/app_queue.c: Change default value of 'ignorebusy' on Queue members so that behavior is more like 1.8 Prior to this patch, in order to restore that behavior, a function would have to be used on the QueueMember to make the ringinuse option do anything, which is pretty unreasonable. (closes issue ASTERISK-19536) reported by: Philippe Lindheimer Review: https://reviewboard.asterisk.org/r/1860/ ........ Merged revisions 361907 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-10 21:50 +0000 [r361856] Richard Mudgett * channels/chan_dahdi.c, /: Prevent invalid access of free'd memory if DAHDI channel during an MWI event In the MWI processing loop, when a valid event occurs the temporary caller ID information is deallocated. If a new DAHDI channel is successfully created, the event is passed up to the analog_ss_thread without error and the loop exits. If, however, the DAHDI channel is not created, then the caller ID struct has been free'd, and the gains reset to their previous level. This will almost certainly cause an invalid access to the free'd memory, either in subsequent calls to callerid_free or calls to callerid_feed. * Rework the -r361705 patch to better manage the cs and mtd allocated resources. * Fixed use of mwimonitoractive flag to be correct if the mwi_thread() fails to start. ........ Merged revisions 361854 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 361855 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-10 19:58 +0000 [r361659-361805] Matthew Jordan * /, main/http.c: Fix crash caused by unloading or reloading of res_http_post When unlinking itself from the registered HTTP URIs, res_http_post could inadvertently free all URIs registered with the HTTP server. This patch modifies the unregister method to only free the URI that is actually being unregistered, as opposed to all of them. ........ Merged revisions 361803 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 361804 from http://svn.asterisk.org/svn/asterisk/branches/10 * funcs/func_curl.c, /: Allow func_curl to exit gracefully if list allocation fails during write If the global_curl_info data structure could not be allocated, the datastore associated with the operation would be free'd, but the function would not return. This would later dereference the datastore, almost certainly causing Asterisk to crash. With this patch, if the data structure is not allocated the method will return an error code, and not attempt any further operation. ........ Merged revisions 361753 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 361754 from http://svn.asterisk.org/svn/asterisk/branches/10 * channels/chan_dahdi.c, /: Prevent invalid access of free'd memory if DAHDI channel during an MWI event In the MWI processing loop, when a valid event occurs the temporary caller ID information is deallocated. If a new DAHDI channel is successfully created, the event is passed up to the analog_ss_thread without error and the loop exits. If, however, the DAHDI channel is not created, then the caller ID struct has been free'd, and the gains reset to their previous level. This will almost certainly cause an invalid access to the free'd memory, either in subsequent calls to callerid_free or calls to callerid_feed. This patch makes it so that we only free the caller ID structure if a DAHDI channel is successfully created, and we bump the gains back up if we fail to make a DAHDI channel. ........ Merged revisions 361705 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 361706 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, funcs/func_global.c: Change SHARED function to use a safe traversal when modifying a variable When the SHARED function modifies a variable, it removes it from its list of variables and reinserts the new value at the head of the list of variables. Doing this inside a standard list traversal can be dangerous, as the standard list traversal does not account for the list being changed. While the code in question should not cause a use after free violation due to its breaking out of the loop after freeing the variable, it could lead to a maintenance issue if the loop was modified. This also fixes a violation reported by a static analysis tool, which also makes this code easier to maintain in the future. ........ Merged revisions 361657 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 361658 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-06 22:00 +0000 [r361561-361608] Matthew Jordan * /, res/res_calendar_ews.c: Fix memory leak in res_calendar_ews when event email address node is empty If the XML calendar data returned by a Microsoft Exchange Web Service specifies an XML Event E-Mail Address ("EmailAddress"), and no e-mail address is provided, a condition existed where an ast_calendar_attendee struct would be allocated but not appended to the list of attendees. Because of that, the memory associated with the attendee would never be freed. This patch frees the memory if no e-mail address is provided. ........ Merged revisions 361606 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 361607 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, apps/app_meetme.c: Fix memory leak when using MeetMeAdmin 'e' option with user specified A memory leak/reference counting leak occurs if the MeetMeAdmin 'e' command (eject last user that joined) is used in conjunction with a specified user. Regardless of the command being executed, if a user is specified for the command, MeetMeAdmin will look up that user. Because the 'e' option kicks the last user that joined, as opposed to the one specified, the reference to the user specified by the command would be leaked when the user variable was assigned to the last user that joined. ........ Merged revisions 361558 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 361560 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-06 19:58 +0000 [r361523] Richard Mudgett * /, main/message.c: Don't add an empty MESSAGE_DATA(key) header if it doesn't already exist. Doing Set(MESSAGE_DATA(key)=) would add an empty key header if the key header did not already exist. If it already existed it would delete it. * Made msg_set_var_full() exit early if the named variable did not already exist and the value to set is empty. ........ Merged revisions 361522 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-06 18:19 +0000 [r361476] Kinsey Moore * channels/chan_unistim.c, main/pbx.c, /, channels/chan_sip.c, funcs/func_strings.c, formats/format_ogg_vorbis.c, channels/console_video.c, apps/app_ices.c, channels/chan_gtalk.c, channels/chan_iax2.c, res/res_config_sqlite.c, res/res_srtp.c, main/cdr.c, main/tcptls.c, channels/console_gui.c, funcs/func_channel.c, apps/app_sms.c, addons/chan_mobile.c, apps/app_chanspy.c, main/xmldoc.c, channels/chan_mgcp.c, res/res_config_sqlite3.c, res/res_clioriginate.c, apps/app_voicemail.c: Add missing newlines to CLI logging ........ Merged revisions 361471 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 361472 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-06 16:33 +0000 [r361429] Paul Belanger * bridges/bridge_builtin_features.c, /, funcs/func_sysinfo.c, bridges/bridge_multiplexed.c: Multiple revisions 361403,361412 ........ r361403 | pabelanger | 2012-04-06 12:24:36 -0400 (Fri, 06 Apr 2012) | 2 lines Fix typo in svn:keywords ........ r361412 | pabelanger | 2012-04-06 12:27:30 -0400 (Fri, 06 Apr 2012) | 2 lines Fix typo in svn:keywords ........ Merged revisions 361403,361412 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 361422 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-06 15:50 +0000 [r361382] Russell Bryant * /, configs/rpt.conf.sample (removed), configs/usbradio.conf.sample (removed), apps/rpt_flow.pdf (removed): Remove a few more files related to chan_usbradio and app_rpt. ........ Merged revisions 361380 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 361381 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-06 14:02 +0000 [r361334] Matthew Jordan * /, channels/chan_sip.c: Fix a typo in the warning messages for an ignored media stream Added a '\n' to the warning messages when we ignore a media stream due to the port number being '0'. (closes issue ASTERISK-19646) Reported by: Badalian Vyacheslav ........ Merged revisions 361332 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 361333 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-06 13:32 +0000 [r361331] Kinsey Moore * apps/app_dial.c, /: Remove unnecessary error message in app_dial.c The error message for failure to stop autoservice after a gosub or macro call during a dial was removed for macro while Asterisk 1.4 was still being actively developed. The corresponding gosub error message was never removed. (closes issue ASTERISK-19551) ........ Merged revisions 361329 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 361330 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-05 17:22 +0000 [r361092-361279] Jonathan Rose * /, apps/app_meetme.c: Fix MusicOnHold in MeetMe so that it always uses the class if it's been defined There were a few instances of restarting music on hold in meetme that would cause Asterisk to revert to the default class of music on hold for no adequate reason. Review: https://reviewboard.asterisk.org/r/1844/ ........ Merged revisions 361269 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 361270 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, addons/ooh323cDriver.c: Fix some stuff involving calls to memcpy and memset The important parts of the patch were already applied through other updates. (closes issue ASTERISK-19445) Reported by: Makoto Dei Patches: memset-memcpy-length.patch uploaded by Makoto Dei (license 5027) ........ Merged revisions 361210 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 361211 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, funcs/func_devstate.c: Make 'help devstate change' display properly (get rid of excess comma) (closes issue ASTERISK-19444) Reported by: Makoto Dei Patches: devstate-change-usage-truncate.patch uploaded by Makoto Dei (license 5027) ........ Merged revisions 361201 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 361208 from http://svn.asterisk.org/svn/asterisk/branches/10 * main/channel.c, pbx/pbx_loopback.c, addons/chan_ooh323.c, /, channels/chan_sip.c, main/app.c, pbx/pbx_realtime.c, apps/app_externalivr.c, channels/chan_iax2.c, res/res_fax_spandsp.c, apps/app_milliwatt.c: Replace GNU old-style field designator extensions to fix clang warnings (issue ASTERISK-19540) Reported by: Makoto Dei Patches: clang-gnu-designator.patch uploaded by Makoto Dei (license 5027) ........ Also add from the patch the portion in res_fax_spandsp that didn't apply to 1.8 Merged revisions 361142 from http://svn.asterisk.org/svn/asterisk/branches/1.8 (closes issue ASTERISK-19540) ........ Merged revisions 361143 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, apps/app_meetme.c: Make the MeetMeAdmin N command (mute all nonadmins) not mute admins (Closes Issue ASTERISK-19335) Reported by: Johan Wilfer Review: https://reviewboard.asterisk.org/r/1843/ ........ Merged revisions 361090 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 361091 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-03 20:14 +0000 [r361042] Kinsey Moore * /, apps/app_transfer.c: Fix the display of documentation for Transfer This came up while fixing documentation generation for many other cases where the argument separator was not being displayed properly. Now that it is displayed properly, it shows up in the wrong place for Transfer since the '/' is only required if Tech is present. (related to issue ASTERISK-18168) ........ Merged revisions 361040 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 361041 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-04-03 20:03 +0000 [r361038-361039] Mark Murawki * include/asterisk/manager.h: Fix dev-mode compiler warning about gnu_printf (related to ASTERISK-19575) * main/channel.c, main/manager.c, main/utils.c, include/asterisk/channel.h, include/asterisk/strings.h, CHANGES, include/asterisk/manager.h: Allow the Hangup manager action to match channels by regex * Hangup now can take a regular expression as the Channel option. If you want to hangup multiple channels, use /regex/ as the Channel option. Existing behavior to hanging up a single channel is unchanged, but if you pass a regex, the manager will send you a list of channels back that were hung up. (closes issue ASTERISK-19575) Reported by: Mark Murawski Tested by: Mark Murawski 2012-04-02 22:27 +0000 [r360994] Kinsey Moore * /, channels/chan_sip.c: Stop sending out RTCP if RTP is inactive This change prevents Asterisk from sending RTCP receiver reports during a remote bridge since it is no longer receiving media and should not be reporting anything. (related to ASTERISK-19366) ........ Merged revisions 360987 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 360993 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-30 21:38 +0000 [r360935] Richard Mudgett * /, main/logger.c: Fix logger deadlock on Asterisk shutdown. The logger_thread() had an exit path that failed to release the logmsgs list lock. * Make logger_thread() exit path unlock the logmsgs list lock. * Made ast_log() not queue any messages to the logmsgs list if the close_logger_thread flag is set. (issue ASTERISK-19463) Reported by: Matt Jordan ........ Merged revisions 360933 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 360934 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-29 23:36 +0000 [r360872-360886] Mark Michelson * /, main/features.c: Fix potential race condition during call pickup. Prior to this patch, a connected line update was queued during call pickup and then an answer frame was queued. The original caller would presumably then have his connected line updated and then the call would be answered. In actuality, the answer frame was not how the call ended up being answered. Rather, an odd section in app_dial that checks if the called channel's state is up. The result is that the order of the connected line update and the answer were variable. In most cases, this wasn't actually a bad thing. However, if the 'I' option was passed to dial, the connected line update would be inhibited. The fix is to queued the connected line after the answer frame is queued. This way the race in app_dial is between two conditions resulting in an answer. This way the connected line update occurs after the answer every time. (closes issue ASTERISK-19183) Reported by: Thomas Arimont Tested by: Thomas Arimont Mark Michelson Patches: ASTERISK-19183.patch uploaded by Mark Michelson (license 5049) ........ Merged revisions 360884 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 360885 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, channels/chan_sip.c: Improve accuracy of identifying information sent in dialog-info SIP NOTIFY requests. This change makes use of connected party information in addition to caller ID in order to populate local and remote XML elements in the dialog-info NOTIFYs. (closes issue ASTERISK-16735) Reported by: Maciej Krajewski Tested by: Maciej Krajewski Patches: local_remote_hint2.diff uploaded by Mark Michelson (license 5049) ........ Merged revisions 360862 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 360863 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-29 21:57 +0000 [r360827] Richard Mudgett * include/asterisk/astobj2.h, main/astobj2.c: Misc changes to make astobj2 enhancement diffs easier to follow. * Rename astobj2 API parameter funcname to func. * Rename astobj2 API iterator parameter to iter. * Update some documentation for OBJ_MULTIPLE. 2012-03-29 20:01 +0000 [r360785-360787] Jonathan Rose * include/asterisk/logger.h, main/dial.c, main/pbx.c, include/asterisk/bridging.h, main/features.c, main/logger.c, CHANGES, apps/app_mixmonitor.c, configs/logger.conf.sample: Introducing the log message unique call identifiers feature Log messages will now display a call number that they are tied to (ordered for calls based on when they started). This feature is made to be minimally invasive without requiring changes to many of the existing log messages. These IDs won't show up for verbose messages on CLI (but they will in log files) This is currently in phase II of production, see more about this feature on the wiki -- https://wiki.asterisk.org/wiki/display/AST/Unique+Call-ID+Logging Review: https://reviewboard.asterisk.org/r/1823/ * include/asterisk/logger.h, main/dial.c, main/pbx.c, /, include/asterisk/bridging.h, main/features.c, main/logger.c, CHANGES, apps/app_mixmonitor.c, configs/logger.conf.sample: undoing 360785 due to merging mistake * include/asterisk/logger.h, main/dial.c, main/pbx.c, /, include/asterisk/bridging.h, main/features.c, main/logger.c, CHANGES, apps/app_mixmonitor.c, configs/logger.conf.sample: Introducing the log message unique call identifiers feature Log messages will now display a call number that they are tied to (ordered for calls based on when they started). This feature is made to be minimally invasive without requiring changes to many of the existing log messages. These IDs won't show up for verbose messages on CLI (but they will in log files) This is currently in phase II of production, see more about this feature on the wiki -- https://wiki.asterisk.org/wiki/display/AST/Unique+Call-ID+Logging Review: https://reviewboard.asterisk.org/r/1823/ 2012-03-28 19:39 +0000 [r360724] Terry Wilson * channels/chan_jingle.c, addons/chan_ooh323.c, cdr/cdr_adaptive_odbc.c, addons/cdr_mysql.c, channels/chan_gtalk.c, apps/confbridge/conf_config_parser.c: Fix setting CDR variables in the hangup extension A previous CDR fix for setting CDR variables during a bridge via custom dialplan features broke setting CDR variables in the hangup extension. This patch fixes the issue. Review: https://reviewboard.asterisk.org/r/1794/ ........ Merged revisions 358978 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 358989 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-27 18:44 +0000 [r360673] Mark Michelson * /, channels/chan_sip.c: Make a debug message regarding subscription changes more accurate. I was getting confused during some testing why Asterisk was saying that a subscription was being added when it was clearly being removed. This fixes that confusion. ........ Merged revisions 360625 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 360672 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-27 17:13 +0000 [r360626-360627] Richard Mudgett * include/asterisk/astobj2.h, tests/test_astobj2.c, main/astobj2.c: Add global ao2 array container. Global ao2 objects must always exist after initialization because there is no access control to obtain another reference to the global object. It is expected that module configuration could use these new API calls to replace an active configuration parameter object with an updated configuration parameter object. With these new API calls, the global object could be replaced, removed, or referenced without the risk of someone using a stale global object pointer. Review: https://reviewboard.asterisk.org/r/1824/ * main/astobj2.c: Attempt to be more helpful when using a bad ao2 object pointer. 2012-03-27 14:43 +0000 [r360576] Jonathan Rose * /, configure: Updates config with bootstrap where I changed configure.ac in r360488 (issue ASTERISK-17842) Reported by: Bryon Clark ........ Merged revisions 360574 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 360575 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-26 21:22 +0000 [r360536] Paul Belanger * main/dnsmgr.c, /: Convert ast_verb() to ast_debug() and increase log level Rather then flood the CLI with verbose messages, we've changed the level to debug. This will help keep the CLI clean. 2012-03-26 19:49 +0000 [r360490] Jonathan Rose * /, configure.ac: Fix BETTER_BACKTRACES library detection for Fedora/RedHat/CentOS (closes ASTERISK-17842) Reported by: Bryon Clark Patches: 20110512__issue19278.diff.txt uploaded by Tilghman Lesher (license 5003) configure_bfd_with_dl_and_iberty.patch uploaded by Bryon Clark (license 6157) ........ Merged revisions 360488 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 360489 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-24 23:49 +0000 [r360359-360415] Russell Bryant * funcs/func_curl.c, /: func_curl: Fix leak of an ast_str in error handling code path. ........ Merged revisions 360413 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 360414 from http://svn.asterisk.org/svn/asterisk/branches/10 * channels/chan_iax2.c: chan_iax2: Use OBJ_NODATA to be a bit more explicit. This is just a minor code cleanup change. These uses of ao2_callback() would never return anything since the callbacks always returned 0. However, be more explicit that no returned results are wanted by specifying OBJ_NODATA. * /, apps/app_page.c: app_page: Fix a memory leak on every Page(). dial_list is a dynamically allocated array that is allocated at the beginning of Page() based on how many devices will be dialed. This was never being freed. ........ Merged revisions 360363 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 360364 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, apps/app_jack.c: app_jack: fix datastore memory leak in error handling path. ........ Merged revisions 360360 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 360361 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, main/ast_expr2.h, res/ael/ael.tab.c, main/ast_expr2.y, main/ast_expr2f.c, res/ael/ael_lex.c, res/ael/ael.tab.h, main/ast_expr2.c: Multiple revisions 360356-360357 ........ r360356 | russell | 2012-03-23 22:33:36 -0400 (Fri, 23 Mar 2012) | 6 lines expression parser: Fix (theoretical) memory leak. Fix a memory leak that is very unlikely to actually happen. If a malloc() succeeded, but the following strdup() failed, the memory from the original malloc() would be leaked. ........ r360357 | russell | 2012-03-23 22:34:39 -0400 (Fri, 23 Mar 2012) | 6 lines Rebuild parsers. This is needed to include the last fix to main/ast_expr2.y. The changes look much bigger as this regeneration of the code was done with newer versions of flex and bison. ........ Merged revisions 360356-360357 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 360358 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-24 00:40 +0000 [r360264-360311] Richard Mudgett * main/channel.c, /, channels/sig_pri.c: Make number not available presentation also set screening to network provided. Q.951 indicates that when the presentation indicator is "Number not available due to interworking" for a number then the screening indicator field should be "Network provided". * Made ast_party_id_presentation() return AST_PRES_NUMBER_NOT_AVAILABLE when the presentation is "Number not available due to interworking". This fix makes Asterisk consistent and it also makes it consistent with earlier branches as far as this presentation value is concerned. * Made pri_to_ast_presentation() and ast_to_pri_presentation() conversions handle the "Number not available due to interworking" case better in sig_pri.c. This change is possible because the minimum required libpri version (v1.4.11) has the necessary defines in libpri.h. ........ Merged revisions 360309 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 360310 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, channels/chan_sip.c: Add missing initialization of update_redirecting in chan_sip.c ........ Merged revisions 360262 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 360263 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-22 21:25 +0000 [r360227] Jonathan Rose * apps/app_dial.c, include/asterisk/utils.h, main/features.c, main/utils.c, CHANGES, apps/app_queue.c: Adds F option to Bridge application Similar to dial and queue F option. (Closes issue ASTERISK-19282) Reported by: To Patches: bridge_f-v3.diff uploaded by To (license 6347) Review: https://reviewboard.asterisk.org/r/1825/ 2012-03-22 19:51 +0000 [r360190] Kinsey Moore * main/udptl.c, main/stdtime/test.c, main/autoservice.c, main/rtp_engine.c, main/frame.c, main/fskmodem_float.c, main/sha1.c, main/say.c, main/ecdisa.h, main/utils.c, main/devicestate.c, main/taskprocessor.c, main/indications.c, main/enum.c, main/config.c, main/loader.c, main/term.c, main/cli.c, main/io.c, main/ulaw.c, main/channel.c, main/dial.c, main/manager.c, main/tdd.c, main/strcompat.c, main/plc.c, main/features.c, main/logger.c, main/fskmodem_int.c, main/app.c, main/stdtime/localtime.c, main/image.c, main/dns.c, main/message.c, main/md5.c, main/sched.c, main/lock.c, main/pbx.c, main/dnsmgr.c, main/slinfactory.c, main/translate.c, main/jitterbuf.c, main/cel.c, main/chanvars.c, main/netsock.c, main/srv.c, main/privacy.c, main/fixedjitterbuf.c, main/file.c, main/callerid.c, main/event.c, main/astmm.c, main/audiohook.c, main/cygload.c, main/fixedjitterbuf.h, main/asterisk.c, main/xmldoc.c, main/dsp.c, main/timing.c: Kill off red blobs in most of main/* Everything still compiled after making these changes, so I assume these whitespace-only changes didn't break anything (and shouldn't have). 2012-03-21 14:55 +0000 [r360140] Jonathan Rose * /, contrib/scripts/install_prereq: Update install_prereq script to include missing GSM library for debian amd move SQLite3. (closes issue ASTERISK-19367) Reported by: Andrew Latham Patches: debian_install_prereq.diff uploaded by Andrew Latham (license 5985) ........ Merged revisions 360138 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 360139 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-21 14:47 +0000 [r360137] Tzafrir Cohen * /, configure, configure.ac: Also detect gmime 2.6 Also detect gmime version 2.6 (Michael Biebl) Signed-off-by: Tzafrir Cohen (License #5035) ........ Merged revisions 360087 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 360098 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-21 13:31 +0000 [r360089] Matthew Jordan * /, channels/chan_sip.c: Ensure Asterisk sends a BYE when pending on the final response to a re-INVITE When Asterisk detects a hangup and cannot send a BYE due to a pending INVITE, it sets the pendingbye flag and waits for the final response to that INVITE. When the response is received, it transmits the BYE. If, however, that INVITE request is a pending re-INVITE, it needs to first send a CANCEL request to terminate the pending re-INVITE. In that circumstance, Asterisk was, in some scenarios, clearing the pendingbye flag after processing the CANCEL request and not checking for a pending BYE when receiving the final 487 response to the INVITE. This patch ensures that if the pendingbye flag is set, it is honored regardless of the nature of the INVITE request currently in flight. (closes issue ASTERISK-19365) Reported by: Thomas Arimont Tested by: Thomas Arimont Patches: bugASTERISK-19365_2012_03_08.patch uploaded by mjordan (license 6283) Review: https://reviewboard.asterisk.org/r/1807 ........ Merged revisions 360086 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 360088 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-20 20:42 +0000 [r360036] Kinsey Moore * /, apps/app_echo.c: Prevent Echo() from relaying control, null, and modem frames Echo()'s description states that it echoes audio, video, and DTMF except for # while it actually echoes any frame that it receives other than DTMF #. This was causing frame storms in the test suite in some circumstances where Echo() was attached to both ends of a pair of local channels and control frames were being periodically generated. Echo()'s behavior and description have been modifed so that it only echoes media and non-# DTMF frames. ........ Merged revisions 360033 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 360034 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-20 18:17 +0000 [r359983] Sean Bright * /, UPGRADE.txt, channels/chan_iax2.c, include/asterisk/manager.h: chan_iax2: Correct spelling of 'Port' header in IAX2 PeerStatus AMI Events The PeerStatus event for IAX2 channels currently includes a header named Post which should have been Port. Post was removed and the AMI version has been updated to 1.3. ........ Merged revisions 359982 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-20 17:31 +0000 [r359942-359981] Richard Mudgett * main/data.c, main/pbx.c, main/manager.c, /, main/features.c, include/asterisk/manager.h, main/db.c: Allow AMI action callback to be reentrant. Fix AMI module reload deadlock regression from ASTERISK-18479 when it tried to fix the race between calling an AMI action callback and unregistering that action. Refixes ASTERISK-13784 broken by ASTERISK-17785 change. Locking the ao2 object guaranteed that there were no active callbacks that mattered when ast_manager_unregister() was called. Unfortunately, this causes the deadlock situation. The patch stops locking the ao2 object to allow multiple threads to invoke the callback re-entrantly. There is no way to guarantee a module unload will not crash because of an active callback. The code attempts to minimize the chance with the registered flag and the maximum 5 second delay before ast_manager_unregister() returns. The trunk version of the patch changes the API to fix the race condition correctly to prevent the module code from unloading from memory while an action callback is active. * Don't hold the lock while calling the AMI action callback. (closes issue ASTERISK-19487) Reported by: Philippe Lindheimer Review: https://reviewboard.asterisk.org/r/1818/ Review: https://reviewboard.asterisk.org/r/1820/ ........ Merged revisions 359979 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359980 from http://svn.asterisk.org/svn/asterisk/branches/10 * res/res_mutestream.c: Convert MuteAudio documentation to XML. * Added missing error exits with cause in manager_mutestream(). * Cleaned up manager_mutestream() and func_mute_write(). * Some whitespace and comment cleanup. 2012-03-16 21:00 +0000 [r359905] Jonathan Rose * /, apps/app_chanspy.c: Prevent chanspy from binding to zombie channels This patch addresses a bug with chanspy on local channels which roughly 50% of the time would create a situation where chanspy can latch onto a zombie channel, keeping the zombie alive forever and causing the channel doing the spying to never be able to hang up. (closes issue ASTERISK-19493) Reported by: lvl Review: https://reviewboard.asterisk.org/r/1819/ ........ Merged revisions 359892 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359898 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-16 20:37 +0000 [r359904] Richard Mudgett * include/asterisk/app.h, main/app.c: Simplify some code in ast_app_run_sub(). * Remove unnnecessary const from const char * const var declaration in the ast_app_run_macro() and ast_app_run_sub() prototypes. The second const is unnecessary. 2012-03-16 15:38 +0000 [r359857] Mark Michelson * apps/app_dial.c, main/pbx.c, include/asterisk/pbx.h, CHANGES: Revert the pre-dial addition. The code may be just fine, but it had not received a "ship it!" on review board yet. 2012-03-16 08:27 +0000 [r359811] Alec L Davis * /, channels/sip/include/sip.h: Missed lastinvite CSeq int to uint32_t change from Review: https://reviewboard.asterisk.org/r/1699/ ........ Merged revisions 359809 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359810 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-15 20:11 +0000 [r359772] Mark Murawki * main/pbx.c: Fix warning from commit r359705 (predial options for app_dial) 2012-03-15 19:11 +0000 [r359708] Matthew Jordan * /, main/utils.c: Fix remotely exploitable stack overflow in HTTP manager There exists a remotely exploitable stack buffer overflow in HTTP digest authentication handling in Asterisk. The particular method in question is only utilized by HTTP AMI. When parsing the digest information, the length of the string is not checked when it is copied into temporary buffers allocated on the stack. This patch fixes this behavior by parsing out pre-defined key/value pairs and avoiding unnecessary copies to the stack. (closes issue ASTERISK-19542) Reported by: Russell Bryant Tested by: Matt Jordan ........ Merged revisions 359706 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359707 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-15 18:58 +0000 [r359705] Mark Murawki * apps/app_dial.c, main/pbx.c, include/asterisk/pbx.h, CHANGES: Add options PreDial options 'b' and 'B' to app_dial * Added 'b' and 'B' options to Dial. These options will allow you to run last-minute dialplan on the caller and callee channels while the Dial application is executing, but before the call is started. For example you can use the 'b' option to run dialplan on the callee channel to get the name of the newly created channel right away. Review: https://reviewboard.asterisk.org/r/1229/ (closes issue: ASTERISK-19548) Reported by: Mark Murawski Tested by: Mark Murawski, Stefan Schmidt 2012-03-15 18:55 +0000 [r359704] Matthew Jordan * /, apps/app_milliwatt.c: Fix remotely exploitable stack overrun in Milliwatt Milliwatt is vulnerable to a remotely exploitable stack overrun when using the 'o' option. This occurs due to the milliwatt_generate function not accounting for AST_FRIENDLY_OFFSET when calculating the maximum number of samples it can put in the output buffer. This patch resolves this issue by taking into account AST_FRIENDLY_OFFSET when determining the maximum number of samples allowed. Note that at no point is remote code execution possible. The data that is written into the buffer is the pre-defined Milliwatt data, and not custom data. (closes issue ASTERISK-19541) Reported by: Russell Bryant Tested by: Matt Jordan Patches: milliwatt_stack_overrun.rev1.txt by Russell Bryant (license 6283) Note that this patch was written by Russell, even though Matt uploaded it ........ Merged revisions 359645 from http://svn.asterisk.org/svn/asterisk/branches/1.6.2 ........ Merged revisions 359656 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359694 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-15 18:34 +0000 [r359651] Paul Belanger * channels/chan_sip.c: Remove unused variable ‘srch’ Missed on the previous commit 2012-03-15 18:32 +0000 [r359644] Richard Mudgett * apps/app_dial.c, /, apps/app_queue.c: Add missing connected line macro calls to initial dial for Dial and Queue apps. The connected line interception macros do not get executed when the outgoing channel is initially created and that channel's caller-id is implicitly imported into the incoming channel's connected line data. If you are using the interception macros, you would expect that they get run for every change to a channel's connected line information outside of normal dialplan execution. Review: https://reviewboard.asterisk.org/r/1817/ ........ Merged revisions 359609 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359620 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-15 17:36 +0000 [r359607] Paul Belanger * channels/chan_sip.c: Remove some dead code found in _sip_show_peers() Review: https://reviewboard.asterisk.org/r/1696/ 2012-03-15 00:54 +0000 [r359456-359560] Russell Bryant * /, channels/chan_iax2.c: chan_iax2: Fix use of uninitialized sockaddr_in in try_transfer(). Initialize a struct sockaddr_in in try_transfer() so that the code isn't (potentially) trying to read from it while uninitialized. ........ Merged revisions 359558 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359559 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, channels/chan_gtalk.c: chan_gtalk: Fix potential use of uninitialized variable. Avoid potential use of idroster in gtalk_alloc() before it has been initialized. ........ Merged revisions 359508 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359509 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, apps/app_chanisavail.c: app_chanisavail: Fix use of uninitialized variable. Ensure that status is set before it is used by resetting it during each loop iteration. This could have resulted in incorrect results from this app. ........ Merged revisions 359486 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359491 from http://svn.asterisk.org/svn/asterisk/branches/10 * main/udptl.c, /: udptl: Ensure fec[] in udptl_build_packet() is initialized. Scan results indicated that this array could be used uninitialized. At a quick look, it looks correct. In any case, initializing it is a Good Thing (tm). ........ Merged revisions 359457 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359458 from http://svn.asterisk.org/svn/asterisk/branches/10 * include/asterisk/app.h, /: app.h: Always initialize AST_DECLARE_APP_ARGS(). This patch ensures that the struct defined by AST_DECLARE_APP_ARGS() is always fully initialized. I'm not sure if this fixes any real bugs, but it silences a bunch of warnings from coverity, and is generally a good thing to do anyway. ........ Merged revisions 359452 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359454 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-14 22:38 +0000 [r359455] Richard Mudgett * main/channel.c, /, channels/chan_agent.c, include/asterisk/channel.h: Fix deadlock potential with some ast_indicate/ast_indicate_data calls. Calling ast_indicate()/ast_indicate_data() with the channel lock held can result in a deadlock with a local channel because of how local channels need to avoid deadlock. ........ Merged revisions 359451 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359453 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-14 18:56 +0000 [r359406] Matthew Jordan * tests/test_jitterbuf.c (added): Add tests for main/jitterbuf.c This patch adds unit tests for main/jitterbuf.c. This includes checking for the following: * Nominal insertion and retrieval of frames * Insertion and retrieval of frames where the frames are inserted out of order with respect to the previous frame * Insertion and retrieval of frames where some number of frames that would occur in the expected sequence are instead dropped * Insertion and retrieval of frames with an arrival time that does not occur at the same rate as the surrounding frames * Resynchronization of the jitter buffer when an inserted frame breaks the resynchronization threshold * Overfilling of the jitter buffer For each of the tests, both JB_TYPE_VOICE and JB_TYPE_CONTROL permutations exist. Review: https://reviewboard.asterisk.org/r/1815 (issue: ASTERISK-18964) Reported by: Kris Shaw Tested by: Kris Shaw, Matt Jordan 2012-03-14 18:12 +0000 [r359360] Richard Mudgett * include/asterisk/channel_internal.h: Three copies of the file contents in channel_internal.h are a bit excessive. 2012-03-14 17:48 +0000 [r359359] Matthew Jordan * /, main/jitterbuf.c: Fix incorrect jitter buffer overflow due to missed resynchronizations When a change in time occurs, such that the timestamps associated with frames being placed into an adaptive jitter buffer (implemented in jitterbuf.c) are significantly different then the previously inserted frames, the jitter buffer checks to see if it needs to be resynched to the new time frame. If three consecutive packets break the threshold, the jitter buffer resynchs itself to the new timestamps. This currently only occurs when history is calculated, and hence only on JB_TYPE_VOICE frames. JB_TYPE_CONTROL frames, on the other hand, are never passed to the history calculations. Because of this, if the jump in time is greater then the maximum allowed length of the jitter buffer, the JB_TYPE_CONTROL frames are dropped and no resynchronization occurs. Alterntively, if the overfill logic is not triggered, the JB_TYPE_CONTROL frame will be placed into the buffer, but with a time reference that is not applicable. Subsequent JB_TYPE_VOICE frames will quickly trigger the overflow logic until reads from the jitter buffer reach the errant JB_TYPE_CONTROL frame. This patch allows JB_TYPE_CONTROL frames to resynch the jitter buffer. As JB_TYPE_CONTROL frames are unlikely to occur in multiples, it perform the resynchronization on any JB_TYPE_CONTROL frame that breaks the resynch threshold. Note that this only impacts chan_iax2, as other consumers of the adaptive jitter buffer use the abstract jitter buffer API, which does not use JB_TYPE_CONTROL frames. Review: https://reviewboard.asterisk.org/r/1814/ (closes issue ASTERISK-18964) Reported by: Kris Shaw Tested by: Kris Shaw, Matt Jordan Patches: jitterbuffer-2012-2-26.diff uploaded by Kris Shaw (license 5722) ........ Merged revisions 359356 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359358 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-14 17:39 +0000 [r359357] Richard Mudgett * apps/app_dial.c, main/channel.c, /: Fix Dial m and r options and forked calls generating warnings for voice frames. When connected line support was added, the wait_for_answer() variable single changed its meaning slightly. Unfortunately, the places where single was used did not necessarily get updated to reflect that change. Also audio/video frames were sent to all forked calls when the endpoints were never made compatible. * Don't pass audio/video media frames when the channels have not been made compatible. * Added handling of AST_CONTROL_SRCCHANGE to app_dial.c. * Fixed app_dial.c passing on AST_CONTROL_HOLD because that frame can also pass a requested MOH class. (closes issue ASTERISK-16901) Reported by: Chris Gentle (closes issue ASTERISK-17541) Reported by: clint Review: https://reviewboard.asterisk.org/r/1805/ ........ Merged revisions 359344 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359355 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-14 14:40 +0000 [r359306] Matthew Jordan * include/asterisk/astobj2.h: Force non-inlining of ao2_iterator_destroy when TEST_FRAMEWORK is enabled In r357272, astobj2 was changed to automatically enable REF_DEBUG when the TEST_FRAMEWORK flag was enabled. Unfortunately, some compilers (gcc 4.5.1 at least) will attempt to inline ao2_iterator_destroy in handle_astobj2_test. This by itself is not a problem; unfortunately, the compiler believes that there is a code path wherein an object allocated on the stack will be free'd. As warnings are treated as errors, this prevents compilation of astobj2. This patch works around that by adding the noinline attribue to ao2_iterator_destroy, but only if the TEST_FRAMEWORK flag is enabled. Preventing inlining is only needed for the test method defined in astobj2, which is also only enabled if TEST_FRAMEWORK is enabled. 2012-03-14 10:56 +0000 [r359052-359261] Russell Bryant * include/asterisk/logger.h, /, main/logger.c: Fix bogus reads/writes of console log levels in asterisk.c This patch updates the NUMLOGLEVELS define in logger.h to 32, to match the fact that logger.c implements 32 log levels (because of the custom log level stuff). asterisk.c uses this define to size an array of levels per remote console. This array is modified in ast_console_toggle_loglevel(), which is called by the "logger set level" CLI command. While the documentation for the CLI command doesn't make it terribly obvious, you can use this CLI command to toggle a custom log level on a remote console, as well. However, doing so led to an invalid array index in asterisk.c. This array is read from any time a log message is written to a console. So, all custom log level messages resulted in a bogus read if a remote console was connected. ........ Merged revisions 359259 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359260 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, apps/app_externalivr.c, channels/chan_iax2.c: Fix invalid reads/writes due to incorrect sizeof(). These few places in the code used sizeof() on h_addr in struct hostent. This is sizeof(char *). The correct way to get the size of this address is to use h_length. This error would result in reads/writes of 8 bytes instead of 4 on 64-bit machines. ........ Merged revisions 359211 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359212 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, main/sched.c: Fix inaccurate sizeof() in sched.c. This code just needed sizeof(int), not sizeof(int *). ........ Merged revisions 359157 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359162 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, utils/astman.c: Fix incorrect sizeof() in astman. ........ Merged revisions 359116 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359117 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, res/res_crypto.c: Fix incorrect usage of sizeof() in res_crypto. In this case, just remove the memset(). There was a redundant memset that is done correctly just 2 lines later. ........ Merged revisions 359110 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359114 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, res/res_adsi.c: Fix broken usage of sizeof() in res_adsi. ........ Merged revisions 359088 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359091 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, main/features.c: Fix incorrect sizeof() usage in features.c. This didn't actually result in a bug anywhere, luckily. The only place where the result of these memcpys was used is in app_dial, and the only field that it read out of ast_call_feature was the first one, which is an int, so these memcpys always copied just enough to avoid a problem. ........ Merged revisions 359069 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359072 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, main/md5.c: Fix incorrect sizeof() on a pointer in MD5Final(). ........ Merged revisions 359059 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359060 from http://svn.asterisk.org/svn/asterisk/branches/10 * main/pbx.c, /: Don't use a buffer after it goes out of scope. 's' is set to 'workspace'. Make sure 'workspace' doesn't go out of scope while the reference to it via 's' is still used. ........ Merged revisions 359056 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359057 from http://svn.asterisk.org/svn/asterisk/branches/10 * channels/chan_usbradio.c (removed), /, channels/xpmr (removed), build_tools/menuselect-deps.in, configure, include/asterisk/autoconfig.h.in, configure.ac, makeopts.in, apps/app_rpt.c (removed): Remove chan_usbradio and app_rpt. These modules are being maintained outside of the tree and have been for a long time now, so it doesn't make sense to keep them here. Review: https://reviewboard.asterisk.org/r/1764/ ........ Merged revisions 359050 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 359051 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-13 21:24 +0000 [r359011] Terry Wilson * include/asterisk/channel_internal.h (added): Add missing channel_internal.h ...again. 2012-03-13 21:18 +0000 [r358997] Richard Mudgett * channels/sig_pri.h, channels/chan_dahdi.c, configs/chan_dahdi.conf.sample, channels/sig_pri.c: Add ability for chan_dahdi ISDN to block connected line updates per span. Added new chan_dahdi.conf colp_send option parameter to block connected line updates per span. (closes issue ASTERISK-17025) Reported by: Michael Smith 2012-03-13 20:43 +0000 [r358907-358993] Terry Wilson * /, main/features.c: Fix setting CDR variables in the hangup extension A previous CDR fix for setting CDR variables during a bridge via custom dialplan features broke setting CDR variables in the hangup extension. This patch fixes the issue. Review: https://reviewboard.asterisk.org/r/1794/ ........ Merged revisions 358978 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 358989 from http://svn.asterisk.org/svn/asterisk/branches/10 * include/asterisk/devicestate.h, /, channels/chan_sip.c, tests/test_devicestate.c, main/devicestate.c: Make hints for invalid SIP devices return Unavail, not idle This patch drastically simplifies the device state aggegation code. The old method was not only overly complex, but also made it impossible to return AST_DEVICE_INVALID from the aggregation code. The unit test update is as a result of fixing that bug. The SIP change stems from a bug introduced by removing a DNS lookup for hostname-based SIP channels. (closes issue ASTERISK-16702) Review: https://reviewboard.asterisk.org/r/1808/ ........ Merged revisions 358943 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 358944 from http://svn.asterisk.org/svn/asterisk/branches/10 * apps/app_voicemail.c: Fix IMAP storage compilation after opaquification changes (closes issue ASTERISK-19513) * channels/chan_unistim.c, main/autoservice.c, channels/chan_vpb.cc, channels/chan_local.c, main/rtp_engine.c, res/res_musiconhold.c, bridges/bridge_multiplexed.c, apps/app_followme.c, main/indications.c, main/cli.c, main/channel.c, channels/chan_phone.c, channels/chan_dahdi.c, channels/sig_analog.c, main/manager.c, main/features.c, apps/app_dumpchan.c, res/res_agi.c, main/app.c, apps/app_confbridge.c, apps/app_externalivr.c, main/bridging.c, apps/app_parkandannounce.c, apps/app_dial.c, main/pbx.c, channels/chan_sip.c, channels/chan_bridge.c, main/channel_internal_api.c, channels/chan_agent.c, apps/app_disa.c, include/asterisk/channel.h, apps/app_talkdetect.c, apps/app_queue.c, apps/app_speech_utils.c, apps/app_channelredirect.c, main/file.c, res/snmp/agent.c, apps/app_macro.c, apps/app_stack.c, apps/app_chanspy.c, apps/app_mixmonitor.c: Finalize ast_channel opaquification Review: https://reviewboard.asterisk.org/r/1786/ 2012-03-13 17:01 +0000 [r358858-358861] Richard Mudgett * main/channel.c: Fix crash caused by opaquification change -r356042. The set_format() function was more subtle in how it modified the struct ast_channel readtrans/writetrans values. * Fixed ast_activate_generator() conversion correctly. (closes issue ASTERISK-19434) Reported by: Birger Harzenetter Tested by: rmudgett * main/format.c: Use struct copy instead of memcpy(). 2012-03-13 08:06 +0000 [r358812] Tilghman Lesher * res/ael/pval.c, funcs/func_dialplan.c, /, tests/test_gosub.c, utils/ael_main.c, apps/app_stack.c, utils/conf2ael.c: Enable macros in 1.8 to find the next highest "h" extension in a context, like in 1.4. This change restores functionality that was present in 1.4, when AEL macros were implemented with the Macro dialplan application. Macros are fraught with functionality issues, because they consume a large portion of the underlying application stack. This limits the ability of AEL users to call many layers of subroutines, an issue which Gosub does not have (originally tested to 100,000 levels deep). Therefore, starting in 1.6.0, AEL macros were implemented with Gosub. However, there were some implicit behaviors of Macro, which were not replicated at the same time as with the transition to Gosub, one of which is documented in the related issue. In particular, the "h" extension is designed to execute not in the Macro context, but in the topmost calling context. Due to legacy issues with a misapplied bugfix many years ago, when a macro exited in 1.4, it looks in all calling contexts, bubbling up from the deepest level until it finds an "h" extension. Since AEL hides the complexity of the underlying dialplan logic from the AEL programmer, it's reasonable to assume that this behavior should not change in the transition from Asterisk 1.4 LTS to Asterisk 1.8 LTS, lest we break working AEL configurations in the transition to Asterisk 1.8 LTS. This fix is the result, which implements a search for the "h" extension in all calling Gosub contexts. Fixes ASTERISK-19336 Patch: 20120308__ael_bugfix_for_trunk__2.diff (License #5003) by Tilghman Lesher (with slight modifications for 1.8) Tested by: Johan Wilfer Review: https://reviewboard.asterisk.org/r/1776/ ........ Merged revisions 358810 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 358811 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-12 17:01 +0000 [r358766] Igor Goncharovskiy * channels/chan_unistim.c, contrib/unistimLang/ru.po (added), contrib/unistimLang/ru.po.utf8 (added), configs/unistim.conf.sample, UPGRADE.txt, CHANGES, contrib/unistimLang/en.po (added), contrib/unistimLang (added): Massive changes in chan_unistim channel driver. Include many fixes in channel driver operation and add additional functionality: * Added ability to use multiple lines on phone, so for one device in configuration multiple lines can be defined, it allows to have multiple calls on one phone, callwaiting and switching between calls. * Added ability for translation on-screen menu to multiple languages. Tested on Russian languages. Supported encodings: ISO 8859-1, ISO 8859-2, ISO 8859-4, ISO 8859-5, ISO 2022-JP. Language controlled by 'language' and on-screen menu of phone * Other described in CHANGES file Testing done by issue tracker users: ibercom, scsiborg, idarwin, TeknoJuce, c0rnoTa. Tested on production system by Jonn Taylor (jonnt) using phone models: Nortel i2004, 1120E and 1140E. (closes issue ASTERISK-16890) Review: https://reviewboard.asterisk.org/r/1243/ 2012-03-10 20:06 +0000 [r358730] Joshua Colp * configs/confbridge.conf.sample, main/dial.c, apps/app_page.c, apps/confbridge/include/confbridge.h, apps/app_confbridge.c, include/asterisk/dial.h, CHANGES, apps/confbridge/conf_config_parser.c: Transition app_page to using app_confbridge internally for the conference bridge portion of paging. This also adds a new 'announcement' option to ConfBridge user profiles. Review: https://reviewboard.asterisk.org/r/1754/ 2012-03-08 17:48 +0000 [r358646-358691] Sean Bright * apps/app_dial.c, apps/app_directory.c, apps/app_queue.c: Resolve a few more cases of variable shadowing. * channels/chan_phone.c, channels/chan_skinny.c, channels/chan_agent.c, pbx/pbx_lua.c, pbx/pbx_dundi.c, channels/chan_gtalk.c, pbx/pbx_config.c, channels/chan_oss.c, apps/confbridge/conf_config_parser.c: Eliminate a bunch of shadow warnings. * include/asterisk/linkedlists.h: Add some underscores in a few of our llist macros to reduce name collisions. 2012-03-08 16:59 +0000 [r358645] Jonathan Rose * /, channels/chan_sip.c: Make transfer not ignore port information with SIP. Attempting to transfer with SIP to an address like 1XXXXX@ip.ad.re.ss:5061 would fail because port would be cut from the host string and ignored. This simply keeps chan_sip from cutting off the port number during these kinds of transfers. (closes issue ASTERISK-19321) Reported by: Federico Alves Review: https://reviewboard.asterisk.org/r/1790/diff/#index_header ........ Merged revisions 358643 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 358644 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-08 16:21 +0000 [r358609-358622] Sean Bright * Makefile, configure, configure.ac, makeopts.in: Add --enable-dev-mode=strict to configure. Passing -Wshadow to gcc enables shadow warnings. From the gcc manual: Warn whenever a local variable or type declaration shadows another variable, parameter, type, or class member (in C++), or whenever a built-in function is shadowed. Asterisk will not currently compile with this option set, but a number of bugs have been discovered by enabling this flag on specific files. The long-term goal is to eliminate all of the suspect code that causes this warning to be emitted. * Makefile: Whitespace only change to the Makefile 2012-03-07 21:28 +0000 [r358576] Terry Wilson * cel/cel_odbc.c, configs/cel_odbc.conf.sample: Handle numeric columns for eventtype properly in cel_odbc Patch also implements correct handling of datetime2 and datetimeoffset new datatypes in SQL Server 2008 and 2008 R2. (closes issue ASTERISK-17548) Review: https://reviewboard.asterisk.org/r/1160/ Review: https://reviewboard.asterisk.org/r/1804/ 2012-03-07 18:33 +0000 [r358532] Richard Mudgett * /, channels/sig_ss7.c: Change directly setting _softhangup in sig_ss7.c to use ast_softhangup_nolock(). Update to: (issue ASTERISK-19372) ........ Merged revisions 358530 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 358531 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-07 16:16 +0000 [r358486] Sean Bright * /, codecs/codec_dahdi.c: Return g729 and g723.1 frames with the number of samples set properly. If the wctc4xxp returns more than a single packet, we need to update the number of samples in the returned frame accordingly. Acked-by: Shaun Ruffell ........ Merged revisions 358484 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 358485 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-07 15:19 +0000 [r358437-358444] Terry Wilson * /, configs/cdr_adaptive_odbc.conf.sample: Set snarkiness = 0 in cdr_adaptive_odbc.conf.sample ........ Merged revisions 358438 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 358441 from http://svn.asterisk.org/svn/asterisk/branches/10 * cel/cel_odbc.c, /, cdr/cdr_adaptive_odbc.c: Add detection for ODBC WCHAR fields Without detecting these types, cel_odbc blows up when the character set for the table is utf8. This also wraps cdr_adaptive_odbc's use of those types in the HAVE_ODBC_WCHAR #ifdef seen in other parts of the code. ........ Merged revisions 358435 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 358436 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-06 17:47 +0000 [r358262-358379] Richard Mudgett * channels/chan_dahdi.c, /: Fix ring cadance setup for outgoing calls on FXS ports. * Fix referencing the wrong variable in chan_dahdi.c:my_set_cadence(). Thanks to Sean Bright for compiling with -Wshadow and finding this bug. ........ Merged revisions 358377 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 358378 from http://svn.asterisk.org/svn/asterisk/branches/10 * channels/chan_dahdi.c, configs/chan_dahdi.conf.sample, CHANGES: Add dialtone_detect option for analog incoming calls. For analog lines, enables Asterisk to use dialtone detection per channel if an incoming call was hung up before it was answered. If dialtone is detected, the call is hung up. no: Disabled. (Default) yes: Look for dialtone for 10000 ms after answer. : Look for dialtone for the specified number of ms after answer. always: Look for dialtone for the entire call. Dialtone may return if the far end hangs up first. dialtone_detect=yes dialtone_detect=5000 dialtone_detect=always (closes issue ASTERISK-19316) Reported by: Jeremy Pepper Patch by: Jeremy Pepper Tested by: rmudgett,Jeremy Pepper Review: https://reviewboard.asterisk.org/r/1737/ * /, channels/sig_ss7.c: Drop SS7 call if not connected yet when INCOMPLETE/BUSY/CONGESTION. SS7 is a trunk protocol and should clear a failed call as soon as possible. * Made SS7 hangup a call immediately if it has not connected yet for INCOMPLETE/BUSY/CONGESTION causes. Otherwise, play an appropriate inband tone. (closes issue ASTERISK-19372) Reported by: Igor Nikolaev ........ Merged revisions 358278 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 358284 from http://svn.asterisk.org/svn/asterisk/branches/10 * include/asterisk/channel.h: Make usage of DECLARE_STRINGFIELD_SETTERS_FOR() not look so odd. * channels/chan_dahdi.c, channels/sig_ss7.h, /, channels/sig_ss7.c: Setup DSP when SS7 call is connected or early media is available. Outgoing SS7 calls fail to detect incoming DTMF so any bridged channel that requires out-of-band DTMF will not work. * Added sig_ss7_open_media() calls at appropriate places in sig_ss7.c. The new call converts conditionaled out unconverted code and shows that the code really did something useful. * Improved some chan_dahdi DTMF debug messages to help track DTMF handling. (closes issue ASTERISK-19312) Reported by: Igor Nikolaev ........ Merged revisions 358260 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 358261 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-05 19:06 +0000 [r358216] Jonathan Rose * main/manager.c, /: Eliminate double close of file descriptor in manager.c The process_output function in manager.c attempted to call fclose and close immediately afterwards. Since fclose implies close, this resulted in a potential double free on file descriptors. This patch changes that behavior and also adds error checking to fclose and close depending on which was deemed necessary. Also error messages. Thanks to Rosen Iliev for pointing out the location of the problem. (closes issue ASTERISK-18453) Reported By: Jaco Kroon Review: https://reviewboard.asterisk.org/r/1793/ ........ Merged revisions 358214 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 358215 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-05 16:44 +0000 [r358164] Joshua Colp * /, channels/chan_sip.c: Defer sending the connected line reinvite if a reinvite is already in progress. (issue ASTERISK-19355) Reported by: tomaso (closes issue AST-825) ........ Merged revisions 358162 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 358163 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-05 16:00 +0000 [r358117] Kinsey Moore * /, channels/chan_sip.c: Ensure Asterisk acknowledges ACKs to 4xx on Replaces errors Asterisk was not setting pendinginvite in the upper half of handle_request_invite such that the 4xx was retransmitted repeatedly even though an ack was received for every retransmission. (closes issue ASTERISK-19303) Reported by: Jon Tsiros Patches: fix-19303.patch uploaded by Jeremiah Gowdy (license 6358) ........ Merged revisions 358115 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 358116 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-05 11:20 +0000 [r358082] Sean Bright * configs/iax.conf.sample: Tab to spaces and text change. 2012-03-02 23:29 +0000 [r357999-358038] Terry Wilson * channels/chan_usbradio.c, /, channels/xpmr/xpmr.c: Fix unused-but-set-variable warnings All of these were pretty obviously unused. Some were unused because the code that used them was #if 0'd. In those cases, I just commented out the unused-but-set variables. ........ Merged revisions 358029 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 358033 from http://svn.asterisk.org/svn/asterisk/branches/10 * /: Correct some set-but-unused variable warnings in the mISDN library. (from kpfleming's commit to trunk r356292) ........ Merged revisions 358011 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 358017 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, channels/xpmr/xpmr.c: Make chan_usbradio compile under dev mode x=++x and x=x=1? Really? ........ Merged revisions 357986 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 357987 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-02 21:06 +0000 [r357942] Kinsey Moore * /, main/ccss.c, tests/test_event.c, main/event.c, include/asterisk/strings.h: Fix case-sensitivity for device-specific event subscriptions and CCSS This change fixes case-sensitivity for device-specific subscriptions such that the technology identifier is case-insensitive while the remainder of the device string is still case-sensitive. This should also preserve the original case of the device string as passed in to the event system. CCSS is the only feature affected as it is the only consumer of device-specific event subscriptions. The second part of this patch addresses similar case-sensitivity issues within CCSS itself that prevented it from functioning correctly after the fix to the events system. This adds a unit test to verify that the event system works as expected. (closes issue ASTERISK-19422) Review: https://reviewboard.asterisk.org/r/1780/ ........ Merged revisions 357940 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 357941 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-02 18:38 +0000 [r357896] Richard Mudgett * main/channel.c, /, channels/sig_pri.c: Remove ISDN hold restriction for non-bridged calls. The check if an ISDN call is bridged before it could be placed on hold is not necessary and is overly restrictive. The check was originally done to prevent problems with call transfers in case a user tried to transfer a call connected to an application to another call connected to an application. The ISDN transfer code has not required this restriction for quite some time because ECT could transfer any two active calls to each other. * Remove ISDN hold restriction for calls connected to applications. * Made ast_waitfordigit_full() ignore AST_CONTROL_HOLD and AST_CONTROL_UNHOLD instead of generating a warning message. (closes issue ASTERISK-19388) Reported by: Birger Harzenetter Tested by: rmudgett ........ Merged revisions 357894 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 357895 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-02 16:57 +0000 [r357861] Jonathan Rose * apps/app_queue.c: Adds a transfer callee on hangup option (like with Dial option F) to queues. This should (and does in my testing) act just like the Dial option of the same name. This allows a queue member to be transfered to the next priority (no args), or to a context/extension/priority similar to goto (with args context^extension^priority) when a caller hangs up on them. (closes issue ASTERISK-19283) Reported by: To Patches: queue_f-v3.diff uploaded by To (license 6347) Review: https://reviewboard.asterisk.org/r/1785/ 2012-03-02 16:26 +0000 [r357834] Richard Mudgett * apps/app_chanspy.c: Remove bad usage of goto in ChanSpy next_channel(). 2012-03-02 16:19 +0000 [r357821] Sean Bright * configs/iax.conf.sample: Beef up the IAX2 sample configuration a bit and fix some formatting issues. 2012-03-02 16:03 +0000 [r357814-357815] Richard Mudgett * /, apps/app_chanspy.c: Fix channel reference leak in ChanSpy. * Fix next_channel() channel reference leak in ChanSpy. (closes issue ASTERISK-19461) Reported by: Irontec Patches: app_chanspy_iteartor_next_unref.patch (license #6213) patch uploaded by Irontec (issue ASTERISK-17515) ........ Merged revisions 357809 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 357810 from http://svn.asterisk.org/svn/asterisk/branches/10 * channels/chan_usbradio.c: Fix compile error from latest channel opaquification change. 2012-03-02 16:00 +0000 [r357813] Sean Bright * /, channels/chan_iax2.c: The default value for mohinterpret is the empty string, so when resetting to default values don't explicitly set the value to "default." ........ Merged revisions 357811 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 357812 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-03-02 01:33 +0000 [r357774-357775] Mark Michelson * main/channel.c, /: Fix race condition that can cause important control frames (such as a hangup) to be missed. This takes two actions. 1. Move the reading of the alertpipe in __ast_read() to immediately before the removal of frames from the readq. This means we won't do something silly like read from the alertpipe, then ignore the fact that there's a frame to get from the readq since channel's fdno is the AST_TIMING_FD. 2. When ast_settimeout() sets the rate to 0 and the timingfunc to NULL, if the channel's fdno is the AST_TIMING_FD, then set the fdno to -1. This is because if the rate is 0 and the timingfunc is NULL, it means that the channel's timing fd is being invalidated, so any pending reads should not occur. This may actually solve more issues than the referenced one below, but it's not known at this time for sure. (closes issue ASTERISK-19223) reported by Frank-Michael Wittig Review: https://reviewboard.asterisk.org/r/1779 ........ Merged revisions 357761 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 357762 from http://svn.asterisk.org/svn/asterisk/branches/10 * channels/chan_dahdi.c: Fix compilation error due to typo during channel opaquification. s/ast_channel_fd_set/ast_channel_internal_fd_set/g 2012-03-01 22:09 +0000 [r357721] Terry Wilson * channels/chan_unistim.c, apps/app_dahdibarge.c, main/autoservice.c, addons/chan_ooh323.c, channels/chan_vpb.cc, apps/app_meetme.c, channels/console_video.c, channels/chan_gtalk.c, channels/chan_iax2.c, main/cli.c, main/channel.c, channels/chan_phone.c, channels/chan_dahdi.c, channels/sig_analog.c, channels/chan_skinny.c, main/features.c, apps/app_dumpchan.c, channels/sig_ss7.c, channels/chan_mgcp.c, main/pbx.c, channels/chan_sip.c, main/channel_internal_api.c, channels/chan_agent.c, apps/app_dahdiras.c, include/asterisk/channel.h, apps/app_queue.c, channels/sig_pri.c, channels/chan_jingle.c, channels/chan_misdn.c, apps/app_flash.c, funcs/func_channel.c, apps/app_directed_pickup.c, main/file.c, channels/chan_h323.c, res/snmp/agent.c, main/dsp.c: Opaquify ast_channel typedefs, fd arrays, and softhangup flag Review: https://reviewboard.asterisk.org/r/1784/ 2012-03-01 14:22 +0000 [r357673] Kinsey Moore * /, main/acl.c: Prevent outbound SIP NOTIFY packets from displaying a port of 0 In the change from 1.6.2 to 1.8, ast_sockaddr was introduced which changed the behavior of ast_find_ourip such that port number was wiped out. This caused the port in internip (which is used for Contact and Call-ID on NOTIFYs) to be 0. This change causes ast_find_ourip to be port-preserving again. (closes issue ASTERISK-19430) ........ Merged revisions 357665 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 357667 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-29 20:41 +0000 [r357621] Walter Doekes * /, main/utils.c, include/asterisk/stringfields.h: Update stringfield documentation for removed second va_list in favor of va_copy. In r320946, the second va_list that was passed to ast_string_field_build_va and friends, was removed. This patch updates the documentation to reflect that. ........ Merged revisions 357620 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-29 20:31 +0000 [r357610] Sean Bright * res/res_agi.c, CHANGES: Add IPv6 support to FastAGI. Review: https://reviewboard.asterisk.org/r/1774/ Reviewed by: Simon Perreault, Mark Michelson 2012-02-29 19:48 +0000 [r357577] Walter Doekes * apps/app_dial.c, /: Fix copying of CDR(accountcode) to local channels. In r203638, during the addition of the Channel Event Logging, in mid-2009, this got broken in trunk and ended up in asterisk 1.8 and higher. This fixes so the CDR(accountcode) from the calling channel is available to dialed channels again as well as showing up properly in the CDR's. (closes issue ASTERISK-19384) Reported by: jamicque Patches: accountcode.patch (License #6033) by jamicque Review: https://reviewboard.asterisk.org/r/1775/ Reviewed by: Richard Mudgett ........ Merged revisions 357575 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 357576 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-29 16:52 +0000 [r357542] Terry Wilson * channels/chan_local.c, addons/chan_ooh323.c, funcs/func_strings.c, channels/console_video.c, apps/app_alarmreceiver.c, channels/chan_iax2.c, main/cli.c, channels/chan_dahdi.c, channels/sig_analog.c, channels/chan_skinny.c, apps/app_dumpchan.c, main/features.c, apps/app_amd.c, channels/sig_ss7.c, apps/app_dial.c, main/pbx.c, include/asterisk/utils.h, funcs/func_timeout.c, apps/app_privacy.c, apps/app_fax.c, channels/chan_agent.c, apps/app_disa.c, include/asterisk/channel.h, apps/app_talkdetect.c, main/cel.c, channels/chan_misdn.c, apps/app_macro.c, apps/app_zapateller.c, apps/app_mixmonitor.c, apps/app_voicemail.c, channels/chan_unistim.c, tests/test_substitution.c, channels/chan_vpb.cc, apps/app_meetme.c, main/ccss.c, apps/app_readexten.c, channels/chan_gtalk.c, main/autochan.c, apps/app_followme.c, main/cdr.c, main/channel.c, main/dial.c, channels/chan_phone.c, apps/app_osplookup.c, apps/app_setcallerid.c, main/manager.c, bridges/bridge_builtin_features.c, apps/app_minivm.c, res/res_agi.c, main/app.c, apps/app_confbridge.c, apps/app_rpt.c, main/message.c, channels/chan_mgcp.c, apps/app_parkandannounce.c, apps/app_while.c, funcs/func_dialplan.c, channels/chan_sip.c, res/res_fax.c, main/channel_internal_api.c, pbx/pbx_lua.c, channels/chan_console.c, channels/sig_pri.c, apps/app_queue.c, channels/chan_oss.c, channels/chan_jingle.c, channels/chan_usbradio.c, funcs/func_blacklist.c, main/abstract_jb.c, channels/chan_h323.c, main/file.c, res/snmp/agent.c, apps/app_sms.c, apps/app_stack.c, funcs/func_callerid.c: Opaquify ast_channel structs and lists Review: https://reviewboard.asterisk.org/r/1773/ 2012-02-28 22:31 +0000 [r357460-357503] Jonathan Rose * /, configs/sip.conf.sample, UPGRADE-1.8.txt: Adding transport=udp to sample sip.conf - Also changes version of Asterisk 1.8 in UPGRADE (issue ASTERISK-19352) Reported by: jamicque Patches: asterisk-19352-transport-warning-message-v1.patch uploaded by Michael L. Young (license 5026) ........ Merged revisions 357490 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 357497 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, cdr/cdr_adaptive_odbc.c: Add additional character type types to supported data types for cdr_adaptive_odbc The reporter was uable to use varchar utf8_unicode_ci with cdr_adaptive_odbc, so this patch adds those along with some other character types to the list of types cdr_adaptive_odbc will work using the varchar conditions. The problem wasn't really UTF8 characters as much as it was a failure to respond to the exact type that was declared/in use on that database. (closes issue ASTERISK-19334) Reported By: Igor Nikolaev Patches: cdr_adaptive_odbc.patch uploaded by Igor Nikolaev (license 6236) ........ Merged revisions 357455 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 357458 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-28 21:26 +0000 [r357436] Tilghman Lesher * /, apps/app_stack.c: Correctly reset the dialplan priority. When the stack frame is allocated, we save the address to which we should return, when the Gosub returns. However, if we just want to restore the priority, then we need to subtract 1 before setting it. Otherwise, when a Gosub goes to a nonexistent address, it will skip a priority in the dialplan. This is because when we return from an application, the PBX increments the priority for us. ........ Merged revisions 357416 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 357421 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-28 21:01 +0000 [r357409] Richard Mudgett * /, channels/sig_pri.c: Use more reasonable cause code when rejecting incoming call waiting calls. (closes issue ASTERISK-19397) Reported by: Birger Harzenetter Patches: nochannel-cause.patch (license #5870) patch uploaded by Birger Harzenetter ........ Merged revisions 357407 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 357408 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-28 20:43 +0000 [r357406] Jonathan Rose * /, UPGRADE-10.txt: revision 357386 -- oops, accidentally made it 10.3 to 10.4 instead of 10.2 to 10.3 (issue ASTERISK-19352) reported by: jamicque ........ Merged revisions 357405 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-28 20:34 +0000 [r357404] Richard Mudgett * main/channel.c, res/res_musiconhold.c, apps/app_queue.c: Fix REF_DEBUG compile errors. 2012-02-28 20:33 +0000 [r357358-357403] Jonathan Rose * /, UPGRADE-10.txt, UPGRADE-1.8.txt: Moves UPGRADE.txt notes from r357356 to a new section specific to 1.8.12 (issue ASTERISK-19352) reported by: jamicque ........ Merged revisions 357386 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 357400 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, UPGRADE-1.8.txt: Adds UPGRADE.txt notes to r357266 indicating changes to transport option (issue ASTERISK-19352) Reported by: jamicque ........ Merged revisions 357356 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 357357 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-28 19:55 +0000 [r357355] Sean Bright * include/asterisk/netsock2.h: Documentation update. There is no AST_SOCKADDR_UNSPEC. 2012-02-28 19:37 +0000 [r357354] Richard Mudgett * /, apps/app_page.c: Remove dupliate 'i' option table entry in app_page.c. (closes issue ASTERISK-19310) Reported by: Makoto Dei Patches: app_page-duplicate-i-option.patch (license #5027) patch uploaded by Makoto Dei ........ Merged revisions 357352 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 357353 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-28 18:52 +0000 [r357319] Mark Michelson * /, channels/sip/security_events.c: Add a security event for the case where fake authentication challenge is sent. ........ Merged revisions 357318 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-28 18:46 +0000 [r357317] Richard Mudgett * main/tcptls.c, channels/chan_sip.c, include/asterisk/tcptls.h: Convert struct ast_tcptls_session_instance to finally use the ao2 object lock. 2012-02-28 18:23 +0000 [r357288] Jonathan Rose * /, channels/chan_sip.c: Changes transport option in sip.conf so that using multiple instances doesn't stack. Prior to this patch, Using "transport=" multiple times would cause them to add to one another like allow/deny. This patch changes that behavior to simply use the transport option specified last. Also, if no transport option is applied now, the default will automatically be UDP. (closes ASTERISK-19352) Reported by: jamicque Patches: asterisk-19352-transport-warning-message-v1.patch uploaded by Michael L. Young (license 5026) issueA19352_no_transport_is_udp.patch uploaded by Walter Doekes (license 5674) Review: https://reviewboard.asterisk.org/r/1745/diff/#index_header ........ Merged revisions 357266 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 357271 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-28 18:15 +0000 [r357272] Richard Mudgett * main/format.c, main/format_cap.c, include/asterisk/astobj2.h, include/asterisk/lock.h, main/astobj2.c: Astobj2 locking enhancement. Add the ability to specify what kind of locking an ao2 object has when it is allocated. The locking could be one of: MUTEX, RWLOCK, or none. New API: ao2_t_alloc_options() ao2_alloc_options() ao2_t_container_alloc_options() ao2_container_alloc_options() ao2_rdlock() ao2_wrlock() ao2_tryrdlock() ao2_trywrlock() The OBJ_NOLOCK and AO2_ITERATOR_DONTLOCK flags have a slight meaning change. They no longer mean that the object is protected by an external mechanism. They mean the lock associated with the object has already been manually obtained by one of the ao2_lock calls. This change is necessary for RWLOCK support since they are not reentrant. Also an operation on an ao2 container may require promoting a read lock to a write lock by releasing the already held read lock to re-acquire as a write lock. Replaced API calls: ao2_t_link_nolock() ao2_link_nolock() ao2_t_unlink_nolock() ao2_unlink_nolock() with the respective ao2_t_link_flags() ao2_link_flags() ao2_t_unlink_flags() ao2_unlink_flags() API calls to be more flexible and to allow an anticipated enhancement to control linking duplicate objects into a container. The changes to format.c and format_cap.c are taking advantange of the new ao2 locking options to simplify the use of the format capabilities containers. Review: https://reviewboard.asterisk.org/r/1554/ 2012-02-28 14:47 +0000 [r357178-357214] Kevin P. Fleming * /, Makefile.rules: Make COMPILE_DOUBLE magic actually work. The build system has some special magic to ensure that if Asterisk is built with --enable-dev-mode *and* DONT_OPTIMIZE, that all the source is still compiled with the optimizer enabled (even though the result will be thrown away), because the compiler is able to find a great deal of coding errors and bugs as a result of running its optimizers. Unfortunately at some point this mode got broken, and the 'throwaway' compile of the code was no longer done with the optimizer enabled. This patch corrects that problem. ........ Merged revisions 357212 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 357213 from http://svn.asterisk.org/svn/asterisk/branches/10 * main/astobj2.c: Trailing whitespace cleanup. 2012-02-28 00:42 +0000 [r357096-357145] Richard Mudgett * include/asterisk/astobj2.h, tests/test_astobj2.c, main/astobj2.c: Add ability to clone ao2 containers. Occasionally there is a need to put all objects in one container also into another container. Some reasons you might need to do this: 1) You need to reconfigure a container. You would do this by creating a new container with the new configuration and ao2_container_dup the old container into it. Then replace the old container with the new. Then destroy the old container. 2) You need the contents of a container to remain stable while operating on all of the objects. You would do this by creating a cloned container of the original with ao2_container_clone. The cloned container is a snapshot of the objects at the time of the cloning. When done, just destroy the cloned container. Review: https://reviewboard.asterisk.org/r/1746/ * main/channel.c: Fix ast_channel allocation init setting priority to -1 instead of 1. * Fix opaquification conversion error. (closes issue ASTERISK-19424) Reported by: Jeremy Pepper Patches: asterisk-19424-initialize_priority_regression.diff (license #5026) patch uploaded by Michael L. Young * main/channel.c, /: Fix callerid of Originated calls. Thanks to Matt Riddell for tracking this down. (closes issue ASTERISK-19385) Reported by: ornix ........ Merged revisions 357093 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 357095 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-27 19:55 +0000 [r357051] Jonathan Rose * include/asterisk/res_odbc.h, res/res_odbc.c: Converts locking for odbc containers from ast_mutex_lock to ao2_locks. 2012-02-27 17:03 +0000 [r357014] Sean Bright * channels/chan_iax2.c, main/netsock.c: Address comments from Mark Michelson 2012-02-27 16:50 +0000 [r357013] Kinsey Moore * apps/app_dial.c, main/channel.c, include/asterisk/app.h, main/dial.c, main/rtp_engine.c, main/ccss.c, main/features.c, UPGRADE.txt, main/app.c, include/asterisk/channel.h, configs/ccss.conf.sample, apps/app_followme.c, apps/app_queue.c, include/asterisk/ccss.h: Deprecated macro usage for connected line, redirecting, and CCSS This commit adds GoSub alternatives to connected line, redirecting, and CCSS macro hooks so that macro can finally be deprecated. This also adds deprecation warnings for those features when used and in documentation. Review: https://reviewboard.asterisk.org/r/1760/ (closes issue SWP-4256) 2012-02-27 16:31 +0000 [r357005] Sean Bright * include/asterisk/netsock.h, channels/chan_iax2.c, main/netsock.c: Convert netsock.h over to use ast_sockaddrs rather than sockaddr_in and update chan_iax2 to pass in the correct types. chan_iax2 is the only consumer for the various ast_netsock_* functions in trunk at this point, so this feels like a safe change to make. 2012-02-27 16:24 +0000 [r356987] Jonathan Rose * channels/chan_sip.c, configs/sip.conf.sample, CHANGES, channels/sip/include/sip.h: Adds an option to sip.conf that prevents diversion headers from being added. send_diversion=no will prevent Diversion headers from being added to SIP requests. This doesn't prevent Diversion from being added with dialplan such as with SIPAddHeader. (closes issue ASTERISK-16862) Reported by: rsw686 Review: https://reviewboard.asterisk.org/r/1769/ 2012-02-27 16:12 +0000 [r356966] Sean Bright * channels/chan_iax2.c: There isn't much point in saving off and restoring a value that we never use again. 2012-02-27 16:08 +0000 [r356965] Terry Wilson * /, main/features.c: Copy CDR variables when set during a bridge This patch makes sure amaflags, accountcode, and userfield get copied to the bridge CDR when set during a bridge (like via a custom feature). (closes issue ASTERISK-16990) Review: https://reviewboard.asterisk.org/r/1721/ ........ Merged revisions 356963 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 356964 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-27 15:35 +0000 [r356962] Jonathan Rose * /, res/res_odbc.c: Remove possible segfaults from res_odbc by adding locks around usage of odbc handle (closes issue ASTERISK-19011) Reported by: Walter Doekes Patches: issueA19011_combine_read_and_write_locks_WORK_IN_PROGRESS.patch uploaded by Walter Doekes (license 5674) review: https://reviewboard.asterisk.org/r/1719/ review: https://reviewboard.asterisk.org/r/1622/ ........ Merged revisions 356917 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 356961 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-27 14:57 +0000 [r356881-356916] Sean Bright * include/asterisk/netsock.h, main/netsock.c: Make ast_netsock_set_qos() delegate to ast_set_qos(). * include/asterisk/netsock.h: Correct typo in deprecation comment. * channels/chan_unistim.c, main/udptl.c, channels/chan_skinny.c, include/asterisk/netsock.h, pbx/pbx_dundi.c, channels/chan_mgcp.c: Prefer ast_set_qos() over ast_netsock_set_qos() * main/netsock.c: Remove trailing whitespace 2012-02-26 18:25 +0000 [r356848] Alexandr Anikin * addons/ooh323c/src/ooGkClient.c, addons/chan_ooh323.c: Add support change gatekeeper mode or ip per ooh323 reload command (issue ASTERISK-19298) Reported by: Dmitry Melekhov Patches: change_gk_on_reload-1.patch (License #5415) 2012-02-25 17:22 +0000 [r356799] Matthew Jordan * /, apps/app_voicemail.c: Fix crash in app_voicemail during close_mailbox In r354890, a memory leak in app_voicemail was fixed by properly disposing of the allocated heard/deleted pointers. However, there are situations, particularly when no messages are found in a folder, where these pointers are not allocated and not NULL. In that case, an invalid free would be attempted, which could crash app_voicemail. As there are a number of code paths where this could occur, this patch uses the number of messages detected in the folder before it attempts to free the pointers. This resolves the crash detected in the Asterisk Test Suite's check_voicemail_nominal test. ........ Merged revisions 356797 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 356798 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-24 23:40 +0000 [r356697-356765] Richard Mudgett * include/asterisk/astobj2.h: astobj2.h comment tweaks. * include/asterisk/astobj2.h, main/astobj2.c: astobj2.h documentation updates. * /, channels/chan_sip.c, include/asterisk/tcptls.h, channels/sip/include/sip.h: Fix worker thread resource leak in SIP TCP/TLS. The SIP TCP/TLS worker threads were created joinable but noone could join them if they died on their own. * Fix the SIP TCP/TLS worker threads to not be created joinable. * _sip_tcp_helper_thread() only needs one parameter since the pvt parameter is only passed in as NULL and never used. (closes issue ASTERISK-19203) Reported by: Steve Davies Review: https://reviewboard.asterisk.org/r/1714/ ........ Merged revisions 356677 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 356690 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-24 17:43 +0000 [r356606-356652] Matthew Jordan * /, res/res_srtp.c: Remove srtp_shutdown from res_srtp The patch for ASTERISK-19253 included properly shutting down the libsrtp library in the case of module unload. Unfortunately, not all distributions have the srtp_shutdown call. As such, this patch removes calling srtp_shutdown. ........ Merged revisions 356650 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 356651 from http://svn.asterisk.org/svn/asterisk/branches/10 * channels/sip/sdp_crypto.c, include/asterisk/res_srtp.h, main/rtp_engine.c, /, include/asterisk/rtp_engine.h, res/res_srtp.c: Allow SRTP policies to be reloaded Currently, when using res_srtp, once the SRTP policy has been added to the current session the policy is locked into place. Any attempt to replace an existing policy, which would be needed if the remote endpoint negotiated a new cryptographic key, is instead rejected in res_srtp. This happens in particular in transfer scenarios, where the endpoint that Asterisk is communicating with changes but uses the same RTP session. This patch modifies res_srtp to allow remote and local policies to be reloaded in the underlying SRTP library. From the perspective of users of the SRTP API, the only change is that the adding of remote and local policies are now added in a single method call, whereas they previously were added separately. This was changed to account for the differences in handling remote and local policies in libsrtp. Review: https://reviewboard.asterisk.org/r/1741/ (closes issue ASTERISK-19253) Reported by: Thomas Arimont Tested by: Thomas Arimont Patches: srtp_renew_keys_2012_02_22.diff uploaded by Matt Jordan (license 6283) (with some small modifications for this check-in) ........ Merged revisions 356604 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 356605 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-24 00:32 +0000 [r356573] Terry Wilson * channels/chan_unistim.c, channels/chan_local.c, addons/chan_ooh323.c, channels/chan_multicast_rtp.c, channels/chan_vpb.cc, main/rtp_engine.c, apps/app_meetme.c, apps/app_dictate.c, apps/app_record.c, apps/app_test.c, bridges/bridge_softmix.c, channels/chan_gtalk.c, apps/app_ices.c, res/res_musiconhold.c, channels/chan_iax2.c, bridges/bridge_multiplexed.c, main/indications.c, main/cli.c, main/channel.c, channels/chan_phone.c, channels/chan_dahdi.c, channels/chan_skinny.c, res/res_agi.c, main/features.c, apps/app_mp3.c, apps/app_dumpchan.c, main/app.c, apps/app_amd.c, channels/chan_alsa.c, apps/app_confbridge.c, addons/chan_mobile.c, main/bridging.c, channels/chan_mgcp.c, apps/app_nbscat.c, main/pbx.c, channels/chan_sip.c, res/res_fax.c, apps/app_festival.c, channels/chan_bridge.c, main/channel_internal_api.c, apps/app_fax.c, apps/app_waitforsilence.c, res/res_adsi.c, channels/chan_agent.c, bridges/bridge_simple.c, include/asterisk/channel.h, channels/chan_console.c, apps/app_talkdetect.c, channels/chan_oss.c, apps/app_speech_utils.c, channels/chan_usbradio.c, channels/chan_jingle.c, channels/chan_misdn.c, funcs/func_channel.c, main/file.c, channels/chan_nbs.c, apps/app_chanspy.c, apps/app_voicemail.c, res/res_calendar.c: Opaquification for ast_format structs in struct ast_channel Review: https://reviewboard.asterisk.org/r/1770/ 2012-02-23 20:14 +0000 [r356523] Richard Mudgett * /, channels/chan_sip.c, main/features.c: Fix blind transfer parking issues if the dialed extension is not recognized as a parking extension. Custom parking extensions may not be coded such that the first and only extension priority is the Park application. These custom parking extensions will not be recognized as parking extensions. When a call is blind transferred to an extension that is not recognized as a parking extension, the normal blind transfer code causes the transferred channel to start executing dialplan. Calls that get parked in this manner do not know the original channel name that parked the call so the original parker could never be called back if the parked call is not retrieved before the timeout time. The parking space is also announced to the call being parked as a side effect of not knowing the original parking channel. * Fix handling of BLINDTRANSFER channel variable for call parking. * Fixed SIP blind transfer using the wrong dialplan context variable to check for the parking extension. (closes issue ASTERISK-19322) Reported by: aragon Tested by: rmudgett, jparker Review: https://reviewboard.asterisk.org/r/1730/ JIRA AST-766 ........ Merged revisions 356521 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 356522 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-23 15:49 +0000 [r356477] Mark Michelson * /, channels/chan_sip.c: Fix ACK routing for non-2xx responses. When we send an ACK for a 2xx response to an INVITE, we are supposed to use the learned route set. However, when we receive a non-2xx final response to an INVITE, we are supposed to send the ACK to the same place we initially sent the INVITE. We had been doing this up until the changes went in that would build a route set from provisional responses. That introduced a regression where we would use the learned route set under all circumstances. With this change, we now will set the destination of our ACK based on the invitestate. If it is INV_COMPLETED then that means that we have received a non-2xx final response (INV_TERMINATED indicates a 2xx response was received). If it is INV_CANCELLED, then that means the call is being canceled, which means that we should be ACKing a 487 response. The other change introduced here is setting the invitestate to INV_CONFIRMED when we send an ACK *after* the reqprep instead of before. This way, we can tell in reqprep more easily what the invitestate is prior to sending the ACK. (closes issue ASTERISK-19389) reported by Karsten Wemheuer patches: ASTERISK-19389v2.patch uploaded by Mark Michelson (license #5049) (with some slight modifications prior to commit) ........ Merged revisions 356475 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 356476 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-23 03:27 +0000 [r356429] Paul Belanger * /, apps/app_rpt.c: Multiple revisions 356290,356335,356337 ........ r356290 | pabelanger | 2012-02-22 15:20:29 -0500 (Wed, 22 Feb 2012) | 4 lines Fix -Werror=unused-but-set-variable compiler error (gcc 4.6.2) Review: https://reviewboard.asterisk.org/r/1763/ ........ r356335 | pabelanger | 2012-02-22 16:29:25 -0500 (Wed, 22 Feb 2012) | 2 lines Add back strsep() function for previous commit ........ r356337 | pabelanger | 2012-02-22 16:36:37 -0500 (Wed, 22 Feb 2012) | 2 lines Missed one strsep() function ........ Merged revisions 356290,356335,356337 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 356428 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-23 01:53 +0000 [r356397] Terry Wilson * tests/test_substitution.c, tests/test_utils.c: Fix some tests that didn't get opaquification changes Review: https://reviewboard.asterisk.org/r/1766/ 2012-02-23 00:56 +0000 [r356366] Richard Mudgett * main/channel_internal_api.c: Revert some apparently accidental spacing changes. 2012-02-22 21:22 +0000 [r356314] Terry Wilson * /, include/asterisk/calendar.h, main/loader.c, res/res_calendar.c: Track module use count for res_calendar If the res_calendar module was followed immediately by one of the calendar tech modules and "core stop gracefully" was run, Asterisk would crash. This patch adds use count tracking for res_calendar so that it is unloaded after the tech modules when shutting down gracefully. It is now not possible to unload all the of the calendar modules via "module unload res_calednar.so", but it is still possible to unload them all via "module unload -h res_calendar.so". Review: https://reviewboard.asterisk.org/r/1752/ ........ Merged revisions 356291 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 356297 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-22 21:10 +0000 [r356292] Kevin P. Fleming * channels/misdn/isdn_msg_parser.c, channels/misdn/isdn_lib.c: Correct some set-but-unused variable warnings in the mISDN library. 2012-02-22 17:34 +0000 [r356259] Terry Wilson * channels/chan_misdn.c: Fix chan_misdn after the lastest opaquification changes It now compiles, but there are some unrelated warnings for set but unused variables. 2012-02-22 14:54 +0000 [r356216] Matthew Jordan * /, channels/chan_sip.c: Merged revisions 356215 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r356215 | mjordan | 2012-02-22 08:53:53 -0600 (Wed, 22 Feb 2012) | 32 lines Merged revisions 356214 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r356214 | mjordan | 2012-02-22 08:50:20 -0600 (Wed, 22 Feb 2012) | 27 lines Fix potential buffer overrun and memory leak when executing "sip show peers" The "sip show peers" command uses a fix sized array to sort the current peers in the peers ao2_container. The size of the array is based on the current number of peers in the container. However, once the size of the array is determined, the number of peers in the container can change, as the peers container is not locked. This could cause a buffer overrun when populating the array, if peers were added to the container after the array was created. Additionally, a memory leak of the allocated array would occur if a user caused the _show_peers method to return CLI_SHOWUSAGE. We now create a snapshot of the current peers using an ao2_callback with the OBJ_MULTIPLE flag. This size of the array is set to the number of peers that the iterator will iterate over; hence, if peers are added or removed from the peers container it will not affect the execution of the "sip show peers" command. Review: https://reviewboard.asterisk.org/r/1738/ (closes issue ASTERISK-19231) (closes issue ASTERISK-19361) Reported by: Thomas Arimont, Jamuel Starkey Tested by: Thomas Arimont, Jamuel Starkey Patches: sip_show_peers_2012_02_16.diff uploaded by mjordan (license 6283) ........ ................ 2012-02-22 00:35 +0000 [r356152-356183] Terry Wilson * main/channel.c, main/channel_internal_api.c, include/asterisk/channel.h: Rename ast_channel_emulate_dtmf_digit* funcs The accessors names for the "emulate_dtmf_digit" field on the ast_channel are misleading. Change them to ast_channel_dtmf_digit_to_emulate*. * main/channel.c, main/framehook.c, res/res_monitor.c: Fix some opaquification-related compiler warnings (closes issue ASTERISK-19419) PseudoReview - seanbright on IRC 2012-02-21 11:17 +0000 [r356111] Sean Bright * /, channels/chan_iax2.c: Make 'iax2 show callnumber usage' output make sense when an IP is passed in. ........ Merged revisions 356107 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 356108 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-21 04:31 +0000 [r356075] Kinsey Moore * /, main/ccss.c: Add missing newline to ccss state change notification Move along, nothing to see here... ........ Merged revisions 356074 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-20 23:43 +0000 [r356042] Terry Wilson * main/udptl.c, apps/app_dahdibarge.c, addons/chan_ooh323.c, cdr/cdr_sqlite3_custom.c, channels/chan_local.c, main/rtp_engine.c, apps/app_playtones.c, apps/app_record.c, apps/app_sayunixtime.c, apps/app_test.c, main/devicestate.c, apps/app_alarmreceiver.c, apps/app_chanisavail.c, apps/app_ices.c, channels/chan_iax2.c, bridges/bridge_multiplexed.c, main/cli.c, channels/chan_dahdi.c, channels/sig_analog.c, main/framehook.c, channels/chan_skinny.c, main/features.c, apps/app_dumpchan.c, pbx/pbx_realtime.c, channels/chan_alsa.c, apps/app_externalivr.c, main/bridging.c, channels/sig_ss7.c, apps/app_milliwatt.c, cdr/cdr_manager.c, apps/app_dial.c, main/pbx.c, funcs/func_timeout.c, apps/app_privacy.c, channels/chan_bridge.c, apps/app_echo.c, apps/app_softhangup.c, apps/app_fax.c, apps/app_dahdiras.c, channels/chan_agent.c, apps/app_disa.c, bridges/bridge_simple.c, include/asterisk/channel.h, apps/app_talkdetect.c, apps/app_transfer.c, main/cel.c, res/res_monitor.c, apps/app_playback.c, apps/app_speech_utils.c, channels/chan_misdn.c, apps/app_sendtext.c, funcs/func_channel.c, funcs/func_cdr.c, channels/sip/dialplan_functions.c, apps/app_macro.c, apps/app_zapateller.c, main/audiohook.c, apps/app_chanspy.c, apps/app_voicemail.c, apps/app_cdr.c, res/res_calendar.c, channels/chan_unistim.c, channels/chan_multicast_rtp.c, channels/chan_vpb.cc, apps/app_meetme.c, main/ccss.c, apps/app_dictate.c, apps/app_authenticate.c, apps/app_readexten.c, channels/chan_gtalk.c, res/res_musiconhold.c, apps/app_followme.c, main/channel.c, main/cdr.c, channels/chan_phone.c, main/dial.c, main/manager.c, apps/app_osplookup.c, bridges/bridge_builtin_features.c, res/res_agi.c, apps/app_minivm.c, main/app.c, apps/app_confbridge.c, main/image.c, apps/app_directory.c, main/message.c, apps/app_ivrdemo.c, addons/chan_mobile.c, apps/app_rpt.c, cdr/cdr_custom.c, apps/app_parkandannounce.c, channels/chan_mgcp.c, apps/app_while.c, res/res_rtp_asterisk.c, apps/app_read.c, channels/chan_sip.c, apps/app_festival.c, res/res_fax.c, cdr/cdr_syslog.c, apps/app_waitforsilence.c, main/channel_internal_api.c, res/res_adsi.c, pbx/pbx_lua.c, funcs/func_jitterbuffer.c, channels/chan_console.c, apps/app_queue.c, channels/sig_pri.c, channels/chan_oss.c, channels/chan_jingle.c, channels/chan_usbradio.c, apps/app_channelredirect.c, apps/app_forkcdr.c, apps/app_flash.c, main/abstract_jb.c, main/file.c, channels/chan_h323.c, include/asterisk/sched.h, res/snmp/agent.c, apps/app_sms.c, channels/chan_nbs.c, funcs/func_callerid.c, apps/app_verbose.c, apps/app_stack.c: ast_channel opaquification of pointers and integral types Review: https://reviewboard.asterisk.org/r/1753/ 2012-02-20 18:40 +0000 [r355903-355999] Sean Bright * /, channels/chan_iax2.c: Remove spurious warning when 'qualifyfreqnotok' is set successfully. (closes issue ASTERISK-17176) Reported by: John Covert Tested by: Sean Bright Patches: chan_iax2.c.qualifyfreqnotok.patch uploaded by John Covert (license 5512) ........ Merged revisions 355997 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 355998 from http://svn.asterisk.org/svn/asterisk/branches/10 * channels/chan_dahdi.c, /: This was a LOG_NOTICE, so roll it back. ........ Merged revisions 355952 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 355953 from http://svn.asterisk.org/svn/asterisk/branches/10 * channels/chan_dahdi.c, /: Change some debug messages from LOG_DEBUG to ast_debug. ........ Merged revisions 355949 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 355950 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, channels/chan_iax2.c: Add some boilerplate documentation for IAXVAR and IAXPEER. ........ Merged revisions 355904 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 355905 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, channels/chan_iax2.c: Set the length of the ast_sockaddr, so that we can set it's port later. Without this, the call to ast_sockaddr_set_port a few lines later is a noop. ........ Merged revisions 355901 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 355902 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-18 08:02 +0000 [r355852] Alec L Davis * channels/sig_pri.h, channels/chan_dahdi.c, channels/sig_analog.c, channels/sig_ss7.h, /, channels/sig_analog.h, channels/sig_pri.c, channels/sig_ss7.c: push 'outgoing' flag from sig_XXX up to chan_dahdi 'p->outgoing' in chan_dahdi and sig_analog wern't kept in sync, particulary FXS ast_hangup didn't clear the 'outgoing' flag. sig_pri and sig_ss7 were keeping 'outgoing' flag insync. Now provides a callback for all the low level sig_XXX modules. (issue ASTERISK-19316) alecdavis (license 585) Reported by: Jeremy Pepper Tested by: alecdavis Review: https://reviewboard.asterisk.org/r/1747/ ........ Merged revisions 355850 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 355851 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-17 22:03 +0000 [r355795] Sean Bright * configs/iax.conf.sample, /, channels/chan_iax2.c: Don't allow trunkfreq to be greater than 1000ms. ........ Merged revisions 355793 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 355794 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-17 19:56 +0000 [r355749] Tilghman Lesher * main/asterisk.c: Non-verbose output should always go to the remote console, regardless of the previous level. 2012-02-17 19:35 +0000 [r355748] Sean Bright * /, channels/chan_iax2.c: Pass the correct value to ast_timer_set_rate() for IAX2 trunking. IAX2 uses the trunkfreq variable to determine how often to send trunk packets, but this value is in milliseconds while ast_timer_set_rate() expects the rate argument to be ticks per second. So we divide 1000 by trunkfreq and pass that in instead. With a default of 20ms, this change makes IAX2 send trunk packets every 20ms instead of every 50ms. Tracked down by myself and Bob Wienholt. ........ Merged revisions 355746 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 355747 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-17 19:22 +0000 [r355745] Mark Michelson * /, channels/chan_sip.c: Fix regressions with regards to route-set creation on early dialogs. This fixes two main issues: 1. Asterisk would send a CANCEL to the route created by the provisional response instead of using the same destination it did in the initial INVITE. 2. If a new route set arrives in a 200 OK than was in the 1XX response (perfectly possible if our outbound INVITE gets forked), then the route set in the 200 OK needs to overwrite the route set in the 1XX response. (closes issue ASTERISK-19358) Reported by: Karsten Wemheuer Tested by: Karsten Wemheuer patches: ASTERISK-19358.patch uploaded by Mark Michelson (license 5049) ASTERISK-19358.patch uploaded by Stefan Schmidt (license 6034) Review: https://reviewboard.asterisk.org/r/1749 ........ Merged revisions 355732 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 355733 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-16 22:00 +0000 [r355667] Paul Belanger * apps/app_rpt.c: Fix channel opaquification for app_rpt 2012-02-16 20:03 +0000 [r355624] Sean Bright * /, main/audiohook.c: Revert a change to audio_audiohook_write_list that had no affect. When I made this change initially, I was under the false impression that the audiohooks structure remained on the channel after all of the hooks had been detached. This is not the case, ast ast_read takes care of removing the audiohooks structure if the lists are empty. ........ Merged revisions 355622 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 355623 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-16 19:51 +0000 [r355576-355621] Richard Mudgett * /, configure, include/asterisk/autoconfig.h.in, autoconf/ast_c_declare_check.m4 (added), configure.ac, formats/format_ogg_vorbis.c: Fix compile problem when old version of libvorbisfile v1.1.2 is used. The principle difference between libvorbisfile v1.1.2 and newer (at least v1.2.0) is the addition of the predefined callbacks OV_CALLBACKS_xxx in vorbis/vorbisfile.h used for ov_open_callbacks(). * Updated the configure script to detect if libvorbisfile.h declares OV_CALLBACKS_NOCLOSE. * Copied the declaration of OV_CALLBACKS_NOCLOSE from v1.2.0 to allow v1.1.2 to compile. (closes issue ASTERISK-19370) Reported by: Jonn Taylor ........ Merged revisions 355608 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 355620 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, res/res_monitor.c: Fix AMI Monitor action without File header converting channel name into filename. * Fix potential Solaris crash if Monitor application has a urlbase and no fname_base option. ........ Merged revisions 355574 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 355575 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-15 19:29 +0000 [r355450-355531] Sean Bright * /, channels/chan_iax2.c: When IAX2 debugging is enabled, make sure to log 'apathetic' messages too. ........ Merged revisions 355529 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 355530 from http://svn.asterisk.org/svn/asterisk/branches/10 * build_tools/cflags.xml, channels/chan_iax2.c: Remove IAX_OLD_FIND from chan_iax2. * /, channels/chan_iax2.c: Use TRUNK_CALL_START as originally intended. Back in r646, TRUNK_CALL_START was added and defined as 0x4000. That same value was also hard-coded in one part of the IAX2 code instead of using the #define. TRUNK_CALL_START has changed over the years (for dealing with LOW_MEMORY), but the hard-coded usage was never updated to match. This patch fixes that. ........ Merged revisions 355448 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 355449 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-14 20:27 +0000 [r355413] Tilghman Lesher * utils/refcounter.c, main/pbx.c, funcs/func_timeout.c, include/asterisk/autoconfig.h.in, utils/hashtest.c, UPGRADE.txt, CHANGES, main/config.c, configs/logger.conf.sample, main/loader.c, include/asterisk/logger.h, main/manager.c, main/logger.c, utils/ael_main.c, utils/hashtest2.c, codecs/codec_dahdi.c, main/stdtime/localtime.c, main/asterisk.c, addons/res_config_mysql.c: Re-commit the verbose branch. This change permits each verbose destination (consoles, logger) to have its own concept of what the verbosity level is. The big feature here is that the logger will now be able to capture a particular verbosity level without condemning each console to need to suffer that level of verbosity. Additionally, a stray 'core set verbose' will no longer change what will go to the log. Review: https://reviewboard.asterisk.org/r/1599/ 2012-02-14 19:29 +0000 [r355321-355376] Richard Mudgett * /, configure, include/asterisk/autoconfig.h.in, configure.ac, formats/format_ogg_vorbis.c: Fix voicemail problems when using ogg/vorbis. Ogg/vorbis was fairly useless as a voicemail file format because it did not implement the seek and tell format callbacks among other problems. Since we were already using the libvorbis and libvorbisenc libraries we can use libvorbisfile as it is also part of the vorbis library package. * Made use the libvorbisfile to handle the ogg/vorbis file stream. The format_ogg_vorbis.c is now mostly a wrapper around libvorbisfile. (closes issue ASTERISK-16926) Reported by: sque Patches: ogg_vorbis_use_libvorbisfile.patch (license #6108) patch uploaded by sque ........ Merged revisions 355365 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 355375 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, cel/cel_sqlite3_custom.c: Fix lock typo that should be unlock in cel_sqlite_custom reload. (closes issue ASTERISK-19356) Reported by: Alex Villacis Lasso Patches: asterisk-1.8.9.2-cel_sqlite3_custom-fix-reload-locking-typo.patch (license #5617) patch uploaded by Alex Villacis Lasso Review: https://reviewboard.asterisk.org/r/1740/ ........ Merged revisions 355319 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 355320 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-14 16:28 +0000 [r355274] Mark Michelson * /, channels/chan_sip.c: Properly invert the return of a strncmp call. This was causing identification that should have been made private to be public. (closes issue AST-814) reported by Patrick Anderson Patches: chan_sip.c.diff uploaded by Patrick Anderson (license 5430) ........ Merged revisions 355268 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 355271 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-14 15:58 +0000 [r355230] Jason Parker * /, configs/cdr_sqlite3_custom.conf.sample: Don't enable sqlite3 CDRs by default in sample configs. ........ Merged revisions 355228 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 355229 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-14 13:35 +0000 [r355184] Sean Bright * /, channels/chan_iax2.c: Clear the high order bit from the destination call number before sending. send_apathetic_reply takes the incoming frame's source call number as the destination call number for the outgoing frame. If the incoming frame was a full frame, then the high order bit of the source call number is set and will be interpreted as a retransmit when sent back out as the destination call number. ........ Merged revisions 355182 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 355183 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-14 09:58 +0000 [r355138] Alexandr Anikin * addons/chan_ooh323.c, /: call manager_event only if there is not null channel structure (Closes issue ASTERISK-19298) Reported by: robinfood Patches: issue19298.patch uploaded by may213 (License #5415) ........ Merged revisions 355136 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 355137 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-14 00:43 +0000 [r355102] Russell Bryant * res/res_agi.c, CHANGES: res_agi: Add AGIEXITONHANGUP variable. This patch adds a variable AGIEXITONHANGUP for res_agi. If this variable is set to "yes" on a channel, AGI() will exit immediately once a channel hangup has been detected. This was the behavior of AGI() in Asterisk 1.4 and earlier and is still desired by some people. Review: https://reviewboard.asterisk.org/r/1734/ 2012-02-13 22:04 +0000 [r355055-355058] Richard Mudgett * pbx/pbx_spool.c, /: Fix occasional incorrectly delayed call-file execution. Since the dir timestamp is available at one second resolution, we cannot know if it was updated within the same second after we scanned it. Therefore, we will force another scan if the dir was just modified. * Changed to force another scan if the directory was just modified. (closes issue ASTERISK-19081) Reported by: Knut Bakke Review: https://reviewboard.asterisk.org/r/1688/ ........ Merged revisions 355056 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 355057 from http://svn.asterisk.org/svn/asterisk/branches/10 * channels/chan_misdn.c: Fix compile error from most recent ast_channel opaquification installment. 2012-02-13 19:56 +0000 [r355011] Joshua Colp * /, pbx/pbx_config.c: Only allow one 'dialplan reload' to execute at a time as otherwise they would share the same common local context list. (closes issue AST-758) ........ Merged revisions 355009 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 355010 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-13 17:27 +0000 [r354968] Terry Wilson * channels/chan_local.c, addons/chan_ooh323.c, channels/chan_iax2.c, main/cli.c, channels/chan_dahdi.c, channels/sig_analog.c, channels/chan_skinny.c, main/features.c, apps/app_dumpchan.c, pbx/pbx_realtime.c, channels/chan_alsa.c, apps/app_dial.c, main/pbx.c, apps/app_fax.c, channels/chan_agent.c, include/asterisk/channel.h, apps/app_talkdetect.c, main/cel.c, channels/chan_misdn.c, funcs/func_channel.c, apps/app_macro.c, apps/app_chanspy.c, res/res_calendar.c, apps/app_voicemail.c, channels/chan_unistim.c, tests/test_substitution.c, channels/chan_vpb.cc, apps/app_meetme.c, main/ccss.c, apps/app_readexten.c, channels/chan_gtalk.c, main/cdr.c, main/channel.c, main/dial.c, channels/chan_phone.c, main/manager.c, apps/app_osplookup.c, bridges/bridge_builtin_features.c, res/res_agi.c, apps/app_minivm.c, apps/app_confbridge.c, apps/app_directory.c, addons/chan_mobile.c, apps/app_rpt.c, apps/app_parkandannounce.c, channels/chan_mgcp.c, apps/app_while.c, funcs/func_dialplan.c, channels/chan_sip.c, res/res_fax.c, main/channel_internal_api.c, pbx/pbx_lua.c, channels/sig_pri.c, apps/app_queue.c, channels/chan_oss.c, channels/chan_jingle.c, apps/app_directed_pickup.c, main/file.c, channels/chan_h323.c, res/snmp/agent.c, pbx/pbx_dundi.c, channels/chan_nbs.c, apps/app_stack.c, apps/app_verbose.c: Opaquify char * and char[] in ast_channel Review: https://reviewboard.asterisk.org/r/1733/ 2012-02-13 17:25 +0000 [r354964] Richard Mudgett * res/res_config_pgsql.c, /, configs/extconfig.conf.sample: Fix reconnecting to pgsql database after connection loss. There can only be one database connection in res_config_pgsql just like res_config_sqlite. If the connection is lost, the connection may not get reestablished to the same database if the res_pgsql.conf and extconfig.conf files are inconsistent. * Made only use the configured database from res_pgsql.conf. * Fixed potential buffer overwrite of last[] in config_pgsql(). (closes issue ASTERISK-16982) Reported by: german aracil boned Review: https://reviewboard.asterisk.org/r/1731/ ........ Merged revisions 354953 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 354959 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-13 16:42 +0000 [r354939] Joshua Colp * /, apps/app_confbridge.c: Don't try to play sound files that do not exist. (closes issue ASTERISK-19188) Reported by: slesru ........ Merged revisions 354938 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-10 22:44 +0000 [r354903] Jason Parker * /, apps/app_voicemail.c: Fix a voicemail memory leak with heard/deleted messages. open_mailbox() was changed quite a long time ago to allocate this memory. close_mailbox() should have been changed to be responsible for freeing it. ........ Merged revisions 354889 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 354890 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-10 18:08 +0000 [r354837] Richard Mudgett * main/manager.c, /: Fix AMI Redirect ExtraChannel not redirecting to the same exten and context. The astman_get_header() never returns NULL so the check by the code for NULL would never fail. (closes issue ASTERISK-16974) Reported by: Nuno Borges Patches: 0018325.patch (license #6116) patch uploaded by Nuno Borges (modified) ........ Merged revisions 354835 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 354836 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-10 14:51 +0000 [r354799] Matthew Jordan * apps/app_voicemail.c: Fix IMAP app_voicemail compilation issue introduced in r354429 This simply fixes the compilation issue introduced in r354429 by re-adding the 'quote' variable. (closes issue ASTERISK-19337) Reported by: John Taylor 2012-02-09 22:06 +0000 [r354751] Terry Wilson * /, funcs/func_cdr.c: Note that CDRs are immutable once a bridge is torn down CDRs cannot be modified after a bridge is torn down, (e.g. after Dial() returns) even though the CDR() function may be called. Since modifying the CDR code to change this behavior could very easily break all kinds of things, this patch just documents this limitation. (closes issues ASTERISK-16923) Review: https://reviewboard.asterisk.org/r/1720/ ........ Merged revisions 354749 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 354750 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-09 20:52 +0000 [r354657-354704] Kinsey Moore * /, channels/chan_sip.c: Fix parsing of SIP headers where compact and non-compact headers are mixed Change parsing of SIP headers so that compactness of the header no longer influences which header will be chosen. Previously, a non-compact header would be chosen instead of a preceeding compact-form header. (closes issue ASTERISK-17192) Review: https://reviewboard.asterisk.org/r/1728/ ........ Merged revisions 354702 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 354703 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, main/config.c: Make the config parser remove escaping backslashes The config parser in Asterisk does not currently remove a backslash that is used to escape a semicolon which would otherwise be interpreted as the start of a comment. The change here causes that backslash to be removed, but does not create a real escape system in the config parser. The biggest complication with a real escape system would be breaking existing configs everywhere (parsing \\ as \ and breaking on escaped non-semicolon characters) even though it would be the "right" way to do things. (closes issue ASTERISK-17121) Review: https://reviewboard.asterisk.org/r/1724/ ........ Merged revisions 354655 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 354656 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-09 18:14 +0000 [r354597] Terry Wilson * channels/chan_sip.c, channels/sip/include/config_parser.h, channels/sip/utils.c (added), configs/sip.conf.sample, CHANGES, channels/sip/config_parser.c, channels/sip/include/sip.h, channels/sip/include/sip_utils.h: Add auto_force_rport and auto_comedia NAT options This patch adds the auto_force_rport and auto_comedia NAT options. It also converts the nat= setting to a list of comma-separated combinable options: no, force_rport, comedia, auto_force_rport, and auto_comedia. nat=yes remains as an undocumented option equal to "force_rport,comedia". The first instance of 'yes' or 'no' in the list stops parsing and overrides any previously set options. If an auto_* option is specified with its non-auto_ counterpart, the auto setting takes precedence. This patch builds upon the patch posted to ASTERISK-17860 by JIRA user pedro-garcia. (closes issue ASTERISK-17860) Review: https://reviewboard.asterisk.org/r/1698/ 2012-02-09 17:17 +0000 [r354552] Mark Michelson * /, res/res_fax.c: Adding reload support to res_fax.so (closes issue ASTERISK-16712) reported by Frank DiGennaro Review: https://reviewboard.asterisk.org/r/1713 ........ Merged revisions 354545 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 354546 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-09 17:09 +0000 [r354544-354549] Matthew Jordan * /, channels/chan_sip.c: Clean-up of minor formatting issues in r354542/3/4 rmudgett pointed out some formatting issues in the check-in for ASTERISK-19290. This cleans those up. Review: https://reviewboards.asterisk.org/r/1722/ ........ Merged revisions 354547 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 354548 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, channels/chan_sip.c: Fix SIP INFO DTMF handling for non-numeric codes In ASTERISK-18924, SIP INFO DTMF handlingw as changed to account for both lowercase alphatbetic DTMF events, as well as uppercase alphabetic DTMF events. When this occurred, the comparison of the character buffer containing the event code was changed such that the buffer was first compared again '0' and '9' to determine if it was numeric. Unfortunately, since the first character in the buffer will typically be '1' in the case of non-numeric event codes (10-16), this caused those codes to be converted to a DTMF event of '1'. This patch fixes that, and cleans up handling of both application/dtmf-relay and application/dtmf content types. Review: https://reviewboard.asterisk.org/r/1722/ (closes issue ASTERISK-19290) Reported by: Ira Emus Tested by: mjordan ........ Merged revisions 354542 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 354543 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-09 03:09 +0000 [r354497-354498] Richard Mudgett * channels/chan_dahdi.c, channels/chan_misdn.c: Fix some compile problems from the 'cppcheck' patch. * /, apps/app_parkandannounce.c: Fix crash in ParkAndAnnounce. Well, thats embarrasing. I forgot to initialize the caller_id storage. (closes issue ASTERISK-19311) Reported by: tootai Tested by: rmudgett ........ Merged revisions 354495 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 354496 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-09 02:28 +0000 [r354494] Russell Bryant * main/channel.c, /: Remove some unnecessary locking from ast_hangup(). This patch removes some unnecessary locking of the channels container in ast_hangup(). The reason this came up is that this lock can very quickly block the entire system. If any of the channel cleanup code decides to block, it causes a problem for the whole system. For example, when audiohooks get destroyed, if that blocks for a while waiting on the mixmonitor thread to exit because it's busy blocking on some I/O, it causes a problem for many other threads in the meantime. Review: https://reviewboard.asterisk.org/r/1712/ ........ Merged revisions 354492 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 354493 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-08 21:29 +0000 [r354459] Kevin P. Fleming * res/res_ais.c (removed), contrib/scripts/install_prereq: Revision 354046 added res_corosync as a replacement for res_ais, but didn't actually remove res_ais. This commit removes it. In addition, the 'install_prereq' script has been updated to no longer install AIS dependency packages, and instead install Corosync packages instead. 2012-02-08 21:28 +0000 [r354458] Terry Wilson * channels/chan_sip.c, contrib/realtime/postgresql/realtime.sql, CHANGES, channels/sip/include/sip.h: Add callbackextension matching & realtime callbackextensions This patch is based on the one by David Vossel, developer extrodinaire, at https://reviewboard.asterisk.org/r/344/. If multiple peers are defined with the same host/port, but differing callbackextensions, it chooses the peer with the matching callbackextension. Since callbackextension creates an outbound registration with the callbackextension as the Contact address, matching an incoming request by that (in addition to the host/port) makes a lot of sense. This patch also adds support for callbackextension to realtime by querying all peers with callbackextensions on reload and adding registrations for them. (closes issue ASTERISK-13456) Review: https://reviewboard.asterisk.org/r/344/ Review: https://reviewboard.asterisk.org/r/1717/ 2012-02-08 21:25 +0000 [r354450] Kevin P. Fleming * channels/chan_dahdi.c: Restore some variables removed by the 'cppcheck' patch that were actually needed. 2012-02-08 20:49 +0000 [r354429] Walter Doekes * apps/app_dial.c, main/udptl.c, main/pbx.c, addons/chan_ooh323.c, funcs/func_env.c, funcs/func_strings.c, utils/astman.c, main/acl.c, apps/app_disa.c, apps/app_alarmreceiver.c, apps/app_queue.c, channels/chan_iax2.c, addons/ooh323c/src/memheap.c, channels/chan_usbradio.c, channels/chan_dahdi.c, apps/app_osplookup.c, channels/chan_misdn.c, channels/chan_skinny.c, funcs/func_odbc.c, main/ast_expr2f.c, apps/app_minivm.c, formats/format_h263.c, addons/chan_mobile.c, apps/app_chanspy.c, main/ast_expr2.fl, apps/app_voicemail.c: Avoid cppcheck warnings; removing unused vars and a bit of cleanup. Patch by: Clod Patry Review: https://reviewboard.asterisk.org/r/1651 2012-02-08 15:28 +0000 [r354395] Kinsey Moore * CHANGES: Add CHANGES documentation for the "pri set debug" bitmask change (related to ASTERISK-17159) 2012-02-07 21:33 +0000 [r354360] Terry Wilson * /, channels/chan_sip.c, contrib/realtime/postgresql/realtime.sql: Fix multiple SIP realtime issues 1. Set lastms to 0 when clearing instead of "" 2. Don't set ipaddr or port to the string "(null)" when they are empty 3. Add missing required fields, set default for lastms to 0, and modify the length of the ipaddr field to 45 in the Postgresql realtime.sql file. (closes issue ASTERISK-19172) Review: https://reviewboard.asterisk.org/r/1703/ ........ Merged revisions 354348 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 354349 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-07 18:07 +0000 [r354312-354314] Sean Bright * contrib/scripts/live_ast: Continuation of last patch - since LIVE_AST_LD_PATH_EXTRA will now never be empty, don't check for it, instead of check if LD_LIBRARY_PATH is already set and if so, append LIVE_AST_LD_PATH_EXTRA properly. * contrib/scripts/live_ast: Include live/usr/lib in the shared library search path to that we pick up libasteriskssl.so at run time when using live_ast. * contrib/scripts/live_ast: Whitespace only (remove trailing spaces) 2012-02-07 15:29 +0000 [r354275] Jonathan Rose * /, cdr/cdr_pgsql.c: Fix column duplication bug in module reload for cdr_pgsql. Prior to this patch, attempts to reload cdr_pgsql.so would cause the column list to keep its current data and then add a second copy during the reload. This would cause attempts to log the CDR to the database to fail. This patch also cleans up some unnecessary null checks for ast_free and deals with a few potential locking problems. (closes issue ASTERISK-19216) Reported by: Jacek Konieczny Review: https://reviewboard.asterisk.org/r/1711/ ........ Merged revisions 354263 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 354270 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-06 23:15 +0000 [r354174-354218] Richard Mudgett * /, pbx/pbx_config.c: Improved documentation of CLI "dialplan add extension" command. * Documented dialplan add extension ,,)> format. * Allow acceptance of command without the app-data value. There are many applications that do no need any parameters so it is silly to require that field for all commands. * Fixed a couple ast_malloc/ast_free mismatches with ast_add_extension2() calls. (closes issue ASTERISK-19222) Reported by: Andrey Solovyev Tested by: rmudgett ........ Merged revisions 354216 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 354217 from http://svn.asterisk.org/svn/asterisk/branches/10 * channels/sig_pri.h: Restore alternate SIG_PRI_DEBUG_DEFAULT meaning. 2012-02-06 20:18 +0000 [r354165] Kinsey Moore * channels/sig_pri.h, channels/chan_dahdi.c: Allow more control over the output of pri debug This changes the debuglevel of 'pri set debug' to a bit mask allowing the user to independently select bits of output: 1 libpri internals including state machine 2 Decoded Q.931 messages 4 Decoded Q.921 headers 8 raw hex dump of the full frames Additionally, this ensures that the meaning of "on" does not change and intrudces intense and hex to simplify usage. (closes issue ASTERISK-17159) Original-patch-by: wimpy 2012-02-06 17:33 +0000 [r354120] Richard Mudgett * /, main/features.c: Add missing headers to AMI UnParkedCall event to uniquely identify the call. The AMI UnParkedCall event was missing the Parkinglot and Uniqueid headers that the AMI ParkedCall event contains. (closes issue ASTERISK-19240) Reported by: Michael Yara ........ Merged revisions 354116 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 354119 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-06 16:38 +0000 [r354084] Joshua Colp * apps/app_meetme.c, UPGRADE.txt: Make the 'c' option to MeetMe work even if the 'q' option is used. (closes issue ASTERISK-17053) Reported by: justdave 2012-02-05 10:58 +0000 [r354046] Russell Bryant * build_tools/menuselect-deps.in, configure, include/asterisk/autoconfig.h.in, res/res_corosync.c (added), configure.ac, configs/res_corosync.conf.sample (added), res/ais (removed), UPGRADE.txt, configs/ais.conf.sample (removed), CHANGES, makeopts.in: Replace res_ais with a new module, res_corosync. This patch removes res_ais and introduces a new module, res_corosync. The OpenAIS project is deprecated and is now just a wrapper around Corosync. This module provides the same functionality using the same core infrastructure, but without the use of the deprecated components. Technically res_ais could have been used with an AIS implementation other than OpenAIS, but that is the only one I know of that was ever used. Review: https://reviewboard.asterisk.org/r/1700/ 2012-02-03 21:33 +0000 [r354001] Jonathan Rose * /, channels/chan_agent.c: Fixes deadlocks occuring in chan_agent due to r335976 Bad locking order was added to chan_agent to prevent segfaults from having no locking in a patch by irroot. This patch addresses the bad locking order by releasing locks before getting the right locking order to stop deadlocks from occuring when doing multiple interactions with agents. (closes issue ASTERISK-19285) Reported by: Alex Villacis Lasso Review: https://reviewboard.asterisk.org/r/1708/ ........ Merged revisions 353999 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 354000 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-03 16:50 +0000 [r353964] Kinsey Moore * UPGRADE.txt, cdr/cdr_adaptive_odbc.c, configs/cdr_adaptive_odbc.conf.sample: Support schema selection in cdr_adaptive_odbc Asterisk now supports using ODBC with databases where a single schema must be selected. Previously, INSERTs would fail because they did not take into account extra fields cause by having multiple schemas. This also corrects some SQL resource leaks. (closes issue ASTERISK-17106) Patch-by: Alexander Frolkin Patch-by: Tilgnman Lesher 2012-02-03 16:23 +0000 [r353963] Jonathan Rose * /, res/res_fax.c: Fixes a segfault occuring when performing attended transfer with FAXOPT(gateway)=yes (closes issue ASTERISK-19184) Reported by: Alexandr ........ Merged revisions 353962 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-02 22:28 +0000 [r353917] Kinsey Moore * /, channels/chan_sip.c: Ensure entering T.38 passthrough does not cause an infinite loop After R340970 Asterisk was still polling the RTCP file descriptor after RTCP is shut down and removed. If the descriptor happened to have data ready when the removal occured then Asterisk would go into an infinite loop trying to read data that it can never actually access. This change disables the audio RTCP file descriptor for the duration of the T.38 transaction. (closes issue ASTERISK-18951) Reported-by: Kristijan Vrban ........ Merged revisions 353915 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 353916 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-02 20:18 +0000 [r353872] Richard Mudgett * channels/sig_pri.h, channels/chan_dahdi.c, /, channels/sig_pri.c: Restore the 'w' modifier support for ISDN spans. Dial(DAHDI/g0/1234w888) This feature also causes the sending complete ie to be sent for switch types that do not automatically send the ie. (EuroISDN/ETSI) The main difference between dialing Dial(DAHDI/g0/1234w888) and Dial(DAHDI/g0/1234,,D(888)) is the sending of the sending complete ie. (closes issue ASTERISK-19176) Reported by: rmudgett Tested by: rmudgett ........ Merged revisions 353867 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 353868 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-02 18:55 +0000 [r353821] Mark Michelson * main/manager.c, /, main/http.c, configs/manager.conf.sample, include/asterisk/manager.h, configs/http.conf.sample: Fix TLS port binding behavior as well as reload behavior: * Removes references to tlsbindport from http.conf.sample and manager.conf.sample * Properly bind to port specified in tlsbindaddr, using the default port if specified. * On a reload, properly close socket if the service has been disabled. A note has been added to UPGRADE.txt to indicate how ports must be set for TLS. (closes issue ASTERISK-16959) reported by Olaf Holthausen (closes issue ASTERISK-19201) reported by Chris Mylonas (closes issue ASTERISK-19204) reported by Chris Mylonas Review: https://reviewboard.asterisk.org/r/1709 ........ Merged revisions 353770 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 353820 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-02 17:07 +0000 [r353725-353772] Jonathan Rose * /, channels/chan_sip.c: Fix sip show peers port output, align columns, and fix ami port output. A previous patch I committed from ASTERISK-16930 unexpectedly changed some output for the AMI action "sippeers" which this patch changes back. Also, this aligns the output for the cli command "sip show peers" and fixes another issue that patch introduced by using ast_sockaddr_stringify calls multiple times without immediately using the pointer. I also went ahead and did a little janitorial work to clean up whitespace in _sip_show_peers. (issue ASTERISK-16930) (closes issue ASTERISK-19281) Reported by: Patrick El Youssef Patches: ASTERISK-19281.diff uploaded by Walter Doekes (license 5674) ........ Merged revisions 353769 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 353771 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, channels/chan_sip.c: Use ast_sockaddr_stringify_fmt wrappers for various functions in chan_sip There are a number of cleaner looking wrappers for ast_sockaddr_stringify_fmt available which are slightly more readable than using a direct call to ast_sockaddr_stringify_fmt. This patch switches a number of those calls in chan_sip to use those wrappers and is generally harmless. (Closes issue ASTERISK-16930) Reported by: Michael L. Young Patches: chan_sip-broken-registration-1.8.diff uploaded by Michael L. Young (license 5026) ........ Merged revisions 353720 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 353721 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-01 19:53 +0000 [r353647-353685] Richard Mudgett * channels/chan_unistim.c, channels/chan_multicast_rtp.c, channels/chan_local.c, addons/chan_ooh323.c, channels/chan_vpb.cc, channels/chan_gtalk.c, channels/chan_iax2.c, main/channel.c, channels/chan_phone.c, channels/chan_dahdi.c, channels/sig_analog.c, main/manager.c, pbx/pbx_spool.c, channels/chan_skinny.c, main/features.c, channels/sig_analog.h, channels/chan_alsa.c, apps/app_confbridge.c, addons/chan_mobile.c, channels/sig_ss7.c, channels/chan_mgcp.c, main/pbx.c, channels/sig_ss7.h, channels/chan_sip.c, channels/chan_bridge.c, channels/chan_agent.c, include/asterisk/channel.h, channels/chan_console.c, channels/sig_pri.c, channels/chan_oss.c, channels/chan_usbradio.c, channels/chan_jingle.c, channels/sig_pri.h, channels/chan_misdn.c, channels/chan_h323.c, channels/chan_nbs.c, include/asterisk/pbx.h: Constify some more channel driver technology callback parameters. Review: https://reviewboard.asterisk.org/r/1707/ * cel/cel_pgsql.c, configs/cel_sqlite3_custom.conf.sample, cel/cel_odbc.c, configs/cel.conf.sample, cel/cel_manager.c, cel/cel_tds.c, configs/cel_pgsql.conf.sample, configs/cel_odbc.conf.sample, main/cel.c, configs/cel_custom.conf.sample: Remove inconsistency in CEL eventtype for user defined events. The CEL eventtype field for ODBC and PGSQL backends should be USER_DEFINED instead of the user defined event name supplied by the CELGenUserEvent application. If the field is output as a number, the user defined name does not have a value and is always output as 21 for USER_DEFINED and the userdeftype field would be required to supply the user defined name. The following CEL backends (cel_odbc, cel_pgsql, cel_custom, cel_manager, and cel_sqlite3_custom) can be independently configured to remove this inconsistency. * Allows cel_manager, cel_custom, and cel_sqlite3_custom to behave the same way. (closes issue ASTERISK-17189) Reported by: Bryant Zimmerman Review: https://reviewboard.asterisk.org/r/1669/ * main/channel.c, include/asterisk/channel.h: Fix ExtenSpy and simplify the channel search functions. When ast_channel name was opaquified, the channel search functions did not get converted correctly. As a result ExtenSpy which uses a channel iterator search by exten@context could never find anything. * Updated the doxygen documentation for the search functions in channel.h. Review: https://reviewboard.asterisk.org/r/1702/ 2012-02-01 15:59 +0000 [r353600] Sean Bright * /, include/asterisk/audiohook.h: Resolve an overlap in the ast_audiohook_flags values. AST_AUDIOHOOK_TRIGGER_WRITE and AST_AUDIOHOOK_WANTS_DTMF were overlapping which may have caused unintended side effects. This patch moves AST_AUDIOHOOK_TRIGGER_WRITE, and updates AST_AUDIOHOOK_TRIGGER_MODE to reflect the original intention. This will affect existing modules that use these flags, so be sure to recompile as necessary. (closes issue ASTERISK-19246) Reported by: feyfre ........ Merged revisions 353598 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 353599 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-01 15:07 +0000 [r353552] Matthew Jordan * /, contrib/init.d/etc_default_asterisk: Added clarification for the VERBOSITY setting to etc_default_asterisk Clarified that using the VERBOSITY setting in etc_default_asterisk is the same as using the -v command line switch, which causes Asterisk to launch in console mode. (closes issue ASTERISK-17030) Reported by: Jonas ........ Merged revisions 353550 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 353551 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-02-01 00:08 +0000 [r353504] Terry Wilson * /, res/res_calendar.c: Allow res_calendar to be unloaded The calendaring tech modules depend on res_calendar and initially res_calendar just bumped the use count so that it couldn't be unloaded. res_calendar can potentially create many threads and I've seen issues where the Asterisk shutdown has failed where it looked like these threads could be the culprit. This patch adds unload support for res_calendar. Unloading res_calendar will also unload the dependant tech modules as well. (closes issue ASTERISK-16744) Review: https://reviewboard.asterisk.org/r/1657/ ........ Merged revisions 353502 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 353503 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-31 17:26 +0000 [r353466] Richard Mudgett * main/manager.c, /, include/asterisk/channel.h: Fix memory leak in error paths for action_originate(). * Fix memory leak of vars in error paths for action_originate(). * Moved struct fast_originate_helper tech and data members to stringfields. * Simplified ActionID header handling for fast_originate(). * Added doxygen note to ast_request() and ast_call() and the associated channel callbacks that the data/addr parameters should be treated as const char *. Review: https://reviewboard.asterisk.org/r/1690/ ........ Merged revisions 353454 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 353463 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-30 23:58 +0000 [r353418] Terry Wilson * main/dnsmgr.c, /, channels/chan_sip.c, include/asterisk/dnsmgr.h: Re-link peers by IP when dnsmgr changes the IP Asterisk's dnsmgr currently takes a pointer to an ast_sockaddr and updates it anytime an address resolves to something different. There are a couple of issues with this. First, the ast_sockaddr is usually the address of an ast_sockaddr inside a refcounted struct and we never bump the refcount of those structs when using dnsmgr. This makes it possible that a refresh could happen after the destructor for that object is called (despite ast_dnsmgr_release being called in that destructor). Second, the module using dnsmgr cannot be aware of an address changing without polling for it in the code. If an action needs to be taken on address update (like re-linking a SIP peer in the peers_by_ip table), then polling for this change negates many of the benefits of having dnsmgr in the first place. This patch adds a function to the dnsmgr API that calls an update callback instead of blindly updating the address itself. It also moves calls to ast_dnsmgr_release outside of the destructor functions and into cleanup functions that are called when we no longer need the objects and increments the refcount of the objects using dnsmgr since those objects are stored on the ast_dnsmgr_entry struct. A helper function for returning the proper default SIP port (non-tls vs tls) is also added and used. This patch also incorporates changes from a patch posted by Timo Teräs to ASTERISK-19106 for related dnsmgr issues. (closes issue ASTERISK-19106) Review: https://reviewboard.asterisk.org/r/1691/ ........ Merged revisions 353371 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 353397 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-30 22:44 +0000 [r353347-353370] Alec L Davis * /, channels/chan_sip.c: Merged revisions 353369 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r353369 | alecdavis | 2012-01-31 11:42:28 +1300 (Tue, 31 Jan 2012) | 9 lines Merged revisions 353368 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r353368 | alecdavis | 2012-01-31 11:40:40 +1300 (Tue, 31 Jan 2012) | 2 lines prevent debug messsges displaying -ve Cseq numbers. Missed in R353320 ........ ................ * channels/sip/include/dialog.h, /, channels/chan_sip.c, channels/sip/include/sip.h: Merged revisions 353321 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r353321 | alecdavis | 2012-01-31 11:16:22 +1300 (Tue, 31 Jan 2012) | 25 lines Merged revisions 353320 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r353320 | alecdavis | 2012-01-31 10:57:49 +1300 (Tue, 31 Jan 2012) | 18 lines RFC3261 Section 8.1.1.5. The sequence number value MUST be expressible as a 32-bit unsigned integer * fix: use %u instead of %d when dealing with CSeq numbers - to remove possibility of -ve numbers. * fix: change all uses of seqno and friends (ocseq icseq) from 'int' or 'unsigned int' to uint32_t. Summary of CSeq numbers. An initial CSeq number must be less than 2^31 A CSeq number can increase in value up to 2^32-1 An incrementing CSeq number must not wrap around to 0. Tested with Asterisk 1.8.8.2 with Grandstream phones. alecdavis (license 585) Tested by: alecdavis Review: https://reviewboard.asterisk.org/r/1699/ ........ ................ 2012-01-30 21:34 +0000 [r353262-353319] Kevin P. Fleming * Makefile: Correct serious flaw in the top-level Makefile. * include/asterisk.h, /, main/Makefile, main/libasteriskssl.c (added), configure.ac, Makefile.moddir_rules, main/ssl.c (removed), addons, CHANGES, include/asterisk/optional_api.h, Makefile, build_tools/mkpkgconfig, configure, main, makeopts.in, build_tools/make_defaults_h, main/libasteriskssl.exports.in (added): Address OpenSSL initialization issues when using third-party libraries. When Asterisk is used with various third-party libraries (CURL, PostgresSQL, many others) that have the ability themselves to use OpenSSL, it is possible for conflicts to arise in how the OpenSSL libraries are initialized and shutdown. This patch addresses these conflicts by 'wrapping' the important functions from the OpenSSL libraries in a new shared library that is part of Asterisk itself, and is loaded in such a way as to ensure that *all* calls to these functions will be dispatched through the Asterisk wrapper functions, not the native functions. This new library is optional, but enabled by default. See the CHANGES file for documentation on how to disable it. Along the way, this patch also makes a few other minor changes: * Changes MODULES_DIR to ASTMODDIR throughout the build system, in order to more closely match what is used during run-time configuration. * Corrects some errors in the configure script where AC_CHECK_TOOLS was used instead of AC_PATH_PROG. * Adds a new variable for linker flags in the build system (DYLINK), used for producing true shared libraries (as opposed to the dynamically loadable modules that the build system produces for 'regular' Asterisk modules). * Moves the Makefile bits that handle installation and uninstallation of the main Asterisk binary into main/Makefile from the top-level Makefile. * Moves a couple of useful preprocessor macros from optional_api.h to asterisk.h. Review: https://reviewboard.asterisk.org/r/1006/ * /, channels/chan_sip.c: Clarify log WARNING message when port-zero SDP 'm' lines received. Previously, if an m-line in an SDP offer or answer had a port number of zero, that line was skipped, and resulted in an 'Unsupported SDP media type...' warning message. This was misleading, as the media type was not unsupported, but was ignored because the m-line indicated that the media stream had been rejected (in an answer) or was not going to be used (in an offer). ........ Merged revisions 353260 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 353261 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-29 22:33 +0000 [r353224] Damien Wedhorn * channels/chan_skinny.c: Allow softkey reject while device onhook. Fixes up softkey endcall. Previous code was a copy of onhook, now allows for endcall softkey to be used while device is still onhook. 2012-01-29 02:45 +0000 [r353177] Russell Bryant * /, main/netsock.c: Find even more network interfaces. The previous change made the code look for emN and pciN in addition to what it did originally, which was search for ethN. However, it needed to be looking for pciN#N, so that's what it does now. This also moves the memset() to be before every ioctl(). ........ Merged revisions 353175 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 353176 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-28 14:52 +0000 [r353128] Kevin P. Fleming * main/rtp_engine.c, /: Add 'L16-256' MIME subtype alias for slin16. Asterisk has supported the 'L16' MIME subtype for 16kHz signed linear (PCM) audio for quite some time, but some endpoints refer to it as 'L16-256'. This commit adds this as an alias for the existing format. ........ Merged revisions 353126 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 353127 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-28 04:31 +0000 [r353079] Russell Bryant * /, main/netsock.c: Update ast_set_default_eid() to find more network interfaces. As of Fedora 15, ethN is not the name of ethernet interfaces. The names are emN or pciN. Update some code that searched for interfaces named ethN to look for the new names, as well. For more information about why this change was made, see this page: http://domsch.com/blog/?p=455 ........ Merged revisions 353077 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 353078 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-27 21:38 +0000 [r352996-353040] Richard Mudgett * /, apps/app_queue.c: Audit of ao2_iterator_init() usage for v10. Missed one. ........ Merged revisions 353039 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, tests/test_format_api.c: Audit of ao2_iterator_init() usage for v10. Fix double format_cap iterator cleanup. ........ Merged revisions 352992 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-27 19:26 +0000 [r352981] Jonathan Rose * /, res/res_monitor.c: Make failed PauseMonitor and UnpauseMonitor with no valid channel not close AMI session. I also went ahead and took a little time to make sure that the manager value AMI_SUCCESS was used instead of just return 0 being thrown around everywhere since that's how we handle this stuff these days. (closes issue ASTERISK-19249) Reporter: Jamuel Starkey Patches: res_monitor.c-ASTERISK-19249.diff uploaded by Jamuel Starkey (license 5766) ........ Merged revisions 352959 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 352965 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-27 18:47 +0000 [r352957] Richard Mudgett * main/pbx.c, /, channels/chan_sip.c, include/asterisk/indications.h, res/snmp/agent.c, main/taskprocessor.c, apps/app_queue.c, channels/chan_iax2.c, apps/app_chanspy.c, main/indications.c, res/res_odbc.c, res/res_srtp.c: Audit of ao2_iterator_init() usage for v1.8. Fixes numerous reference leaks and missing ao2_iterator_destroy() calls as a result. Review: https://reviewboard.asterisk.org/r/1697/ ........ Merged revisions 352955 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 352956 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-27 15:57 +0000 [r352916] Terry Wilson * res/res_calendar_exchange.c, res/res_calendar_caldav.c, res/res_calendar.c: Add aresult variable for CALENDAR_WRITE This patch adds a CALENDAR_SUCCESS=1/0 variable that is set to show whether or not CALENDAR_WRITE has passed. This patch also adds some debugging for caldav PUT responses and no longer treats responses with no body as an error (as a PUT gets a 201 Created with no body). (closes issue ASTERISK-16903) Reported by: Clod Patry Tested by: Terry Wilson Patches: calendarstatus.diff uploaded by Clod Patry (License #5138), slightly modified by Terry Wilson Review: https://reviewboard.asterisk.org/r/1692/ - This line, and those below, will be ignored-- M res/res_calendar.c M res/res_calendar_exchange.c M res/res_calendar_caldav.c 2012-01-27 00:11 +0000 [r352864] Alec L Davis * /, channels/chan_sip.c, channels/sip/include/sip.h: Merged revisions 352863 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r352863 | alecdavis | 2012-01-27 13:08:03 +1300 (Fri, 27 Jan 2012) | 19 lines Merged revisions 352862 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r352862 | alecdavis | 2012-01-27 13:05:30 +1300 (Fri, 27 Jan 2012) | 12 lines rfc4235 - Section 4.1: Versions MUST be representable using a non-negative 32 bit integer. If a BLF subscription exists for long enough, using %d may print negative version numbers. Unlikely, as 2^32 at 1 update per second is ~137 years, or half that before the versions number started going negative. Tested with Asterisk 1.8.8.2 with Grandstream phones. alecdavis (license 585) Tested by: alecdavis Review: https://reviewboard.asterisk.org/r/1694/ ........ ................ 2012-01-26 20:44 +0000 [r352821] Alexandr Anikin * addons/chan_ooh323.c, /: Fix outbound DTMF for inband mode (tell asterisk core to generate DTMF sounds). (Closes issue ASTERISK-19233) Reported by: Matt Behrens Patches: chan_ooh323.c.patch uploaded by Matt Behrens (License #6346) ........ Merged revisions 352807 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 352817 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-26 19:09 +0000 [r352757] Jonathan Rose * /, channels/chan_sip.c: Copy amaflags to sip_pvt from peer during create_addr_from_peer For whatever reason, we don't have a single function for copying data like this from SIP peers to the SIP pvt. This patch adds the copying of amaflags to the sip_pvt, but it would probably be worth discussing this function along with the others that essentially just copy some amount of data from a peer to a private. (Closes issue ASTERISK-19029) Reported by: Matt Lehner ........ Merged revisions 352755 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 352756 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-26 06:36 +0000 [r352706] Alec L Davis * /, channels/chan_sip.c: Merged revisions 352705 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r352705 | alecdavis | 2012-01-26 19:33:11 +1300 (Thu, 26 Jan 2012) | 27 lines Merged revisions 352704 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r352704 | alecdavis | 2012-01-26 19:27:07 +1300 (Thu, 26 Jan 2012) | 20 lines Cleanup dialog-info+xml Notify dialog Make similar to other Notify messages. sample output: terminated Tested with Asterisk 1.8.8.2 with Grandstream phones. alecdavis (license 585) Tested by: alecdavis Review: https://reviewboard.asterisk.org/r/1693/ ........ ................ 2012-01-25 22:25 +0000 [r352659] Paul Belanger * /, apps/app_voicemail.c: Fix -Werror=unused-but-set-variable compiler error (gcc 4.6.2) ........ Merged revisions 352643 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 352651 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-25 21:31 +0000 [r352626] Kevin P. Fleming * Makefile, include/asterisk/version.h (added), main/test.c, build_tools/make_version_h (removed), include/asterisk: Remove "asterisk/version.h" in favor of "asterisk/ast_version.h". A long time ago, in a land far far away, we added "asterisk/ast_version.h", which provides the ast_get_version() and ast_get_version_num() functions. These were added so that modules that needed the version information for the Asterisk instance they were loaded in could actually get it (as opposed the version that they were compiled against). We changed everything in the tree to use the new mechanism (although later main/test.c was added using the old method). However, the old mechanism was never removed, and as a result, new code is still trying to use it. This commit removes asterisk/version.h and replaces it with a header that will generate a compile-time error if you try to use it (the error message tells you which header you should use instead). It also removes the Makefile and build_tools bits that generated the file, and it updates main/test.c to use the 'proper' method of getting the Asterisk version information. This is an API change and thus is being committed for trunk only, but it's a fairly minor one and definitely improves the situation for out-of-tree modules. 2012-01-25 17:33 +0000 [r352565] Terry Wilson * /, channels/chan_sip.c: Remove some extraneous debugging from registry memleak fix ........ Merged revisions 352551 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 352556 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-25 17:23 +0000 [r352538] Richard Mudgett * /, channels/chan_sip.c, CHANGES, main/message.c, channels/sip/include/sip.h: Fixes for sending SIP MESSAGE outside of calls. * Fix authenticate MESSAGE losing custom headers added by the MESSAGE_DATA function in the authorization attempt. * Pass up better From header contents for SIP to use. Now is in the "display-name" format expected by MessageSend. (Note that this is a behavior change that could concievably affect some people.) * Block user from adding standard headers that are added automatically. (To, From,...) * Allow the user to override the Content-Type header contents sent by MessageSend. * Decrement Max-Forwards header if the user transferred it from an incoming message. * Expand SIP short header names so the dialplan and other code only has to deal with the full names. * Documents what SIP expects in the MessageSend(from) parameter. (closes issue ASTERISK-18992) Reported by: Yuri (closes issue ASTERISK-18917) Reported by: Shaun Clark Review: https://reviewboard.asterisk.org/r/1683/ ........ Merged revisions 352520 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-25 17:02 +0000 [r352519] Terry Wilson * /, channels/chan_sip.c: Clean up some SIP registry-related memory leaks 1) Be sure and free at unload the epa_backend we allocate at startup 2) Do the same sip_registry cleanup at unload we do at reload Review: https://reviewboard.asterisk.org/r/1689/ ........ Merged revisions 352514 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 352515 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-25 16:54 +0000 [r352517] Kevin P. Fleming * main/format.c, /, main/format_cap.c, main/format_pref.c: Eliminate unnecessary rebuilds of main/format*.c. These files have no need to include "asterisk/version.h", and doing so forces them to be rebuilt each time a Subversion checkout moves between 'modified' and 'unmodified' states. ........ Merged revisions 352516 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-25 16:42 +0000 [r352513] Jonathan Rose * /, configs/sip.conf.sample: Redocuments sip types peer, user, friend in sip.conf.sample There was faulty information in the sample config describing user as a synonym for friend so it has been changed to better elaborate on the differences between the three entity types. (closes issue ASTERISK-15537) Reported by: yarique ........ Merged revisions 352511 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 352512 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-25 01:21 +0000 [r352475] Terry Wilson * channels/chan_vpb.cc: Fix channel opaquification of stringfields for chan_vpb 2012-01-24 22:28 +0000 [r352431] Mark Michelson * /, channels/chan_sip.c: Don't do a DNS lookup on an outbound REGISTER host if there is an outbound proxy configured. (closes issue ASTERISK-16550) reported by: Olle Johansson ........ Merged revisions 352424 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 352430 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-24 20:37 +0000 [r352377] Jonathan Rose * /, sounds/Makefile: Set core sounds version to 1.4.22. Now that we have the right license for the Russian 1.4.22 sounds as well as the sounds for the Australian English 1.4.22 sounds, we can finally set the sounds to use 1.4.22! (closes issue ASTERISK-18978) Reported by: Cameron Twomey Patches: confbridge.tar.001 uploaded by Cameron Twomey confbridge.tar.002 uploaded by Cameron Twomey ........ Merged revisions 352367 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 352373 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-24 20:12 +0000 [r352348] Terry Wilson * channels/chan_local.c, addons/chan_ooh323.c, main/say.c, apps/app_record.c, apps/app_sayunixtime.c, channels/chan_iax2.c, main/cli.c, channels/chan_dahdi.c, channels/sig_analog.c, channels/chan_skinny.c, main/features.c, apps/app_dumpchan.c, channels/chan_alsa.c, pbx/pbx_realtime.c, apps/app_externalivr.c, apps/app_dial.c, main/pbx.c, apps/app_page.c, channels/chan_bridge.c, apps/app_privacy.c, channels/chan_agent.c, apps/app_disa.c, include/asterisk/channel.h, main/aoc.c, apps/app_talkdetect.c, main/cel.c, res/res_monitor.c, apps/app_playback.c, apps/app_speech_utils.c, channels/chan_misdn.c, funcs/func_channel.c, apps/app_chanspy.c, apps/app_voicemail.c, channels/chan_unistim.c, channels/chan_multicast_rtp.c, apps/app_meetme.c, apps/app_dictate.c, apps/app_authenticate.c, apps/app_readexten.c, apps/app_userevent.c, res/res_musiconhold.c, channels/chan_gtalk.c, apps/app_followme.c, main/cdr.c, main/channel.c, channels/chan_phone.c, main/dial.c, main/manager.c, apps/app_minivm.c, res/res_agi.c, main/app.c, apps/app_confbridge.c, main/image.c, apps/app_directory.c, addons/chan_mobile.c, apps/app_rpt.c, channels/chan_mgcp.c, apps/app_parkandannounce.c, channels/chan_sip.c, res/res_fax.c, main/channel_internal_api.c, channels/chan_console.c, channels/sig_pri.c, apps/app_queue.c, channels/chan_oss.c, funcs/func_global.c, channels/chan_jingle.c, channels/chan_usbradio.c, channels/chan_h323.c, main/file.c, res/snmp/agent.c, channels/chan_nbs.c, apps/app_stack.c, addons/app_saycountpl.c: Opaquify channel stringfields Continue channel opaque-ification by wrapping all of the stringfields. Eventually, we will restrict what can actually set these variables, but the purpose for now is to hide the implementation and keep people from adding code that directly accesses the channel structure. Semantic changes will follow afterward. Review: https://reviewboard.asterisk.org/r/1661/ 2012-01-24 17:04 +0000 [r352293] Richard Mudgett * /, funcs/func_odbc.c: Fix locking issues with channel datastores in func_odbc.c. * Fixed a potential memory leak when an existing datastore is manually destroyed by inline code instead of calling ast_datastore_free(). (closes issue ASTERISK-17948) Reported by: Archie Cobbs Review: https://reviewboard.asterisk.org/r/1687/ ........ Merged revisions 352291 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 352292 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-23 20:31 +0000 [r352229-352232] Mark Michelson * /, main/features.c: Fix grammar of comment. ........ Merged revisions 352230 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 352231 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, main/features.c: Fix blind transfers from failing if an 'h' extension is present. This prevents the 'h' extension from being run on the transferee channel when it is transferred via a native transfer mechanism such as SIP REFER. (closes ASTERISK-19173) Reported by: Ross Beer Tested by: Kristjan Vrban Patches: ASTERISK-19173 by Mark Michelson (license 5049) Review: https://reviewboard.asterisk.org/r/1685 ........ Merged revisions 352199 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 352228 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-23 19:22 +0000 [r352166] Matthew Jordan * /, res/res_fax_spandsp.c: Correctly apply FAXOPT settings (V17, V27, V29) before starting spandsp layer While the FAXOPT function could be used to set the modem capabilities, the input to that function was not being applied correctly to the spandsp layer. This patch applies the current model capabilities before starting the spandsp layer. (closes issue: ASTERISK-16409) Reported by: Kristijan Vrban Tested by: Matt Jordan, Matthew Nicholson Patches: spandsp-modems-1.8.diff uploaded by mnicholson (license 5081) spandsp-modems-10.diff uploaded by mnicholson (license 5081) ........ Merged revisions 352144 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 352149 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-23 18:34 +0000 [r352093-352134] Jonathan Rose * configs/musiconhold.conf.sample, res/res_musiconhold.c, CHANGES: Add an announcement option to music-on-hold - plays sound when put on hold/between songs This is a feature patch which allows an 'announcement' option to be specified in musiconhold.conf which should be set to the name of a sound. If a valid sound is specified for this option, then it will be played on that music on hold class whenever a channel bound to that class is put on hold as well as when Asterisk is able to detect that a song has ended before starting the next song (excludes external players). (closes ASTERISK-18977) Reported by: Timo Teräs Patches: asterisk-moh-announcement.diff uploaded by Timo Teräs (license 5409) * CHANGES, apps/app_mixmonitor.c: Adds the ability to stop specific mixmonitors by using unique IDs set at monitor launch. MixMonitor receives a new option i(channel_variable) which stores the unique id at said variable. StopMixMonitor now accepts ID as an optional argument, which if included will make StopMixMonitor specifically target the mixmonitor on that particular channel. CLI commands and AMI actions have been ammended to work with the IDs as well. In addition, monitors across a channel can now be listed be listed via CLI command "mixmonitor list " which will display all of the mixmonitors active on that channel along with the files they each have open. Created by Sergio González Martín. (closes issue ASTERISK-19096) Reported by: Sergio González Martín Review: https://reviewboard.asterisk.org/r/1643/ Review: https://reviewboard.asterisk.org/r/1682/ 2012-01-23 17:36 +0000 [r352092] Richard Mudgett * /, channels/chan_sip.c: Fix sip_cfg.notifycid to be set with the defined enum values. The invalid value used when notifycid was enabled was benign. As far as the code was concerned -1 and 1 are equivalent. (closes issue ASTERISK-19232) Reported by: Eike Kuiper ........ Merged revisions 352090 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 352091 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-21 00:23 +0000 [r352041] Richard Mudgett * /, funcs/func_timeout.c, main/app.c: Fix ast_app_dtget() time unit inconsistency. Note: Noone calls ast_app_dtget() with the timeout parameter of zero so the bad code normally will never get executed. * Fix unnecessary floating point division in func_timeout.c timeout_write() when all other values are integers. (closes issue ASTERISK-16817) Reported by: Dmitry Andrianov ........ Merged revisions 352029 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 352035 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-21 00:11 +0000 [r352018-352019] Mark Michelson * /, channels/chan_sip.c: Remove XXX comment that is not necessary. ........ Merged revisions 352016 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 352017 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, channels/chan_sip.c: Fix RTP reference leak. If a blind transfer were initiated using a REFER without a prior reINVITE to place the call on hold, AND if Asterisk were sending RTCP reports, then there was a reference for the RTP instance of the transferer. This fixes the issue by merging two similar but slightly conflicting sections of code into a single area. It also adds a stop_media_flows() call in the case that the transferer's UA never sends a BYE to us like it is supposed to. (issue ASTERISK-19192) Review: https://reviewboard.asterisk.org/r/1681/ ........ Merged revisions 352014 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 352015 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-20 23:05 +0000 [r351977] Richard Mudgett * channels/chan_sip.c: Make CLI sip show channel list the complete route set. (closes issue ASTERISK-16877) Reported by: klaus3000 Patches: show-complete-routeset-patch.txt (license #5054) patch uploaded by klaus3000 (modified) 2012-01-20 21:26 +0000 [r351939] Kinsey Moore * channels/chan_sip.c, UPGRADE.txt: SIP session timeout AMI event Add an AMI event in the Call category that is issued when a call is terminated due to either RTP stream inactivity or SIP session timer expiration. Event description: Event: SessionTimeout Source: source Channel: channel-name Uniqueid: channel-unique-id `source` can be either RTPTimeout or SIPSessionTimer (closes issue ASTERISK-16467) Patch-by: Kirill Katsnelson 2012-01-20 20:47 +0000 [r351900-351913] Mark Michelson * main/features.c, UPGRADE.txt, CHANGES, configs/features.conf.sample: Various parking improvements. * Adds per-parking lot options comebackcontext and comebackdialtime * Makes comebacktoorigin settable per parking lot * Sets a PARKER channel variable when comebacktoorigin is disabled (closes issue ASTERISK-16643) Reported by: Mitch Sharp (bluecrow76) Patches: asterisk-1.6.2.17.2-park-features-comebackcontext-consolidated-v3.diff by Mitch Sharp (bluecrow76) license 5231 with updates by me. Review: https://reviewboard.asterisk.org/r/1674 Review: https://reviewboard.asterisk.org/r/963 Reviewed by Richard Mudgett * apps/app_mixmonitor.c: Prevent potential buffer overflow on AMI MixMonitor command. Don't be alarmed. This only affected trunk, and it would have required manager access to your system. 2012-01-20 19:36 +0000 [r351817-351862] Kinsey Moore * /, codecs/ilbc/iLBC_test.c: More corrections for the ilbc code These changes are in a file that is not compiled by default, and so were missed on earlier checks. ........ Merged revisions 351860 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 351861 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, codecs/ilbc/LPCencode.c, codecs/ilbc/iLBC_decode.c: Restore LSF_check function calls from set/unused variable removal These functions are not noops and modify the array that is passed in. Thanks for the catch Richard. ........ Merged revisions 351818 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, codecs/ilbc/LPCencode.c, codecs/ilbc/iLBC_decode.c: Remove more set, but unused variables in the ilbc codec GCC 4.6.3 caught these in dev mode as well. ........ Merged revisions 351816 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-20 16:00 +0000 [r351764] Jonathan Rose * /, channels/chan_sip.c: Adds setting of mwi_from field to check_auth_result check_peer_ok (closes ASTERISK-19057) Reported By: Yuri Patches: 348360chan_sip.diff uploaded by Yuri (license 5242) ........ Merged revisions 351759 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 351762 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-20 16:00 +0000 [r351763] Matthew Jordan * /, codecs/ilbc/helpfun.c: Remove unused variable 'tmp' from helpfun in ilbc codec gcc version 4.6.2 caught an unused variable in the ilbc codec library. This would prevent compilation with --enable-dev-mode; variable removed. ........ Merged revisions 351760 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 351761 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-20 13:12 +0000 [r351709] Stefan Schmidt * /, contrib/asterisk-ng-doxygen: enable doxygen build for files in the channels/sip folder like reqresp_parser.c ........ Merged revisions 351707 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 351708 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-19 23:31 +0000 [r351667] Richard Mudgett * /, channels/chan_sip.c, channels/sip/reqresp_parser.c: Misc minor fixes in reqresp_parser.c and chan_sip.c. * Fix corner cases in get_calleridname() parsing and ensure that the output buffer is nul terminated. * Make get_calleridname() truncate the name it parses if the given buffer is too small rather than abandoning the parse and not returning anything for the name. Adjusted get_calleridname_test() unit test to handle the truncation change. * Fix get_in_brackets_test() unit test to check the results of get_in_brackets() correctly. * Fix parse_name_andor_addr() to not return the address of a local buffer. This function is currently not used. * Fix potential NULL pointer dereference in sip_sendtext(). * No need to memset(calleridname) in check_user_full() or tmp_name in get_name_and_number() because get_calleridname() ensures that it is nul terminated. * Reply with an accurate response if get_msg_text() fails in receive_message(). This is academic in v1.8 because get_msg_text() can never fail. ........ Merged revisions 351618 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 351646 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-19 22:44 +0000 [r351613] Kinsey Moore * res/res_rtp_asterisk.c, /: Correct output of RTCP jitter statistics in SR and RR reports Change the RTCP RR and SR generation code to convert Asterisk's internal jitter statistics to be represented in RTP timestamp units based on the rate of the codec in use instead of in seconds. (closes issue ASTERISK-14530) ........ Merged revisions 351611 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 351612 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-19 21:55 +0000 [r351561] Jonathan Rose * /, channels/chan_sip.c, include/asterisk/netsock2.h: Eliminates doubling the :port part of SIP Notify Message-Account headers. This patch prevents the domain string from getting mangled during the initreqprep step by moving the initialization to before its immediate use. It also documents this pitfall for the ast_sockaddr_stringify functions. (issue ASTERISK-19057) Reported by: Yuri Review: https://reviewboard.asterisk.org/r/1678/ ........ Merged revisions 351559 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 351560 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-19 21:13 +0000 [r351506] Joshua Colp * /, channels/chan_sip.c: Prevent crash when an SDP offer is received with an encrypted video stream when support for video is disabled and res_srtp is loaded. (closes issue ASTERISK-19202) Reported by: Catalin Sanda ........ Merged revisions 351504 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 351505 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-18 21:06 +0000 [r351452] Matthew Jordan * codecs/ilbc/syntFilter.c (added), /, codecs/ilbc/iCBConstruct.h (added), codecs/ilbc/iLBC_test.c (added), codecs/ilbc/syntFilter.h (added), codecs/ilbc/StateConstructW.c (added), codecs/ilbc/packing.c (added), codecs/ilbc/StateConstructW.h (added), codecs/ilbc/packing.h (added), codecs/ilbc/getCBvec.c (added), codecs/ilbc/LPCdecode.c (added), codecs/ilbc/enhancer.c (added), codecs/ilbc/lsf.c (added), codecs/ilbc/iLBC_encode.c (added), codecs/ilbc/getCBvec.h (added), codecs/ilbc/LPCdecode.h (added), codecs/ilbc/iLBC_define.h (added), codecs/ilbc/FrameClassify.c (added), codecs/ilbc/enhancer.h (added), codecs/ilbc/lsf.h (added), codecs/ilbc/extract-cfile.awk (added), codecs/ilbc/iLBC_encode.h (added), codecs/ilbc/Makefile, codecs/ilbc/FrameClassify.h (added), codecs/ilbc/helpfun.c (added), codecs/ilbc/LICENSE_ADDENDUM (added), codecs/ilbc/doCPLC.c (added), codecs/ilbc/anaFilter.c (added), codecs/ilbc/helpfun.h (added), codecs/ilbc/createCB.c (added), codecs/ilbc/doCPLC.h (added), codecs/ilbc/anaFilter.h (added), codecs/ilbc/constants.c (added), codecs/ilbc/iLBC_decode.c (added), codecs/ilbc/createCB.h (added), codecs/ilbc/constants.h (added), codecs/ilbc/iLBC_decode.h (added), codecs/ilbc/iCBSearch.c (added), codecs/ilbc/filter.c (added), codecs/ilbc/gainquant.c (added), codecs/ilbc/hpInput.c (added), codecs/ilbc/hpOutput.c (added), codecs/ilbc/iCBSearch.h (added), codecs/ilbc/rfc3951.txt (added), codecs/ilbc/filter.h (added), codecs/ilbc/gainquant.h (added), codecs/ilbc/LPCencode.c (added), codecs/ilbc/hpInput.h (added), codecs/ilbc/PATENTS (added), codecs/ilbc/StateSearchW.c (added), codecs/ilbc/hpOutput.h (added), codecs/codec_ilbc.c, contrib/scripts/get_ilbc_source.sh, codecs/ilbc/LICENSE (added), codecs/ilbc/LPCencode.h (added), codecs/ilbc/StateSearchW.h (added), codecs/ilbc/iCBConstruct.c (added): Include iLBC source code for distribution with Asterisk This patch includes the iLBC source code for distribution with Asterisk. Clarification regarding the iLBC source code was provided by Google, and the appropriate licenses have been included in the codecs/ilbc folder. Review: https://reviewboard.asterisk.org/r/1675 Review: https://reviewboard.asterisk.org/r/1649 (closes issue: ASTERISK-18943) Reporter: Leif Madsen Tested by: Matt Jordan ........ Merged revisions 351450 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 351451 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-18 16:02 +0000 [r351409] Stefan Schmidt * /, channels/chan_sip.c: The get_pai function in chan_sip.c didn't recognized a proper callerid name and number from a P-Asserted-Identity cause the header parsing logic was wrong. Changing the parsing functions to the sip header parsing APIs in reqresp_parser.h solves this problem. Review: https://reviewboard.asterisk.org/r/1673 Reviewed by: wdoekes2 and Mark Michelson ........ Merged revisions 351396 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 351408 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-17 19:45 +0000 [r351360] Walter Doekes * Makefile: Fix support for parallel building with make (-j). Previously make -j would cause a race between doing cleanup of certain files (defaults.h, menuselect, ...) and creating them anew. Add a new target that depends on cleanup only and has a submake doing the rest as command string. This way the cleanup goes first. (closes issue ASTERISK-18751) Tested by: Jeremy Kister Reviewed by: Paul Belanger Review: https://reviewboard.asterisk.org/r/1660 2012-01-17 17:23 +0000 [r351311] Mark Michelson * res/res_rtp_asterisk.c, /: Eliminate odd initialization of probation variable. ........ Merged revisions 351306 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 351308 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-17 17:15 +0000 [r351290] Jonathan Rose * res/res_rtp_asterisk.c, /, configs/rtp.conf.sample, CHANGES: Adds pjmedia probation concepts to res_rtp_asterisk's learning mode. In order to better handle RTP sources with strictrtp enabled (which is now default in 10) using the learning mode to figure out new sources when they change is handled by checking for a number of consecutive (by sequence number) packets received to an rtp struct based on a new configurable value called 'probation'. Also, during learning mode instead of liberally accepting all packets received, we now reject packets until a clear source has been determined. Review: https://reviewboard.asterisk.org/r/1663/ ........ Merged revisions 351287 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 351289 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-17 16:56 +0000 [r351288] Mark Michelson * /, channels/chan_sip.c: Use built-in parsing functions for Contact and Record-Route headers. If a Contact or a Record-Route header had a quoted string with an item in angle brackets, then we would mis-parse it. For instance, "Bob <1234>" <1234@example.org> would be misparsed as having the URI "1234" The fix for this is to use parsing functions from reqresp_parser.h since they are heavily tested and are awesome. (issue ASTERISK-18990) ........ Merged revisions 351284 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 351286 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-17 16:08 +0000 [r351235] Matthew Jordan * /, channels/chan_sip.c: Fix udptl issue with initial INVITE introduced by r351027 When an inital INVITE occurs that contains image media, a channel is not yet associated with the SIP dialog. The file descriptor associated with the udptl session needs to be set in initialize_udptl or in sip_new to account for this scenario. ........ Merged revisions 351233 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 351234 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-17 01:48 +0000 [r351184] Russell Bryant * /, channels/chan_sip.c: Merged revisions 351183 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r351183 | russell | 2012-01-16 20:43:19 -0500 (Mon, 16 Jan 2012) | 29 lines Merged revisions 351182 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r351182 | russell | 2012-01-16 20:37:03 -0500 (Mon, 16 Jan 2012) | 22 lines Add some missing locking in chan_sip. This patch adds some missing locking to the function send_provisional_keepalive_full(). This function is called from the scheduler, which is processed in the SIP monitor thread. The associated channel (or pbx) thread will also be using the same sip_pvt and ast_channel so locking must be used. The sip_pvt_lock_full() function is used to ensure proper locking order in a safe manner. In passing, document a suspected reference counting error in this function. The "fix" is left commented out because when the "fix" is present, crashes occur. My theory is that fixing it is exposing a reference counting error elsewhere, but I don't know where. (Or my analysis of this being a problem could have been completely wrong in the first place). Leave the comment in the code for so that someone may investigate it again in the future. Also add a bit of doxygen to transmit_provisional_response(). (closes issue ASTERISK-18979) Review: https://reviewboard.asterisk.org/r/1648 ........ ................ 2012-01-16 21:50 +0000 [r351082-351143] Terry Wilson * /, channels/chan_sip.c: Ensure ACK retransmit & hangup on non-200 response to INVITE When handling a non-2xx final response on an INVITE transaction, we have to keep the transaction around after we send an ACK in case we receive a retransmission of the response so we can re-transmit the ACK, but also tear down the ast_channel as soon as we transmit the ACK. Before this patch, we could fail at both of these things. Calling sip_alreadygone/needdestroy prevented us from keeping the transaction up and retransmitting the ACK, and queueing CONGESTION was not sufficient to cause the channel to be torn down when originating calls via the CLI, for example. This patch queues a hangup with CONGESTION instead of just queueing CONGESTION for these responses and removes the sip_alreadygone and sip_needdestroy calls from handle_response_invite on non-2xx responses. It relies on the hangup calling sip_scheddestroy. For more information, see section 17.1.1.1 of RFC 3261. (closes issue ASTERISK-17717) Review: https://reviewboard.asterisk.org/r/1672/ ........ Merged revisions 351130 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 351131 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, channels/chan_sip.c: Don't prematurely stop SIP session timer When Asterisk is the UAS (incoming call, endpoint is re-inviting) the SIP session timer expires after half the time the sip endpoint indicates in the Session-expires header in proc_session_timer(). The session timer was being stopped totally and being handled as an error case instead of running again until the second expiry. This patch treats the half-time expiry as a non-error case and continues the timer until the true expiry. (closes issue ASTERISK-18996) Reported by: Thomas Arimont Tested by: Thomas Arimont Patches: session_timer_fix.diff by Terry Wilson (License #5357) based on session_timer.patch by Thomas Arimont (License #5525) ........ Merged revisions 351080 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 351081 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-16 19:49 +0000 [r351079] Tilghman Lesher * main/ast_expr2.y, CHANGES, main/ast_expr2.c: Add ABS() absolute value function to the expression parser. 2012-01-16 19:13 +0000 [r351029] Matthew Jordan * /, channels/chan_sip.c: Create and initialize udptl only when dialog negotiates for image media Prior to this patch, the udptl struct was allocated and initialized when a dialog was associated with a peer that supported T.38, when a new SIP channel was allocated, or what an INVITE request was received. This resulted in any dialog associated with a peer that supported T.38 having udptl support assigned to it, including the UDP ports needed for communication. This occurred even in non-INVITE dialogs that would never send image media. This patch creates and initializes the udptl structure only when the SDP for a dialog specifies that image media is supported, or when Asterisk indicates through the appropriate control frame that a dialog is to support T.38. (closes issue ASTERISK-16698) Reported by: under Tested by: Stefan Schmidt Patches: udptl_20120113.diff uploaded by mjordan (License #6283) (closes issue ASTERISK-16794) Reported by: Elazar Broad Tested by: Stefan Schmidt review: https://reviewboard.asterisk.org/r/1668/ ........ Merged revisions 351027 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 351028 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-16 17:12 +0000 [r350979] Sean Bright * /, main/db.c: Sort the output of 'database showkey' as well. You can pass wildcards (%) to the database CLI commands, so this will sort the returned list of matches. ........ Merged revisions 350978 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-16 17:07 +0000 [r350977] Joshua Colp * main/rtp_engine.c, /: Add missing code to set direct RTP setup information during dialing. ........ Merged revisions 350975 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 350976 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-16 14:31 +0000 [r350939] Sean Bright * /, main/db.c: Sort the output of 'database show' by key. This more closely mimics the behavior of 'database show' before the conversion to sqlite3. ........ Merged revisions 350938 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-15 20:16 +0000 [r350887-350890] Walter Doekes * /, main/asterisk.c: Allow only one thread at a time to do asterisk cleanup/shutdown. Add locking around the really-really-quit part of the core stop/restart part. Previously more than one thread could be called to do cleanup, causing atexit handlers to be run multiple times, in turn causing segfaults. (issue ASTERISK-18883) Reviewed by: Terry Wilson Review: https://reviewboard.asterisk.org/r/1662/ Review: https://reviewboard.asterisk.org/r/1658/ ........ Merged revisions 350888 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 350889 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, utils/extconf.c: Fix -Werror=unused-but-set-variable compile error in utils/extconf.c. Note that I'm not confirming legitimacy of having that file in tree at all. Is anyone using aelparse/conf2ael? (issue ASTERISK-15350) ........ Merged revisions 350885 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 350886 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-14 16:43 +0000 [r350791-350839] Kevin P. Fleming * /, configure, autoconf/ast_gcc_attribute.m4, configure.ac, autoconf/libcurl.m4: Ensure that all AC_LANG_PROGRAM calls in the configure script are properly quoted. Recent versions of autoconf (2.68 on my system) won't properly process the configure script unless every call to AC_LANG_PROGRAM is m4-quoted. Many calls in the script were, but many were not. This patch corrects the unquoted calls. ........ Merged revisions 350837 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 350838 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, channels/chan_h323.c, addons/chan_mobile.c, res/res_pktccops.c, contrib/scripts/install_prereq: Multiple revisions 350788-350789 ........ r350788 | kpfleming | 2012-01-14 09:22:33 -0600 (Sat, 14 Jan 2012) | 8 lines Ensure that two prerequisites are properly installed on Debian-style distributions. * Don't specify a specific version of libgmime; newer versions are available now and acceptable. * Install libsrtp so that res_srtp can be built. ........ r350789 | kpfleming | 2012-01-14 09:23:32 -0600 (Sat, 14 Jan 2012) | 3 lines Correct some 'set-but-not-used' variable warnings. ........ Merged revisions 350788-350789 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 350790 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-13 22:17 +0000 [r350738] Kinsey Moore * /, include/asterisk/autoconfig.h.in: Run bootstrap.sh for the for the ASTERISK-18929 fix configure and autoconfig.h.in were not regenerated when the fix was committed. ........ Merged revisions 350736 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 350737 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-13 21:52 +0000 [r350735] Richard Mudgett * /, configs/cel_pgsql.conf.sample, configs/cel_odbc.conf.sample: Correct eventtype names in cel_odbc and cel_pgsql sample files ........ Merged revisions 350733 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 350734 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-13 21:42 +0000 [r350732] Kinsey Moore * /, configure.ac, bootstrap.sh, main/asterisk.c: Make sure asterisk builds on OpenBSD OpenBSD defines SO_PEERCRED, but it returns a 'struct sockpeercred', not 'struct ucred', which causes compilation of main/asterisk.c to fail in read_credentials(). This allows configure to check for sockpeercred and asterisk to deal with it properly. (closes issue ASTERISK-18929) Reported-by: Barry Miller Patch-by: Barry Miller ........ Merged revisions 350730 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 350731 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-13 20:32 +0000 [r350681] Mark Michelson * /, channels/sip/config_parser.c: Set port to a default sane value if a bogus one is provided when parsing hostnames. ........ Merged revisions 350679 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 350680 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-13 18:52 +0000 [r350605-350644] Richard Mudgett * main/features.c: Remove some dead code in ast_bridge_call(). None of the parameters to ast_bridge_call() can be NULL for the bridge to work so no need to check for it. * configs/cel_sqlite3_custom.conf.sample, cel/cel_odbc.c, configs/cel.conf.sample, /, cel/cel_manager.c, configs/cel_pgsql.conf.sample, configs/cel_odbc.conf.sample, main/cel.c, configs/cel_custom.conf.sample: Add missing CEL logging fields to various CEL backends. Multiple revisions 350555,350571 ........ r350555 | rmudgett | 2012-01-13 11:12:51 -0600 (Fri, 13 Jan 2012) | 12 lines Add missing CEL logging fields to various CEL backends. * Add missing eventextra to cel_psql.c and cel_odbc.c. * Add missing PeerAccount and EventExtra to cel_manager.c. * Add missing userdeftype support for cel_custom.conf.sample and cel_sqlite3_custom.conf.sample. (closes issue ASTERISK-17190) Reported by: Bryant Zimmerman ........ r350571 | rmudgett | 2012-01-13 11:23:57 -0600 (Fri, 13 Jan 2012) | 8 lines Use compatible names for event extra data for various CEL backends. * Change eventextra to extra in cel_psql.c and cel_odbc.c. * Change EventExtra to Extra in cel_manager.c. (issue ASTERISK-17190) ........ Merged revisions 350555,350571 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 350585 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-13 17:00 +0000 [r350551-350554] Matthew Jordan * /, apps/app_queue.c: Realtime queues failed to load queue information without queue member table Previously, realtime queues could be loaded without defining the queue member table. This allowed for queue members to be dynamic, while the realtime queue definitions could exist in some backing storage. Revision 342223 broke this when it changed the return value for realtime_multientry to return NULL when no results are returned. Previously, an empty ast_config object was expected. (closes issue ASTERISK-19170) Reported by: Rene Mendoza Tested by: Rene Mendoza Patches: rt_queue_member_patch.diff uploaded by Matt Jordan (license 6283) ........ Merged revisions 350552 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 350553 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, bridges/bridge_builtin_features.c, channels/chan_bridge.c, include/asterisk/bridging.h, apps/app_confbridge.c, main/bridging.c: Fix crash from bridge channel hangup race condition in ConfBridge This patch addresses two issues in ConfBridge and the channel bridge layer: 1. It fixes a race condition wherein the bridge channel could be hung up 2. It removes the deadlock avoidance from the bridging layer and makes the bridge_pvt an ao2 ref counted object Patch by David Vossel (mjordan was merely the commit monkey) (issue ASTERISK-18988) (closes issue ASTERISK-18885) Reported by: Dmitry Melekhov Tested by: Matt Jordan Patches: chan_bridge_cleanup_v.diff uploaded by David Vossel (license 5628) (closes issue ASTERISK-19100) Reported by: Matt Jordan Tested by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1654/ ........ Merged revisions 350550 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-12 16:10 +0000 [r350503] Jonathan Rose * /, main/features.c: Adds peer to CEL report on CEL_BRIDGE_START and CEL_BRIDGE_END (closes issue ASTERISK-17940) Reporter: Nic Colledge Patches: features_18.patch uploaded by Nic Colledge (license 6245) ........ Merged revisions 350501 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 350502 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-11 22:53 +0000 [r350416-350454] Richard Mudgett * /, main/cel.c: Remove extraneous BRIDGEPEER AMI VarSet event on a CEL dummy channel. (closes issue ASTERISK-19180) Reported by: Corey Farrell Patches: asterisk_cel_noevent_varset.diff (license #5909) patch uploaded by Corey Farrell ........ Merged revisions 350452 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 350453 from http://svn.asterisk.org/svn/asterisk/branches/10 * apps/app_dial.c, /, CHANGES, apps/app_followme.c: Make FollowMe optionally update connected line information when the accepting endpoint is bridged. Like Dial and Queue, FollowMe needs to deal with AST_CONTROL_CONNECTED_LINE information so when the parties are initially bridged, the connected line information will be correct. * Added the 'I' option just like the app_dial and app_queue 'I' option. * Made 'N' option ignored if the call is already answered. (closes issue ASTERISK-18969) Reported by: rmudgett Tested by: rmudgett Review: https://reviewboard.asterisk.org/r/1656/ ........ Merged revisions 350364 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 350415 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-11 19:19 +0000 [r350365] Terry Wilson * main/channel.c: Always treat arguments to get_by_name_cb as strings Initially, support was left in for the old style of searching, even though it wasn't actually used. In the case of name_len != 0, the OBJ_KEY flag isn't passed because we aren't matching on a full key and therefor can't use the hash function to optimize. The code left in to support the old way of searching unfortunately treated a prefix search like this as though an ast_channel struct was passed as an arg and caused a crash. This patch also adds needed parentheses around some matching conditions. (closes issue ASTERISK-19182) 2012-01-10 22:10 +0000 [r350273-350313] Richard Mudgett * /, funcs/func_lock.c: Fix absolute/relative time mismatch in LOCK function. The time passed by the LOCK function to an internal function was relative time when the function expected absolute time. * Don't use C++ keywords in get_lock(). (closes issue ASTERISK-16868) Reported by: Andrey Solovyev Patches: 20101102__issue18207.diff.txt (license #5003) patch uploaded by Andrey Solovyev (modified) ........ Merged revisions 350311 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 350312 from http://svn.asterisk.org/svn/asterisk/branches/10 * main/channel.c: Fix compiler warnings reported by gcc v4.2.4. 2012-01-09 22:15 +0000 [r350223] Terry Wilson * main/udptl.c, apps/app_dahdibarge.c, addons/chan_ooh323.c, channels/chan_local.c, main/rtp_engine.c, main/say.c, apps/app_record.c, apps/app_test.c, channels/console_video.c, apps/app_alarmreceiver.c, apps/app_chanisavail.c, bridges/bridge_multiplexed.c, channels/chan_iax2.c, main/indications.c, main/cli.c, channels/chan_dahdi.c, channels/sig_analog.c, channels/chan_skinny.c, main/features.c, apps/app_dumpchan.c, pbx/pbx_realtime.c, apps/app_amd.c, channels/chan_alsa.c, apps/app_externalivr.c, main/bridging.c, apps/app_milliwatt.c, channels/sig_ss7.c, apps/app_dial.c, main/pbx.c, apps/app_page.c, apps/app_softhangup.c, apps/app_fax.c, apps/app_dahdiras.c, channels/chan_agent.c, apps/app_disa.c, include/asterisk/channel.h, main/aoc.c, apps/app_talkdetect.c, main/cel.c, res/res_mutestream.c, res/res_monitor.c, apps/app_playback.c, channels/chan_misdn.c, funcs/func_channel.c, apps/app_macro.c, apps/app_mixmonitor.c, apps/app_chanspy.c, apps/app_voicemail.c, res/res_calendar.c, channels/chan_unistim.c, channels/chan_vpb.cc, main/ccss.c, apps/app_meetme.c, apps/app_readexten.c, res/res_musiconhold.c, main/autochan.c, channels/chan_gtalk.c, apps/app_followme.c, res/res_jabber.c, main/cdr.c, main/channel.c, main/dial.c, channels/chan_phone.c, main/manager.c, funcs/func_groupcount.c, funcs/func_audiohookinherit.c, funcs/func_frame_trace.c, res/res_agi.c, apps/app_minivm.c, main/app.c, apps/app_confbridge.c, apps/app_rpt.c, addons/chan_mobile.c, apps/app_parkandannounce.c, channels/chan_mgcp.c, apps/app_jack.c, apps/app_adsiprog.c, channels/chan_sip.c, res/res_fax.c, apps/app_waitforsilence.c, funcs/func_lock.c, main/channel_internal_api.c (added), res/res_adsi.c, pbx/pbx_lua.c, channels/chan_console.c, apps/app_getcpeid.c, channels/sig_pri.c, apps/app_queue.c, channels/chan_oss.c, funcs/func_global.c, channels/chan_usbradio.c, channels/chan_jingle.c, apps/app_flash.c, apps/app_directed_pickup.c, main/abstract_jb.c, main/file.c, channels/chan_h323.c, res/snmp/agent.c, pbx/pbx_dundi.c, apps/app_sms.c, channels/chan_nbs.c, apps/app_stack.c, main/dsp.c: Replace direct access to channel name with accessor functions There are many benefits to making the ast_channel an opaque handle, from increasing maintainability to presenting ways to kill masquerades. This patch kicks things off by taking things a field at a time, renaming the field to '__do_not_use_${fieldname}' and then writing setters/getters and converting the existing code to using them. When all fields are done, we can move ast_channel to a C file from channel.h and lop off the '__do_not_use_'. This patch sets up main/channel_interal_api.c to be the only file that actually accesses the ast_channel's fields directly. The intent would be for any API functions in channel.c to use the accessor functions. No more monkeying around with channel internals. We should use our own APIs. The interesting changes in this patch are the addition of channel_internal_api.c, the moving of the AST_DATA stuff from channel.c to channel_internal_api.c (note: the AST_DATA stuff will have to be reworked to use accessor functions when ast_channel is really opaque), and some re-working of the way channel iterators/callbacks are handled so as to avoid creating fake ast_channels on the stack to pass in matching data by directly accessing fields (since "name" is a stringfield and the fake channel doesn't init the stringfields, you can't use the ast_channel_name_set() function). I went with ast_channel_name(chan) for a getter, and ast_channel_name_set(chan, name) for a setter. The majority of the grunt-work for this change was done by writing a semantic patch using Coccinelle ( http://coccinelle.lip6.fr/ ). Review: https://reviewboard.asterisk.org/r/1655/ 2012-01-09 21:56 +0000 [r350222] Richard Mudgett * /, channels/chan_iax2.c: Fix joinable thread terminating without joiner memory leak in chan_iax.c. The iax2_process_thread() can exit without anyone waiting to join the thread. If noone is waiting to join the thread then a large memory leak occurs. * Made iax2_process_thread() deatach itself if nobody is waiting to join the thread. (closes issue ASTERISK-17339) Reported by: Tzafrir Cohen Patches: asterisk-1.8.4.4-chan_iax2-detach-thread-on-non-stop-exit.patch (license #5617) patch uploaded by Alex Villacis Lasso (modified) (closes issue ASTERISK-17825) Reported by: wangjin ........ Merged revisions 350220 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 350221 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-09 19:37 +0000 [r350181] Walter Doekes * /, main/db.c: Fix shutdown handling of sqlite3 astdb. If a db_sync was scheduled just before shutdown, the atexit code calling db_sync would have no effect, causing the astdb commit thread to stay alive. This caused the SIP/realtime_sipregs test to fail. (The fallback kill would run the atexit code again and that would wreak havoc.) This fixes that the atexit kill condition is picked up properly. (closes issue ASTERISK-18883) Reviewed by: Terry Wilson Review: https://reviewboard.asterisk.org/r/1659 ........ Merged revisions 350180 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-09 18:58 +0000 [r350077-350130] Richard Mudgett * /, contrib/scripts/valgrind_compare (added): Multiple revisions 350127-350128 ........ r350127 | rmudgett | 2012-01-09 12:40:33 -0600 (Mon, 09 Jan 2012) | 12 lines Update contrib script live_ast to invoke Asterisk with valgrind and suppression file. * Added valgrind_compare script to compare two valgrind log files for differences. (issue ASTERISK-17339) Reported by: Tzafrir Cohen Patches: valgrind_compare (license #5035) script uploaded by Tzafrir Cohen live_ast_valgrind.diff (license #5035) patch uploaded by Tzafrir Cohen live_ast_valgrind_v2.diff (license #5185) patch uploaded by Paul Belanger ........ r350128 | rmudgett | 2012-01-09 12:54:56 -0600 (Mon, 09 Jan 2012) | 11 lines live_ast: valgrind: run asterisk under valgrind Adds a new sub-command, "valgrind" to live_ast. It runs asterisk under valgrind. The extra command-line parameters are passed to Asterisk as usual, and parameters to valgrind are passed through LIVE_AST_VALGRIND_ARGS in live.conf . Review: https://reviewboard.asterisk.org/r/1109/ Merged revisions 326636 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 350127-350128 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 350129 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, main/asterisk.c: Make Asterisk -x command line parameter imply -r parameter presence. The Asterisk -x command line parameter is documented inconsistently. * Made the -x documentation and behavior consistent. * Since this is also a new year, updated the copyright notices while here. (closes issue ASTERISK-19094) Reported by: Eugene Patches: issueA19094_correct_asterisk_option_x.patch (license #5674) patch uploaded by Walter Doekes (modified) Tested by: Eugene ........ Merged revisions 350075 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 350076 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-09 15:40 +0000 [r350025] Kinsey Moore * /, apps/app_meetme.c: Prevent SLA settings from getting wiped out on reload If SLA was reloaded without the config file being changed, current settings got wiped out before the SLA reload code decided it wasn't going to reload the file since nothing was changed. Moving the settings reset later in the reload process fixes this. (closes issue AST-744) ........ Merged revisions 350023 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 350024 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-06 23:31 +0000 [r349978] Terry Wilson * /, channels/chan_sip.c: Don't leak CID in From header when presentation=unavailable When someone does Set(CALLERPRES()=unavailable) (or Set(CALLERID(pres)=unavailable)) when sendrpid=no, the From header shows "Anonymous" . When sendrpid=yes/pai, the From header will still display the callerid info, even though we supply an rpid header with the anonymous info. It seems like we shouldn't leak that info in any case. Skimming http://tools.ietf.org/html/draft-ietf-sip-privacy-04 seems to indicate that one shouldn't send identifying info in the From in this case. This patch anonymizes the From header as well even when sendrpid=yes/pai. (closes issue ASTERISK-16538) Review: https://reviewboard.asterisk.org/r/1649/ ........ Merged revisions 349968 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 349977 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-06 21:26 +0000 [r349929] Kinsey Moore * /, pbx/pbx_lua.c: Fix lua goto detection to prevent unexpected behavior with confbridge A bug in the pbx_lua goto detection was causing the dialplan to hangup unexpectedly after confbridge exited if it had called lua dialplan code during execution. Patch-by: Timo Teras Acked-by: Matt Nicholson (closes issue ASTERISK-18976) ........ Merged revisions 349928 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-06 16:50 +0000 [r349874] Richard Mudgett * /, apps/app_followme.c: Fix memory leaks in app_followme find_realtime(). (closes issue ASTERISK-19055) Reported by: Matt Jordan ........ Merged revisions 349872 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 349873 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-05 23:58 +0000 [r349823] Matthew Jordan * /, res/res_fax.c: Fix premature free'ing of the frame committed in r349608 Even though we set the frame to the ast_null_frame and return that, the caller of the frame hook may still need the frame. This now is a bit more careful about when it frees the frame, i.e., only under the same conditions that applied when we duplicated it in the first place. ........ Merged revisions 349822 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-05 23:47 +0000 [r349782-349821] Richard Mudgett * /, cel/cel_sqlite3_custom.c: Make not assume that the cel_sqlite3_custom SQL table primary key is AcctId. If a table is created by some other application and the primary key is not named "AcctId", cel/cel_sqlite3_custom.c will always try to create the table and fail because it already exists. * Change the SQL table query to not require AcctId as the primary key. (closes issue ASTERISK-18963) Reported by: socketpair Patches: fix.patch (license #6337) patch uploaded by socketpair ........ Merged revisions 349819 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 349820 from http://svn.asterisk.org/svn/asterisk/branches/10 * UPGRADE.txt, pbx/pbx_config.c: Make pbx_config.c use Gosub instead of Macro call for stdexten. Users created by users.conf with hasvoicemail=yes have been documented as using a Gosub to stdexten since v1.6.0. However, the code still generates dialplan to access stdexten as a Macro as documented in v1.4; which does not work with the newer extensions.conf.sample file. * Make generated dialplan access the stdexten dialplan with the documented Gosub instead of the older Macro style. (closes issue ASTERISK-18809) Reported by: Jay Allen Patches: gosub_patch-pbx_config.patch (license #6323) patch uploaded by Jay Allen (modified) Tested by: rmudgett 2012-01-05 22:11 +0000 [r349733] Kinsey Moore * /, main/file.c: Allow playback of formats that don't support seeking ast_streamfile previously did unconditional seeking on files that broke playback of formats that don't support that functionality. This patch avoids the seek that was causing the problem. This regression was introduced in r158062. (closes issue ASTERISK-18994) Patch-by: Timo Teras ........ Merged revisions 349731 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 349732 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-05 22:02 +0000 [r349674-349730] Jonathan Rose * /, main/dsp.c: Fix an issue where dsp.c would interpret multiple dtmf events from a single key press. When receiving calls from a mobile phone into a DISA system on a connection with significant interference, the reporter's Asterisk system would interpret DTMF incorrectly and replicate digits received. This patch resolves that by increasing the number of frames a mismatch has to be detected before assuming the DTMF is over by 1 frame and adjusts dtmf_detect function to reset hits and misses only when an edge is detected. (closes issue ASTERISK-17493) Reported by: Alec Davis Patches: bug18904-refactor.diff.txt uploaded by Alec Davis (license 5546) Review: https://reviewboard.asterisk.org/r/1130/ ........ Merged revisions 349728 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 349729 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, main/asterisk.c: Ensures Asterisk closes when receiving terminal signals in 'no fork' mode. When catching a signal, in no fork mode the console thread is identical to the thread responsible for catching the signal and closing Asterisk, which requires it to first dispense with the console thread. Prior to this patch, if these threads were identical, upon receiving a killing signal, the thread will send an URG signal to itself, which we also catch and then promptly do nothing with. Obviously this isn't useful behavior. (closes issue ASTERISK-19127) Reported By: Bryon Clark Patches: quit_on_signals.patch uploaded by Bryon Clark (license 6157) ........ Merged revisions 349672 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 349673 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-04 22:23 +0000 [r349609-349634] Matthew Jordan * /, apps/confbridge/conf_config_parser.c: Fix for ConfBridge config parser unlocking channel mutex too many times When looking up a ConfBridge profile, the config parser would, if it found a channel datastore on the channel requesting the bridge profile, unlock the channel mutex twice. Since that's a little aggressive, it now only unlocks it once. (closes issue ASTERISK-19042) Reported by: Matt Jordan Tested by: Matt Jordan Patches: 19042 uploaded by David Vossel (license 5628) ........ Merged revisions 349619 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, res/res_fax.c: Free successfully translated frame in fax_gateway_framehook A frame that is translated via ast_translate is also duplicated via ast_frdup. This will allocate a new frame on the heap, which needs to be free'd at the appropriate time. This issue reporter used valgrind to find that this occurred in res_fax's fax_gateway_framehook; a quick search through the code showed that only place this was currently not handling the translatted frame properly. (closes issue ASTERISK-19133) Reported by: Sylvain Rochet ........ Merged revisions 349608 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-04 20:55 +0000 [r349560] Richard Mudgett * channels/chan_dahdi.c, /: Fix segfault in chan_dahdi for CHANNEL(dahdi_span) evaluation on hangup. * Added NULL private pointer checks in the following chan_dahdi channel callbacks: dahdi_func_read(), dahdi_func_write(), dahdi_setoption(), and dahdi_queryoption(). (closes issue ASTERISK-19142) Reported by: Diego Aguirre Tested by: rmudgett ........ Merged revisions 349558 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 349559 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-04 20:24 +0000 [r349506-349535] Kinsey Moore * contrib/init.d/rc.debian.asterisk, /: Make debian init script conform to the LSB standard Previously, this init script would return 1 if Asterisk was already running. This is incorrect behavior according to the LSB standard and has been fixed by returning 0 instead. (closes issue ASTERISK-17958) Reported-by: johnc ........ Merged revisions 349529 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 349532 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, contrib/scripts/autosupport.8, contrib/scripts/autosupport: Update autosupport script and man page Added information collection from the output of the utilities: top, free, uptime, ifconfig Added information collection from the output of the Asterisk command 'dahdi show status' Added option / flag '-n, --non-interactive' Updated man page to reflect new option / flag '-n, --non-interactive' Patch-by: John Bigelow (itzanger) (closes issue AST-749) ........ Merged revisions 349504 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 349505 from http://svn.asterisk.org/svn/asterisk/branches/10 2012-01-04 19:53 +0000 [r349452-349503] Jonathan Rose * /, channels/chan_sip.c: Adds Subscription-State header to notify with call completion. per RFC3265 (Closes issue ASTERISK-17953) Reported by: George Konopacki Patches: 19400.patch uploaded by mmichelson (license 5049) ........ Merged revisions 349482 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 349502 from http://svn.asterisk.org/svn/asterisk/branches/10 * main/pbx.c, /: Fix documentation for SayNumber to reflect the fact that language is changed in CHANNEL() (closes issue ASTERISK-18962) reported by: Nir Simionovich ........ Merged revisions 349450 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 349451 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-31 15:48 +0000 [r349409-349410] Russell Bryant * channels/chan_sip.c: Fix some minor formatting issues based on coding guidelines. * channels/sip/include/dialog.h, channels/chan_sip.c, include/asterisk/astobj2.h, main/astobj2.c: Constify tag argument in REF_DEBUG related code. 2011-12-29 15:16 +0000 [r349341] Matthew Jordan * main/rtp_engine.c, /: Handle AST_CONTROL_UPDATE_RTP_PEER frames in local bridge loop Failing to handle AST_CONTROL_UPDATE_RTP_PEER frames in the local bridge loop causes the loop to exit prematurely. This causes a variety of negative side effects, depending on when the loop exits. This patch handles the frame by essentially swallowing the frame in the local loop, as the current channel drivers expect the RTP bridge to handle the frame, and, in the case of the local bridge loop, no additional action is necessary. (issue ASTERISK-19040) (issue ASTERISK-19128) (issue ASTERISK-17725) (issue ASTERISK-18340) (closes issue ASTERISK-19095) Reported by: Stefan Schmidt Tested by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1640/ ........ Merged revisions 349339 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 349340 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-28 21:39 +0000 [r349291] Sean Bright * /, main/audiohook.c: Use ast_audiohook_write_list_empty to determine if our lists are empty instead of duplicating that logic. ........ Merged revisions 349289 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 349290 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-28 19:00 +0000 [r349249-349251] Kevin P. Fleming * utils, /: Tell Subversion to gnore the 'astdb2bdb' binary file if it exists. ........ Merged revisions 349250 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, res/res_fax.c, include/asterisk/dsp.h, include/asterisk/res_fax.h, res/res_fax_spandsp.c, main/dsp.c: Improve T.38 gateway V.21 preamble detection. This commit removes the V.21 preamble detection code previously added to the generic DSP implementation in Asterisk, and instead enhances the res_fax module to be able to utilize V.21 preamble detection functionality made available by FAX technology modules. This commit also adds such support to res_fax_spandsp, which uses the Spandsp modem tone detection code to do the V.21 preamble detection. There should be no functional change here, other than much more reliable V.21 preamble detection (and thus T.38 gateway initiation). ........ Merged revisions 349248 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-27 20:55 +0000 [r349196] Matthew Jordan * /, res/res_timing_pthread.c, include/asterisk/module.h, res/res_timing_dahdi.c, res/res_timing_timerfd.c, res/res_musiconhold.c: Fix timing source dependency issues with MOH Prior to this patch, res_musiconhold existed at the same module priority level as the timing sources that it depends on. This would cause a problem when music on hold was reloaded, as the timing source could be changed after res_musiconhold was processed. This patch adds a new module priority level, AST_MODPRI_TIMING, that the various timing modules are now loaded at. This now occurs before loading other resource modules, such that the timing source is guaranteed to be set prior to resolving the timing source dependencies. (closes issue ASTERISK-17474) Reporter: Luke H Tested by: Luke H, Vladimir Mikhelson, zzsurf, Wes Van Tlghem, elguero, Thomas Arimont Patches: asterisk-17474-dahdi_timing-infinite-wait-fix_v3_branch-1.8.diff uploaded by elguero (License #5026) asterisk-17474-dahdi_timing-infinite-wait-fix_v3_branch-10.diff uploaded by elguero (License #5026) asterisk-17474-dahdi_timing-infinite-wait-fix_v3.diff uploaded by elguero (License #5026) Review: https://reviewboard.asterisk.org/r/1578/ ........ Merged revisions 349194 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 349195 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-27 17:17 +0000 [r349146] Sean Bright * /, main/audiohook.c: Once an audiohook is attached to a channel, we continue to transcode all of the frames, even after all of the hooks are detached. This patch short-cicuits us out before we transcode unnecessarily. ........ Merged revisions 349144 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 349145 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-23 21:19 +0000 [r349106] Matthew Jordan * contrib/realtime/mysql/voicemail.sql, configs/voicemail.conf.sample, CHANGES, apps/app_voicemail.c: Allow overriding of IMAP server settings on a user by user basis This patch allows the imapserver, imapport, and imapflags settings to be overridden for any voicemail user. It also documents the settings in the sample voicemail.conf file, and updates the voicemail schema to allow storage of those columns. (closes issue ASTERISK-16489) Reporter: Hubert Mickael Tested by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1614/ 2011-12-23 20:42 +0000 [r349097-349098] Jonathan Rose * channels/chan_sip.c, main/features.c, configs/sip.conf.sample, channels/sip/include/sip.h: INFO/Record request configurable to use dynamic features Adds two new options to SIP peers allowing them to specify features (dynamic or builtin) to use when sending INFO/record requests. Recordonfeature activates whatever feature is specified when recieving a record: on request while recordofffeature activates whatever feature is specified when receiving a record: off request. Both of these features can be disabled by setting the feature to an empty string. (closes issue ASTERISK-16507) Reported by: Jon Bright Review: https://reviewboard.asterisk.org/r/1634/ * channels/chan_sip.c, configs/sip.conf.sample, CHANGES, channels/sip/include/sip.h: chan_sip autocreatepeer=persist option for auto-created peers to survive reload This patch moves destruction of sip peers to immediately after the general section of sip.conf is read so that autocreatepeer setting can be read before deletion of peers. If autocreatepeer=persist at reload, then peers created by the autocreatepeer setting will be skipped when purging the current SIP peer list. (closes ASTERISK-16508) Reported by: Kirill Katsnelson Patches: 017797-kkm-persist-autopeers-1.8.patch uploaded by Kirill Katsnelson (license 5845) 2011-12-23 17:36 +0000 [r349046] Sean Bright * /, apps/app_chanspy.c: Merged revisions 349045 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r349045 | seanbright | 2011-12-23 12:32:33 -0500 (Fri, 23 Dec 2011) | 25 lines Merged revisions 349044 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r349044 | seanbright | 2011-12-23 12:25:01 -0500 (Fri, 23 Dec 2011) | 18 lines In ChanSpy, don't create audiohooks that will never be used. When ChanSpy is initialized it creates and attaches 3 audiohooks: 1) Read audio off of the channel that we are spying on 2) Write audio to the channel that we are spying on 3) Write audio to the channel that is bridged to the channel that we are spying on. The first is always necessary, but the others are used only when specific options are passed to the ChanSpy application (B, d, w, and W to be specific). When those flags are not passed, neither of those audiohooks are ever sent frames, but we still try to process the hooks for each voice frame that we recieve on the channel. So in short - only create and attach audiohooks that we actually need. ........ ................ 2011-12-23 15:26 +0000 [r348994] Kinsey Moore * apps/app_dial.c, /: Fix missing doc tags found while fixing ASTERISK-18689 Add missing tags in app_dial documentation. ........ Merged revisions 348992 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 348993 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-23 02:35 +0000 [r348953] Richard Mudgett * main/pbx.c, /, channels/chan_sip.c, include/asterisk/pbx.h: Fix extension state callback references in chan_sip. Chan_sip gives a dialog reference to the extension state callback and assumes that when ast_extension_state_del() returns, the callback cannot happen anymore. Chan_sip then reduces the dialog reference count associated with the callback. Recent changes (ASTERISK-17760) have resulted in the potential for the callback to happen after ast_extension_state_del() has returned. For chan_sip, this could be very bad because the dialog pointer could have already been destroyed. * Added ast_extension_state_add_destroy() so chan_sip can account for the sip_pvt reference given to the extension state callback when the extension state callback is deleted. * Fix pbx.c awkward statecbs handling in ast_extension_state_add_destroy() and handle_statechange() now that the struct ast_state_cb has a destructor to call. * Ensure that ast_extension_state_add_destroy() will never return -1 or 0 for a successful registration. * Fixed pbx.c statecbs_cmp() to compare the correct information. The passed in value to compare is a change_cb function pointer not an object pointer. * Make pbx.c ast_merge_contexts_and_delete() not perform callbacks with AST_EXTENSION_REMOVED with locks held. Chan_sip is notorious for deadlocking when those locks are held during the callback. * Removed unused lock declaration for the pbx.c store_hints list. (closes issue ASTERISK-18844) Reported by: rmudgett Review: https://reviewboard.asterisk.org/r/1635/ ........ Merged revisions 348940 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 348952 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-22 22:39 +0000 [r348890] Matthew Jordan * cel/cel_pgsql.c, /: Fix for memory leaks / cleanup in cel_pgsql There were a number of issues in cel_pgsql's pgsql_log method: * If either sql or sql2 could not be allocated, the method would return while the pgsql_lock was still locked * If the execution of the log statement succeeded, the sql and sql2 structs were never free'd * Reconnection successes were logged as ERRORs. In general, the severity of several logging statements was reduced (closes issue ASTERISK-18879) Reported by: Niolas Bouliane Tested by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1624/ ........ Merged revisions 348888 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 348889 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-22 21:12 +0000 [r348849] Damien Wedhorn * channels/chan_skinny.c: Fix segfault on answer. Only update/change RTP source if RTP has already been started and connected to the subchannel. 2011-12-22 20:44 +0000 [r348848] Matthew Jordan * /, main/say.c, main/file.c, main/app.c, apps/app_confbridge.c, main/bridging.c: Add Asterisk TestSuite event hooks to support ConfBridge testing This patch adds initial testsuite event hooks so that ConfBridge tests can be executed in the Asterisk TestSuite. (issue ASTERISK-19059) ........ Merged revisions 348846 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-22 20:39 +0000 [r348847] Terry Wilson * /, include/asterisk/format_pref.h: Allow packetization vaules > 127 According to the RTP packetization documentation, and the maximum values listed in AST_FORMAT_LIST, we should support values > that the signed char array that ast_codec_pref makes available to store the value. All places in the code treat the framing field as though it were an int array instaead of a char array anyway, so this just fixes the type of the array. (closes issue ASTERISK-18876) Review: https://reviewboard.asterisk.org/r/1639/ ........ Merged revisions 348833 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 348845 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-21 20:13 +0000 [r348737-348794] Richard Mudgett * /, codecs/speex: Make codecs/speex ignore *.i files also. ........ Merged revisions 348793 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, apps/confbridge: Make apps/confbridge ignore *.i files also. ........ Merged revisions 348790 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, channels/chan_iax2.c: Fix chan_iax2 to not report an RDNIS number if it is blank. Some ISDN switches complain or block the call if the RDNIS number is empty. * Made chan_iax2 not save a RDNIS number into the ast_channel if the string is blank. This is what other channel drivers do. (closes issue ASTERISK-17152) Reported by: rmudgett ........ Merged revisions 348735 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 348736 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-20 20:06 +0000 [r348698] Matthew Nicholson * contrib/scripts/safe_asterisk: This adds support for setting several safe_asterisk parameters using environment variables and also enables a custom run directory for asterisk (instead of defaulting to /tmp). Patch by: Byron Clark (byronclark) (closes ASTERISK-17810) 2011-12-19 21:43 +0000 [r348649] Richard Mudgett * /, configure, configure.ac: Fix crashes on other platforms caused by interference from Darwin weak symbol support. Support weak symbols on a platform specific basis. The Mac OS X (Darwin) support must be isolated from the other platforms because it has caused other platforms to crash. Several other platforms including Linux have GCC versions that define the weak attribute. However, this attribute is only setup for use in the code by Darwin. (closes issue ASTERISK-18728) Reported by: Ben Klang Review: https://reviewboard.asterisk.org/r/1617/ ........ Merged revisions 348647 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 348648 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-19 19:55 +0000 [r348606] Leif Madsen * /, main/message.c: Update documentation for MESSAGE_SEND_STATUS variable. (Closes issue ASTERISK-19056) Reported by: Yuri Patches: 348360.diff uploaded by Yuri (license #5242) ........ Merged revisions 348605 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-19 01:36 +0000 [r348567] Terry Wilson * /, res/res_srtp.c: Add a separate buffer for SRTCP packets The function ast_srtp_protect used a common buffer for both SRTP and SRTCP packets. Since this function can be called from multiple threads for the same SRTP session (scheduler for SRTCP and channel for SRTP) it was possible for the packets to become corrupted as the buffer was used by both threads simultaneously. This patch adds a separate buffer for SRTCP packets to avoid the problem. (closes issue ASTERISK-18889, Reported/patch by Daniel Collins) ........ Merged revisions 347995 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 347996 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-18 18:29 +0000 [r348518] Kevin P. Fleming * /, configs/sip.conf.sample: Correct two flaws in sip.conf.sample related to AST-2011-013. * The sample file listed *two* values for the 'nat' option as being the default. Only 'force_rport' is the default. * The warning about having differing 'nat' settings confusingly referred to both peers and users. ........ Merged revisions 348515 from http://svn.asterisk.org/svn/asterisk/branches/1.6.2 ........ Merged revisions 348516 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 348517 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-16 23:58 +0000 [r348466] Richard Mudgett * main/channel.c, /, main/features.c: Clean-up on isle five for __ast_request_and_dial() and ast_call_forward(). * Add locking when a channel inherits variables and datastores in __ast_request_and_dial() and ast_call_forward(). Note: The involved channels are not active so there was minimal potential for problems. * Remove calls to ast_set_callerid() in __ast_request_and_dial() and ast_call_forward() because the set information is for the wrong direction. * Don't use C++ keywords for variable names in ast_call_forward(). * Run the redirecting interception macro if defined when forwarding a call in ast_call_forward(). Note: Currently will never execute because the only callers that supply a calling channel supply a hungup or zombie channel. * Make feature_request_and_dial() put the transferee into autoservice when it calls ast_call_forward() in case a redirection interception macro is run. Note: Currently will never happen because the caller channel (Party B) is always hungup at this time. * Make feature_request_and_dial() ignore the AST_CONTROL_PROCEEDING frame to silence a log message. ........ Merged revisions 348464 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 348465 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-16 22:00 +0000 [r348416] Jonathan Rose * configs/voicemail.conf.sample, CHANGES, apps/app_voicemail.c: Voicemail with the saycid option will now play a caller's name based on cid if available. In order to check the availability of the caller's name, app_voicemail will check for an audio file in /recordings/callerids/ This change sets a precedent for where to put recordings of names. Currently the idea is that recordings here could also be used for applications like confbridge and meetme to find recorded names in this folder from callerid (when another recording isn't available) (closes issue ASTERISK-18565) Reporter: Russell Brown Patches: r uploaded by Russel Brown (license 6182) 2011-12-16 21:30 +0000 [r348312-348408] Richard Mudgett * main/channel.c, /: Fix cut and past error in ast_call_forward(). (issue ASTERISK-18836) ........ Merged revisions 348401 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 348405 from http://svn.asterisk.org/svn/asterisk/branches/10 * main/channel.c, main/pbx.c, /, apps/app_authenticate.c, funcs/func_cdr.c, main/features.c, include/asterisk/cdr.h, apps/app_followme.c, apps/app_queue.c, res/res_monitor.c: Fix crash during CDR update. The ast_cdr_setcid() and ast_cdr_update() were shown in ASTERISK-18836 to be called by different threads for the same channel. The channel driver thread and the PBX thread running dialplan. * Add lock protection around CDR API calls that access an ast_channel pointer. (closes issue ASTERISK-18836) Reported by: gpluser Review: https://reviewboard.asterisk.org/r/1628/ ........ Merged revisions 348362 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 348363 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, apps/app_parkandannounce.c: Fix ParkAndAnnounce to pass the CallerID to the announcing channel. ParkAndAnnounce tried to pass the CallerID to the announcing channel but the ID was wiped out by the channel masquerade done when parking the call. * Save the CallerID before parking the channel to pass it to the announcing channel. * Fixed a minor memory leak in ParkAndAnnounce. * Updated some ParkAndAnnounce log messages. ........ Merged revisions 348310 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 348311 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-14 22:36 +0000 [r348215-348266] Matthew Jordan * /, apps/app_originate.c: Added support for all slin formats to app_originate Previously, app_originate could not originate a call into a non-8kHz conference bridge as the formats for non-8kHz slin codecs were not applied to the created channel. This patch adds all of the formats by default, such that if a created channel has a codec that supports a higher sampling rate, a translation path can be built between it and other channels. ........ Merged revisions 348265 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, apps/app_queue.c: Fixed Asterisk crash when function QUEUE_MEMBER receives invalid input The function QUEUE_MEMBER has two required parameters (queuename, option). It was only checking for the presence of queuename. The patch checks for the existence of the option parameter and provides better error logging when invalid values are provided for the option parameter as well. ........ Merged revisions 348211 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-14 22:05 +0000 [r348214] Matthew Nicholson * /, res/res_fax.c: Don't clear LOCALSTATIONID before sending or receiving. The user may set that variable. ASTERISK-18921 ........ Merged revisions 348212 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 348213 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-14 21:08 +0000 [r348161] Jonathan Rose * main/features.c, configs/features.conf.sample: Add and document PARKEDCALL variable set during timeout PARKEDCALL variable tracks which parking lot the call was last parked in. This can be used afterwards for flow control when returntoorigin is set to off. I went ahead and documented both this and the existing variable set during timeout (PARKINGSLOT) in the sample features.conf since there was no prior mention of variables being set during timeout. (closes issue ASTERISK-16239) Reported By: Clod Patry Patches: M17503.diff uploaded by Clod Patry (license 5138) 2011-12-14 20:51 +0000 [r348160] Matthew Jordan * apps/app_confbridge.c: Improve error message in CONFBRIDGE_INFO Provided a more descriptive error message when a value supplied for the parameter type is not one of the acceptable values. (closes issue ASTERISK-18717) Reported by: Paul Belanger Patches: __20111103-better-confbridge_info-error-msg.txt (License #4999) 2011-12-14 20:37 +0000 [r348156-348159] Jonathan Rose * /, configs/features.conf.sample: Fix accidental use of tabs instead of spaces from previous features.conf.sample change ........ Merged revisions 348157 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 348158 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, configs/features.conf.sample: Document PARKINGSLOT variable in features.conf.sample (issue ASTERISK-16239) ........ Merged revisions 348154 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 348155 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-13 23:10 +0000 [r348103] Richard Mudgett * /, bridges/bridge_builtin_features.c, apps/app_followme.c: Fix FollowMe CallerID on outgoing calls. The addition of the Connected Line support changed how CallerID is passed to outgoing calls. The FollowMe application was not updated to pass CallerID to the outgoing calls. * Fix FollowMe CallerID on outgoing calls. * Restructured findmeexec() to fix several memory leaks and eliminate some duplicated code. * Made check the return value of create_followme_number(). Putting a NULL into the numbers list is bad if create_followme_number() fails. * Fixed a couple uses of ast_strdupa() inside loops. * The changes to bridge_builtin_features.c fix a similar CallerID issue with the bridging API attended and blind transfers. (Not used at this time.) (closes issue ASTERISK-17557) Reported by: hamlet505a Tested by: rmudgett Review: https://reviewboard.asterisk.org/r/1612/ ........ Merged revisions 348101 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 348102 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-13 15:22 +0000 [r348061] Stefan Schmidt * channels/chan_sip.c: Fix possible misshandling of an incoming SIP response as a peer poke response. Also make sure peer has even qualify enabled when handle a peer poke response. (closes issue ASTERISK-18940) Reported by: Vitaliy Tested by: Vitaliy and UnixDev Review: https://reviewboard.asterisk.org/r/1620 Reviewed by: David Vossel ........ Merged revisions 348048 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 348056 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-12 19:35 +0000 [r347997] Matthew Jordan * include/asterisk/logger.h, utils/refcounter.c, main/logger.c, utils/hashtest.c, UPGRADE.txt, utils/ael_main.c, utils/hashtest2.c, CHANGES, main/asterisk.c, main/config.c, configs/logger.conf.sample, main/loader.c, main/cli.c: Backed out core changes from r346391 During testing, it was discovered that there were a number of side effects introduced by r346391 and subsequent check-ins related to it (r346429, r346617, and r346655). This included the /main/stdtime/ test 'hanging', as well as the remote console option failing to receive the appropriate output after a period of time. I only backed out the changes to main/ and utils/, as this was adequate to reverse the behavior experienced. (issue ASTERISK-18974) 2011-12-12 17:34 +0000 [r347954] Richard Mudgett * configs/iax.conf.sample, configs/chan_dahdi.conf.sample, /, configs/chan_ooh323.conf.sample, configs/vpb.conf.sample, configs/extensions.lua.sample, configs/sip.conf.sample, configs/extensions.conf.sample: Update sample configs to put incoming calls into context public. * Add warning about the SIP allowguest option in context public. (closes issue ASTERISK-14122) Reported by: Alec Davis Review: https://reviewboard.asterisk.org/r/719/ ........ Merged revisions 347953 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-09 21:47 +0000 [r347866-347903] Jonathan Rose * apps/app_mixmonitor.c: Adds MixMonitor and StopMixMonitor AMI commands to the manager These commands work much like the dialplan applications that would otherwise invoke them. A nice benefit of these is that they can be invoked on a call remotely and at any time during a call. They work much like the Monitor and StopMonitor ami commands. (closes issue ASTERISK-17726) Reported by: Sergio González Martín Patches: mixmonitor_actions.diff uploaded by Sergio González Martín (license 5644) Review: https://reviewboard.asterisk.org/r/1193/ * include/asterisk/file.h, apps/app_sayunixtime.c, CHANGES: Remove autojump extensions from SayUnixTime, make an option to perform automatic jumps. When a caller sends DTMF while the SayUnixTime application is saying the time, The call would jump to the next extension much like it does during Background(). This patch adds option 'j' to SayUnixTime which when used employs the old behavior. Also, this patch allows arguments to sayunixtime to not be used as empty strings in the case of something like 'sayunixtime(,,,j)' or 'sayunixtime(,,pattern). (closes issue ASTERISK-16675) Reported by: jlpedrosa Patches: patch_SayUnixTime_noJump.patch uploaded by jlpedrosa (license 5959) Review: https://reviewboard.asterisk.org/r/956/ 2011-12-09 01:33 +0000 [r347813] Richard Mudgett * main/pbx.c, /: Fix some parsing issues in add_exten_to_pattern_tree(). * Simplify compare_char() and avoid potential sign extension issue. * Fix infinite loop in add_exten_to_pattern_tree() handling of character set escape handling. * Added buffer overflow checks in add_exten_to_pattern_tree() character set collection. * Made ignore empty character sets. * Added escape character handling to end-of-range character in character sets. This has a slight change in behavior if the end-of-range character is an escape character. You must now escape it. * Fix potential sign extension issue when expanding character set ranges. * Made remove duplicated characters from character sets. The duplicate characters lower extension matching priority and prevent duplicate extension detection. * Fix escape character handling when the escape character is trying to escape the end-of-string. We could have continued processing characters after the end of the exten string. We could have added the previous character to the pattern matching tree incorrectly. (closes issue ASTERISK-18909) Reported by: Luke-Jr ........ Merged revisions 347811 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 347812 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-08 21:32 +0000 [r347735] Walter Doekes * /, channels/chan_sip.c: Fix regression when using tcpenable=no and tlsenable=yes. The tlsenable settings are tucked away in main/tcptls.c, so I missed them when resolving ASTERISK-18837. This should resolve the test suite breakage of the sip tls tests. Review: https://reviewboard.asterisk.org/r/1615 Reviewed by: Matt Jordan ........ Merged revisions 347718 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 347727 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-08 20:55 +0000 [r347658] Jonathan Rose * /, apps/app_queue.c: Fix regressed behavior of queue set penalty to work without specifying 'in ' r325483 caused a regression in Asterisk 10+ that would make Asterisk segfault when attempting to set penalty on an interface without specifying a queue in the queue set penalty CLI command. In addition, no attempt would be made whatsoever to perform the penalty setting on all the queues in the core list with either the cli command or the non-segfaulting ami equivalent. This patch fixes that and also makes an attempt to document and rename some functions required by this command to better represent what they actually do. Oh yeah, and the use of this command without specifying a specific queue actually works now. Review: https://reviewboard.asterisk.org/r/1609/ ........ Merged revisions 347656 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-08 17:55 +0000 [r347601] Richard Mudgett * /, main/features.c: Mark channel running the h exten with the soft-hangup flag. When a bridge is broken, ast_bridge_call() might execute the h exten on the calling channel. However, that channel may not have been the channel that broke the bridge by hanging up. The channel executing the h exten must be in a hung up state so things like AGI run in the correct mode. * Make sure ast_bridge_call() marks the channel it is executing the h exten on as hung up. (The AST_SOFTHANGUP_APPUNLOAD flag is used so as to match the pbx.c main dialplan execution loop when it executes the h exten.) (closes issue ASTERISK-18811) Reported by: David Hajek Patches: jira_asterisk_18811_v1.8.patch (license #5621) patch uploaded by rmudgett Tested by: David Hajek, rmudgett ........ Merged revisions 347595 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 347600 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-08 16:24 +0000 [r347533] Terry Wilson * /, channels/chan_sip.c: Don't crash on INFO automon request with no channel AST-2011-014. When automon was enabled in features.conf, it was possible to crash Asterisk by sending an INFO request if no channel had been created yet. (closes issue ASTERISK-18805) ........ Merged revisions 347530 from http://svn.asterisk.org/svn/asterisk/branches/1.6.2 ........ Merged revisions 347531 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 347532 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-08 06:59 +0000 [r347490] Damien Wedhorn * channels/chan_skinny.c: Fix segfault on answer. Fix a segfault if an attempt to answer a call is made between when the inbound call gives up (and the channel is removed) and when the device is notified and removes the call from the device. 2011-12-07 21:42 +0000 [r347440] Richard Mudgett * main/manager.c, /: Update AMI Getvar and Setvar documentation about supplying a channel name. (closes issue ASTERISK-18958) Reported by: Red Patches: jira_asterisk_18958_v1.8.patch (license #5621) patch uploaded by rmudgett ........ Merged revisions 347438 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 347439 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-07 20:34 +0000 [r347395] Jonathan Rose * /, apps/app_meetme.c: Fix: Meetme recording variables from realtime DB use null entries over channel variables Meetme would attempt to substitute the realtime values of RECORDING_FILE and RECORDING_FORMAT from the meetme db entry instead of using the channel variable set for those variables in spite of those database entries being NULL or even lacking a column to represent them. (closes issue ASTERISK-18873) Reported by: Byron Clark Patches: ASTERISK-18873-1.patch uploaded by Byron Clark (license 6157) ........ Merged revisions 347369 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 347383 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-07 20:15 +0000 [r347345] Terry Wilson * Makefile, include/asterisk/paths.h, /, configs/asterisk.conf.sample, build_tools/make_defaults_h, main/asterisk.c, main/db.c: Add ASTSBINDIR to the list of configurable paths This patch also makes astdb2sqlite3 and astcanary use the configured directory instead of relying on $PATH. (closes issue ASTERISK-18959) Review: https://reviewboard.asterisk.org/r/1613/ ........ Merged revisions 347344 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-06 23:58 +0000 [r347294] Richard Mudgett * /, channels/chan_sip.c: Make SIP INFO messages for dtmf-relay signals case insensitive. (closes issue ASTERISK-18924) Reported by: Kevin Taylor ........ Merged revisions 347292 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 347293 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-06 22:01 +0000 [r347241] Jonathan Rose * main/pbx.c, /: Documents CHANNEL(musicclass) taking priority over m([x]) in waitExten If waitExten specifies a music class to use with its music on hold option, it will use CHANNEL(musicclass) instead if that channel variable has been set on the initiating channel. This documents that behavior in the waitExten app so that this can be known without checking the documentation of the code in function local_ast_moh_start. (closes issue ASTERISK-18804) ........ Merged revisions 347239 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 347240 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-06 20:23 +0000 [r347157-347192] Walter Doekes * UPGRADE.txt, CHANGES, apps/app_voicemail.c: Add VM_INFO() dialplan function to gather information about a mailbox. Deprecates MAILBOX_EXISTS. Provides count, email, exists, fullname, language, locale, pager, password, tz. (closes issue ASTERISK-18634) Patch by: Kris Shaw Review: https://reviewboard.asterisk.org/r/1568 Reviewed by: Walter Doekes * /, channels/chan_sip.c: Don't allow transport=tcp when tcpenable=no. When tcpenable=no, sending to transport=tcp hosts was still allowed. Resolving the source address wasn't possible and yielded the string "(null)" in SIP messages. Fixed that and a couple of not-so-correct log messages. (closes issue ASTERISK-18837) Reported by: Andreas Topp Review: https://reviewboard.asterisk.org/r/1585 Reviewed by: Matt Jordan ........ Merged revisions 347166 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 347167 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, apps/app_voicemail.c: Add regression tests for issue ASTERISK-18838. Review: https://reviewboard.asterisk.org/r/1572 Reviewed by: Matt Jordan ........ Merged revisions 347131 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 347146 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, apps/app_voicemail.c: The voicemail [general] zonetag and locale variables weren't loaded until after the mailboxes were initialized. This caused the settings to be unset for those mailboxes until a reload was performed. (closes issue ASTERISK-18838) Review: https://reviewboard.asterisk.org/r/1570 Reviewed by: Matt Jordan ........ Merged revisions 347111 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 347124 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-06 19:09 +0000 [r347110] Richard Mudgett * include/asterisk/dlinkedlists.h, tests/test_linkedlists.c: Doubly linked lists unit test and update to implementation. Update the doubly linked list implementation. Now safe traversing can insert before and after the current node when traversing in either direction. Updated the linked lists unit test test_linkedlist to also test doubly linked lists. The old test_dlinkedlist requires a manual check of results and probably should be removed. Review: https://reviewboard.asterisk.org/r/1569/ 2011-12-06 17:34 +0000 [r347069] Matthew Jordan * /, channels/chan_sip.c: Fixed crash from orphaned MWI subscriptions in chan_sip This patch resolves the issue where MWI subscriptions are orphaned by subsequent SIP SUBSCRIBE messages. When a peer is removed, either by pruning realtime SIP peers or by unloading / loading chan_sip, the MWI subscriptions that were orphaned would still be on the event engine list of valid subscriptions but have a pointer to a peer that no longer was valid. When an MWI event would occur, this would cause a seg fault. (closes issue ASTERISK-18663) Reported by: Ross Beer Tested by: Ross Beer, Matt Jordan Patches: blf_mwi_diff_12_06_11.txt uploaded by Matt Jordan (license 6283) Review: https://reviewboard.asterisk.org/r/1610/ ........ Merged revisions 347058 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 347068 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-05 17:44 +0000 [r347008] Richard Mudgett * channels/chan_dahdi.c, channels/sig_analog.c, /, channels/sig_analog.h: Restore call progress code for analog ports. Extracting sig_analog from chan_dahdi lost call progress detection functionality. * Fix analog ports from considering a call answered immediately after dialing has completed if the callprogress option is enabled. (closes issue ASTERISK-18841) Reported by: Richard Miller Patches: chan_dahdi.diff (license #5685) patch uploaded by Richard Miller (Modified by me) sig_analog.c.diff (license #5685) patch uploaded by Richard Miller (Modified by me) sig_analog.h.diff (license #5685) patch uploaded by Richard Miller ........ Merged revisions 347006 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 347007 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-05 15:04 +0000 [r346956] Jonathan Rose * main/pbx.c, /: Resolve duplicate label used in multiple priorities for the same extension. Prior to this patch, if labels with the same name were used for different priorities in the same extension, the new label would be accepted, but it would be unusable since attempts to reach that label would just go to the first one. Now pbx.c detects this, generates a warning in logs, and culls the label before adding it to the dialplan. (closes issue ASTERISK-18807) Reported by: Kenneth Shumard Patches: pbx.c.patch uploaded by Kenneth Shumard (License 5077) ........ Merged revisions 346954 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 346955 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-05 14:47 +0000 [r346953] Kinsey Moore * res/res_jabber.exports.in, /: Fix chan_jingle/gtalk load regression introduced in r346087 Add missing symbol exports for ast_aji_client_destroy and ast_aji_buddy_destroy for usage outside res_jabber. Testing of these changes focused on res_jabber itself, so this problem was missed. Reported-by: Michael Spiceland ........ Merged revisions 346951 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 346952 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-04 10:08 +0000 [r346901] Walter Doekes * /, channels/chan_sip.c: For SIP REGISTER fix domain-only URIs and domain ACL bypass. The code that allowed admins to create users with domain-only uri's had stopped to work in 1.8 because of the reqresp parser rewrites. This is fixed now: if you have a [mydomain.com] sip user, you can register with useraddr sip:mydomain.com. Note that in that case -- if you're using domain ACLs (a configured domain list) -- mydomain.com must be in the allow list as well. Reviewboard r1606 shows a list of registration combinations and which SIP response codes are returned. Review: https://reviewboard.asterisk.org/r/1533/ Reviewed by: Terry Wilson (closes issue ASTERISK-18389) (closes issue ASTERISK-18741) ........ Merged revisions 346899 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 346900 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-02 23:30 +0000 [r346857] Matthew Jordan * /, channels/chan_sip.c: Update SIP MESSAGE To parsing to correctly handle URI The previous patch (r346040) incorrectly parsed the URI in the presence of a port, e.g., user@hostname:port would fail as the port would be double appended to the SIP message. This patch uses the parse_uri function to correctly parse the URI into its username and hostname parts, and places them in the correct fields in the sip_pvt structure. (issue ASTERISK-18903) Review: https://reviewboard.asterisk.org/r/1597/ ........ Merged revisions 346856 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-02 19:40 +0000 [r346777-346816] Alexandr Anikin * addons/chan_ooh323.c: implement nat option for rtp channels with ooh323 * addons/chan_ooh323.c, /, channels/chan_h323.c: Merged revisions 346763 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r346763 | may | 2011-12-02 20:42:32 +0400 (Fri, 02 Dec 2011) | 14 lines Merged revisions 346762 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r346762 | may | 2011-12-02 20:19:19 +0400 (Fri, 02 Dec 2011) | 7 lines process null frame pointer returned by ast_rtp_instance_read correctly (closes issue ASTERISK-16697) Reported by: under Patches: segfault.diff (License #5871) patch uploaded by under ........ ................ 2011-12-01 21:19 +0000 [r346709] Richard Mudgett * main/stun.c, /, res/res_stun_monitor.c, configs/res_stun_monitor.conf.sample, include/asterisk/stun.h: Re-resolve the STUN address if a STUN poll fails for res_stun_monitor. The STUN socket must remain open between polls or the external address seen by the STUN server is likely to change. However, if the STUN request poll fails then the STUN server address needs to be re-resolved and the STUN socket needs to be closed and reopened. * Re-resolve the STUN server address and create a new socket if the STUN request poll fails. * Fix ast_stun_request() return value consistency. * Fix ast_stun_request() to check the received packet for expected message type and transaction ID. * Fix ast_stun_request() to read packets until timeout or an associated response packet is found. The stun_purge_socket() hack is no longer required. * Reduce ast_stun_request() error messages to debug output. * No longer pass in the destination address to ast_stun_request() if the socket is already bound or connected to the destination. (closes issue ASTERISK-18327) Reported by: Wolfram Joost Tested by: rmudgett Review: https://reviewboard.asterisk.org/r/1595/ ........ Merged revisions 346700 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 346701 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-12-01 20:46 +0000 [r346699] Jonathan Rose * /, channels/chan_sip.c: Change 183 Ringing in sipfrag body to 180 ringing. 183 Ringing isn't even a thing. 183 is actually a session progress message. (closes issue ASTERISK-18925) Reported by: Sebastian Denz Tested by: jrose Patches: asterisk18-use_180_instead_of_183_in_sipfrag.diff by Sebastian Denz (License #6139) ........ Merged revisions 346697 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 346698 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-30 23:38 +0000 [r346617-346655] Tilghman Lesher * channels/chan_unistim.c, main/tcptls.c, channels/chan_sip.c, main/config.c, main/loader.c: Remove the few places where we try to ast_verbose() without a newline. * main/asterisk.c: Fix edge case for overflow buffer. 2011-11-30 22:03 +0000 [r346525-346566] Jonathan Rose * main/tcptls.c, /, channels/chan_sip.c, include/asterisk/tcptls.h: r346525 | jrose | 2011-11-30 15:10:38 -0600 (Wed, 30 Nov 2011) | 18 lines Cleaning up chan_sip/tcptls file descriptor closing. This patch attempts to eliminate various possible instances of undefined behavior caused by invoking close/fclose in situations where fclose may have already been issued on a tcptls_session_instance and/or closing file descriptors that don't have a valid index for fd (-1). Thanks for more than a little help from wdoekes. (closes issue ASTERISK-18700) Reported by: Erik Wallin (issue ASTERISK-18345) Reported by: Stephane Cazelas (issue ASTERISK-18342) Reported by: Stephane Chazelas Review: https://reviewboard.asterisk.org/r/1576/ ........ Merged revisions 346564 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 346565 from http://svn.asterisk.org/svn/asterisk/branches/10 * main/tcptls.c, channels/chan_sip.c, include/asterisk/tcptls.h: Reverting 346525 due to accidental patch against trunk instead of 1.8 * main/tcptls.c, channels/chan_sip.c, include/asterisk/tcptls.h: Cleaning up chan_sip/tcptls file descriptor closing. This patch attempts to eliminate various possible instances of undefined behavior caused by invoking close/fclose in situations where fclose may have already been issued on a tcptls_session_instance and/or closing file descriptors that don't have a valid index for fd (-1). Thanks for more than a little help from wdoekes. (closes issue ASTERISK-18700) Reported by: Erik Wallin (issue ASTERISK-18345) Reported by: Stephane Cazelas (issue ASTERISK-18342) Reported by: Stephane Chazelas Review: https://reviewboard.asterisk.org/r/1576/ 2011-11-30 19:37 +0000 [r346474] Leif Madsen * configs/queues.conf.sample: Update queues.conf.sample documentation. Update the documentation surrounding the use of MONITOR_EXEC to make it more clear that it can be used for both Monitor() and MixMonitor() usage. (closes issue ASTERISK-17413) Reported by: David Woolley Patches: issue18817_mixmonitor_queues_doc.diff by Michael L. Young (License #5026) ........ Merged revisions 346472 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 346473 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-29 20:32 +0000 [r346391-346429] Tilghman Lesher * utils/refcounter.c, utils/hashtest.c, utils/ael_main.c, utils/hashtest2.c: Fix compilation of utilities (caught by Bamboo). * addons/chan_ooh323.c, channels/chan_sip.c, main/say.c, res/res_fax.c, UPGRADE.txt, res/res_musiconhold.c, res/res_jabber.c, CHANGES, configs/logger.conf.sample, main/cli.c, channels/chan_usbradio.c, include/asterisk/logger.h, main/dial.c, channels/chan_skinny.c, main/logger.c, codecs/codec_dahdi.c, apps/app_rpt.c, apps/app_verbose.c, main/asterisk.c, main/bridging.c, res/res_clialiases.c, addons/res_config_mysql.c, apps/app_voicemail.c: Allow each logging destination and console to have its own notion of the verbosity level. Review: https://reviewboard.asterisk.org/r/1599 2011-11-29 00:03 +0000 [r346350] David Vossel * /, include/asterisk/message.h, main/message.c: Merged revisions 346349 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r346349 | dvossel | 2011-11-28 18:00:11 -0600 (Mon, 28 Nov 2011) | 10 lines Fixes memory leak in message API. The ast_msg_get_var function did not properly decrement the ref count of the var it retrieves. The way this is implemented is a bit tricky, as we must decrement the var and then return the var's value. As long as the documentation for the function is followed, this will not result in a dangling pointer as the ast_msg structure owns its own reference to the var while it exists in the var container. ........ 2011-11-28 14:34 +0000 [r346294] Stefan Schmidt * res/res_rtp_asterisk.c, /: Fix regression that 'rtp/rtcp set debup ip' only works when also a port was specified. (closes issue ASTERISK-18693) Reported by: Davide Dal Fra Review: https://reviewboard.asterisk.org/r/1600/ Reviewed by: Walter Doekes ........ Merged revisions 346292 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 346293 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-23 23:03 +0000 [r346241] Richard Mudgett * include/asterisk/acl.h, /, channels/chan_skinny.c, channels/chan_h323.c, main/acl.c, channels/chan_iax2.c: Fix calls to ast_get_ip() not initializing the address family. ........ Merged revisions 346239 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 346240 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-23 20:48 +0000 [r346146-346199] Walter Doekes * /, channels/chan_sip.c: Minor cleanup in chan_sip get_msg_text() function. In r116240, get_msg_text() got an extra parameter to fix the unwanted addition of trailing newlines to SIP MESSAGE bodies. This caused all linefeeds to be trimmed, which isn't right either. This is a stop-gap; the right fix is to return the original SIP request body. Review: https://reviewboard.asterisk.org/r/1586 Reviewed by: Matt Jordan ........ Merged revisions 346147 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 346198 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, include/asterisk/strings.h: Fix ast_str_truncate signedness warning and documentation. Review: https://reviewboard.asterisk.org/r/1594 ........ Merged revisions 346144 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 346145 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-23 17:16 +0000 [r346088] Kinsey Moore * channels/chan_jingle.c, /, include/asterisk/jabber.h, channels/chan_gtalk.c, res/res_jabber.c: Fix res_jabber resource leaks This should fix almost all resource leaks in res_jabber that involve ASTOBJ_CONTAINER_FIND and resolves an ambiguous situation where ast_aji_get_client would sometimes bump an object's refcount and sometimes not. Review: https://reviewboard.asterisk.org/r/1553 ........ Merged revisions 346086 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 346087 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-23 16:23 +0000 [r346053] Matthew Jordan * /, channels/chan_sip.c: Fixed SendMessage stripping extension from To: header in SIP MESSAGE When using the MessageSend application to send a SIP MESSAGE to a non-peer, chan_sip attempted to validate the hostname or IP Address. In the process, it stripped off the extension and failed to add it back to the sip_pvt structure before transmitting. This patch adds the full URI passed in from the message core to the sip_pvt structure. (closes issue ASTERISK-18903) Reported by: Shaun Clark Tested by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1597/ ........ Merged revisions 346040 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-23 16:12 +0000 [r346033] Terry Wilson * /, res/res_musiconhold.c: Resume playing existing hold music for cached realtime MOH As a result of the fix for ASTERISK-18039, realtime caching MOH no longer properly resumes playing back a file between different holds in the same call. This is because scanning for new files causes the existing file array to be emptied and we were just comparing that the saved pointer to the filename matched the pointer to the filename in a particular position in the array. An easy fix is to save the filename instead of a pointer to it and then do a strcmp instead of comparing the addresses. (closes issue ASTERISK-18912) Review: https://reviewboard.asterisk.org/r/1596/ ........ Merged revisions 346030 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 346031 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-23 16:10 +0000 [r346032] Paul Belanger * /, res/res_format_attr_silk.c, res/res_format_attr_celt.c: Added support level for new modules ........ Merged revisions 346029 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-22 23:06 +0000 [r345978] Richard Mudgett * main/dnsmgr.c, /, include/asterisk/dnsmgr.h: Fix dnsmgr entries to ask for the same address family each time. The dnsmgr refresh would always get the first address found regardless of the original address family requested. So if you asked for only IPv4 addresses originally, you might get an IPv6 address on refresh. * Saved the original address family requested by ast_dnsmgr_lookup() to be used when the address is refreshed. ........ Merged revisions 345976 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 345977 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-22 20:32 +0000 [r345925] Walter Doekes * include/asterisk/logger.h, /: Clarify why the AST_LOG_* macros exist next to the LOG_* macros. (issue ASTERISK-17973) ........ Merged revisions 345923 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 345924 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-22 16:41 +0000 [r345883] Paul Belanger * /, apps/confbridge/conf_config_parser.c: Add missing sound_only_one config variable (closes issue ASTERISK-18895) Reported by: zvision Patches: conf_config_parser.diff (license #5755) patch uploaded by zvision ........ Merged revisions 345882 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-21 21:09 +0000 [r345831] Terry Wilson * /, channels/chan_sip.c, configs/sip.conf.sample, CHANGES: Default to nat=yes; warn when nat in general and peer differ It is possible to enumerate SIP usernames when the general and user/peer nat settings differ in whether to respond to the port a request is sent from or the port listed for responses in the Via header. In 1.4 and 1.6.2, this would mean if one setting was nat=yes or nat=route and the other was either nat=no or nat=never. In 1.8 and 10, this would mean when one was nat=force_rport and the other was nat=no. In order to address this problem, it was decided to switch the default behavior to nat=yes/force_rport as it is the most commonly used option and to strongly discourage setting nat per-peer/user when at all possible. For more discussion of the issue, please see: http://lists.digium.com/pipermail/asterisk-dev/2011-November/052191.html (closes issue ASTERISK-18862) Review: https://reviewboard.asterisk.org/r/1591/ ........ Merged revisions 345776 from http://svn.asterisk.org/svn/asterisk/branches/1.4 ........ Merged revisions 345800 from http://svn.asterisk.org/svn/asterisk/branches/1.6.2 ........ Merged revisions 345828 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 345830 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-21 16:40 +0000 [r345735] Paul Belanger * CHANGES, main/config.c: Add #tryinclude statement This provides the same functionality as #include however an asterisk module will still load if the filename does not exist. Review: https://reviewboard.asterisk.org/r/1476/ 2011-11-19 15:11 +0000 [r345643-345684] Tilghman Lesher * /, main/db.c: Update the documentation to better clarify how the existing commands work. Review: https://reviewboard.asterisk.org/r/1593/ ........ Merged revisions 345682 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 345683 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, main/db.c: Fix a change in behavior in 'database show' from 1.8. In 1.8 and previous versions, one could use any fullword portion of the key name, including the full key, to obtain the record. Until this patch, this did not work for the full key. Closes issue ASTERISK-18886 Patch: by tilghman Review: by twilson (http://pastebin.com/7rtu6bpk) on #asterisk-dev ........ Merged revisions 345640 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-17 19:47 +0000 [r345560-345601] Matthew Jordan * contrib/realtime/mysql/sipfriends.sql (removed): Accidentally readded sipfriends.sql in r345560. This was removed in r342871 * configs/confbridge.conf.sample, apps/confbridge/include/confbridge.h, apps/app_confbridge.c, CHANGES, contrib/realtime/mysql/sipfriends.sql (added), apps/confbridge/conf_config_parser.c: Add admin toggle mute all and participant count menu options to app_confbridge This patch adds two new menu features to app_confbridge, admin_toggle_menu_ participants and participant_count. The admin action will globally mute / unmute all non-admin participants on a converence, while the participant count simply exposes the existing participant count function to the conference bridge menu. This also adds configuration options to change the sound played when the conference is globally muted / unmuted, as well as the necessary config hooks to place these functions in the DTMF menus. (closes issue ASTERISK-18204) Reported by: Kevin Reeves Tested by: Matt Jordan Patches: app_confbridge.c.patch.txt, conf_config_parser.c.patch.txt, confbridge.h.patch.txt uploaded by Kevin Reeves (license 6281) Review: https://reviewboard.asterisk.org/r/1518/ 2011-11-17 17:31 +0000 [r345559] Richard Mudgett * /, channels/sig_pri.c: Remove dead code since pri_grab() can never fail. Dead code makes programmers sick. I am sick of looking at it. ........ Merged revisions 345546 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 345558 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-16 14:56 +0000 [r345489] Jonathan Rose * /, apps/app_voicemail.c: Guarantee messages go into the right folders with multiple recipients Before, using the U flag in Voicemail with multiple recipients would put urgent messages in the INBOX folder for all users past the first thanks to a bug with the message copying function. This would also cause messages to fail to be sent if the INBOX directory hadn't been created for that mailbox yet. (closes issue ASTERISK-18245) Reported by: Matt Jordan (closes issue ASTERISK-18246) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1589/ ........ Merged revisions 345487 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 345488 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-15 20:11 +0000 [r345221-345433] Richard Mudgett * /, res/res_agi.c: Make FastAGI HANGUP show up in AGI debug output. * Change from using send() to ast_agi_send() so the HANGUP shows up in the AGI debug output. (closes issue ASTERISK-18723) Reported by: James Van Vleet Patches: jira_asterisk_18723_v1.8.patch (license #5621) patch uploaded by rmudgett ........ Merged revisions 345431 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 345432 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, channels/sig_pri.c: Fix typo in sig_pri using wrong structure name. It is fortunate that the typo does not alter generated code since the e->restart.channel and e->ring.channel members are in the same position. (closes issue ASTERISK-18868) Reported by: zvision Patches: sig_pri.c.diff (License #5755) patch uploaded by zvision ........ Merged revisions 345370 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 345371 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, apps/app_queue.c: Make queue log indicate if ADDMEMBER is paused for AMI and realtime. * Add parameter to queue log ADDMEMBER to indicate if the member is paused. (closes issue ASTERISK-18645) Reported by: garlew Patches: paused.diff (License #5337) patch uploaded by garlew Tested by: rmudgett, garlew Review: https://reviewboard.asterisk.org/r/1469/ ........ Merged revisions 345285 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 345290 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, channels/chan_sip.c, configs/sip.conf.sample, UPGRADE-1.8.txt, channels/sip/include/sip.h: Restore SIP DTMF overlap dialing method. The recent fix for ASTERISK-17288 to get RFC3578 SIP overlap support working correctly removed a long standing ability to do overlap dialing using DTMF in the early media phase of a call. See ASTERISK-18702 it has a very good description of the issue. I started with Pavel Troller's chan_sip.diff patch on issue ASTERISK-18702. * Added 'dtmf' enum value to sip.conf allowoverlap config option. The new option value causes the Incomplte application to not send anything with chan_sip so the caller can supply more digits via DTMF. * Renames SIP_GET_DEST_PICKUP_EXTEN_FOUND to SIP_GET_DEST_EXTEN_MATCHMORE since that is what it really means. * Fixed get_destination() inconsistency with the pickup extension matching. * Fixed initialization of PAGE3 of global_flags in reload_config(). (closes issue ASTERISK-18702) Reported by: Pavel Troller Review: https://reviewboard.asterisk.org/r/1517/ Review: https://reviewboard.asterisk.org/r/1582/ ........ Merged revisions 345273 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 345275 from http://svn.asterisk.org/svn/asterisk/branches/10 * main/pbx.c, /: Fix Progress spelling error in main/pbx.c. (closes issue ASTERISK-18857) Reported by: David M Patches: mainpbx-trivial.patch (License #6326) patch uploaded by David M ........ Merged revisions 345219 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 345220 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-14 19:12 +0000 [r345165] Terry Wilson * main/channel.c, /: Don't read past end of input when calling write() int blah = 1; ... write(chan->alertpipe[1], &blah, new_frames * sizeof(blah)) != (new_frames * sizeof(blah))) is only valid when new_frames == 1. Otherwise we start reading into adjacent variables declared on the stack. The read end discards what is read, so the values don't matter but it's not a good idea to read past where we want even though new_frames is almost always 1 and should never be large. This patch is basically taken out of kpfleming's eventfd branch, as he mentioned that he remembered fixing it there when I talked to him about this issue. Review: https://reviewboard.asterisk.org/r/1583/ ........ Merged revisions 345163 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 345164 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-14 19:03 +0000 [r345162] Walter Doekes * /, channels/sip/include/reqresp_parser.h: Update reqresp_parser parse_uri doxygen comments. The issue mentioned in the bug report had been fixed recently by twilson. The reporter included this documentation fix. (closes issue ASTERISK-18572) Reported by: Richard Miller Patch by: Richard Miller (modified) ........ Merged revisions 345160 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 345161 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-14 16:21 +0000 [r345120] Jonathan Rose * /, apps/app_voicemail.c: Moves voicemail setup password entry to the end of the setup process. This change was made because forcegreeting and forcename settings in voicemail could be circumvented by hanging up after entering a password, because the only way voicemail currently observes whether a mailbox is new or not is by checking to see if the password is the same as the mailbox number or not. (closes issue ASTERISK-18282) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1581/ ........ Merged revisions 345062 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 345117 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-14 15:11 +0000 [r345065] Kinsey Moore * /, channels/chan_sip.c: Ensure that a null vmexten does not cause a segfault When sip_send_mwi_to_peer was modified recently to avoid deadlocks, vmexten was not expected to be null. This change handles that situation to avoid a segfault. ........ Merged revisions 345063 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 345064 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-14 01:25 +0000 [r345023] TransNexus OSP Development * apps/app_osplookup.c: Increased max number of destinations. 2011-11-12 16:32 +0000 [r344979] Gregory Nietsky * channels/chan_misdn.c, /: mISDN Round Robin break when no channel is available Prevent channels been parsed repetitively. ........ Merged revisions 344965 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 344966 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-12 00:36 +0000 [r344901] Terry Wilson * /, res/res_musiconhold.c: Don't forget to rescan MOH files for cached realtime classes Realtime MOH class caching was implemented because without it, you would build a completely new MOH class and would start the music over at the beginning each time hold was pressed in a conversation. Unfortunately, this broke re-scanning for file changes for realtime MOH classes. This patch corrects that issue. (closes issue ASTERISK-18039) Review: https://reviewboard.asterisk.org/r/1579/ ........ Merged revisions 344899 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 344900 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-11 22:00 +0000 [r344846] Walter Doekes * include/asterisk/utils.h, /, main/utils.c, include/asterisk/stringfields.h: Use __alignof__ instead of sizeof for stringfield length storage. Kevin P Fleming suggested that r343157 should use __alignof__ instead of sizeof. For most systems this won't be an issue, but better fix it now while it's still fresh. Review: https://reviewboard.asterisk.org/r/1573 ........ Merged revisions 344843 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 344845 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-11 21:57 +0000 [r344844] Matthew Jordan * /, main/file.c: Video format was treated as audio when removed from the file playback scheduler This patch fixes the format type check in ast_closestream and filestream_destructor. Previously a comparison operator was used, but since audio formats are no longer contiguous (and AST_FORMAT_AUDIO_MASK includes formats that have a value greater than the video formats), a bitwise AND operation is used instead. Duplicated code was also moved to filestream_close. (closes issue ASTERISK-18682) Reported by: Aldo Bedrij Tested by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1580/ ........ Merged revisions 344823 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 344842 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-11 21:37 +0000 [r344838-344840] Walter Doekes * /, channels/sip/reqresp_parser.c: Remove unneeded if(params) checks in reqresp_parser. Nick Lewis added them in https://reviewboard.asterisk.org/r/549/diff/1-2/ for no apparent reason. There is no way that params could become NULL in that piece of code, so I removed these excess checks again. ........ Merged revisions 344837 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 344839 from http://svn.asterisk.org/svn/asterisk/branches/10 * main/manager.c, /: Fix bad quoting of multiline mxml opaque_data that caused invalid xml. The opaque_data was added and enclosed in single quotes, assuming it would be only a single line. The rest of the lines were appended after the closing quote. (closes issue ASTERISK-18852) Reported by: peep_ on IRC Review: https://reviewboard.asterisk.org/r/1577 ........ Merged revisions 344835 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 344836 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-11 20:15 +0000 [r344771] Kinsey Moore * /, channels/chan_sip.c: Fix regression introduced by SDP fixups If capability is adjusted when switching to UDPTL during fax transmission, fax teardown fails. Make sure capability is only touched if RTP is active. This regression was introduced in R344385. ........ Merged revisions 344769 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 344770 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-11 18:37 +0000 [r344663-344717] Richard Mudgett * /, channels/chan_sip.c: Check sip.conf maxforwards parameter for range 1 <= x <= 255. JIRA AST-710 ........ Merged revisions 344715 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 344716 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, main/cli.c: Make CLI "core show channel" not hold the channel lock during console output. Holding the channel lock while the CLI "core show channel" command is executing can slow down the system. It could block the system if the console output is halted or paused. * Made capture the CLI "core show channel" output into a buffer to be output after the channel is unlocked. * Removed use of C++ keyword as a variable name. out renamed to obuf. * Checked allocation of obuf for failure so will not crash. (closes issue ASTERISK-18571) Reported by: Pavel Troller Tested by: rmudgett ........ Merged revisions 344661 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 344662 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-11 15:47 +0000 [r344610] Jonathan Rose * main/pbx.c, /: Fix a segmentation fault when using an extension with CID matching and no CID. Attempting to call an extension which used Caller ID matching with a channel that has an empty caller id string would result in a segmentation fault. (closes issue ASTERISK-18392 Reported By: Ales Zelenik ........ Merged revisions 344608 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 344609 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-10 23:21 +0000 [r344538-344560] Richard Mudgett * /, apps/app_macro.c: Fix app_macro.c MODULEINFO section termination. (closes issue ASTERISK-18848) Reported by: Tony Mountifield ........ Merged revisions 344557 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, apps/app_queue.c: Fix potential deadlock calling ast_call() with channel locks held. Fixed app_queue.c:ring_entry() calling ast_call() with the channel locks held. Chan_local attempts to do deadlock avoidance in its ast_call() callback and could deadlock if a channel lock is already held. ........ Merged revisions 344539 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 344540 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, apps/app_queue.c: Make AMI event AgentCalled get CallerID/ConnectedLine info from the incoming channel. It was strange that the AgentCalled AMI event would get most of its information from the incoming channel but then get the CallerID information from the outgoing channel. Before connected line support was added, this information was always the same at this point. (closes issue ASTERISK-18152) Reported by: Thomas Farnham Tested by: rmudgett ........ Merged revisions 344536 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 344537 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-10 21:56 +0000 [r344494] David Vossel * /, main/bridging.c: Merged revisions 344493 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r344493 | dvossel | 2011-11-10 15:54:42 -0600 (Thu, 10 Nov 2011) | 12 lines Fixes issue with ConfBridge participants hanging up during DTMF feature menu usage getting stuck in conference forever. When a conference user enters the DTMF menu they are suspended from the bridge while the channel is handed off to the DTMF feature code. If a user entered this state and hungup, there existed a race condition where the channel could not exit the conference because it was waiting on a signal that would never arrive. This patch fixes that, because it would stupid for me to talk about the problem and commit a patch for something else. (closes issue ASTERISK-18829) Reported by: zvision ........ 2011-11-10 21:15 +0000 [r344387-344441] Kinsey Moore * /, apps/app_meetme.c: Fix another incorrect case with meetme's PIN logic and add documentation This fixes an issue where a user of a dynamic conference was asked for a PIN twice. This also adds documentation to assist in future modifications to the piece of code responsible for PIN checking. (closes issue AST-670) ........ Merged revisions 344439 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 344440 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, channels/chan_sip.c, channels/sip/include/sip.h: Fix several bugs with SDP parsing and well-formedness of responses Fix bug ASTERISK-16558 which dealt with the order of responses to incoming streams defined by SDP. Fix unreported bug where offering multiple same-type streams would cause Asterisk to reply with an incorrect SDP response missing one or more streams without a proper declination. Fix bugs related to a single non-audio stream being offered with responses requesting codecs that were not offered in the initial invite along with an additional audio stream that was not in the initial invite. Review: https://reviewboard.asterisk.org/r/1516/ ........ Merged revisions 344385 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 344386 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-10 16:29 +0000 [r344335] Matthew Nicholson * res/res_rtp_asterisk.c, /: only attempt to do stun handling on ipv4 or ipv4 mapped to ipv6 addresses Patch by: jkonieczny (modified) ASTERISK-18490 ........ Merged revisions 344330 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 344334 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-09 20:55 +0000 [r344272] Richard Mudgett * /, channels/chan_sip.c: Fix deadlock during dialplan reload. Another deadlock between the conlock/hints and channels/channel locking orders. * Don't hold the channel and private lock in sip_new() when calling ast_exists_extension(). (closes issue ASTERISK-18740) Reported by: Byron Clark Patches: sip_exists_exten_dlock_3.diff (license #5041) patch uploaded by Gregory Hinton Nietsky ASTERISK-18740.patch (license #6157) patch uploaded by Byron Clark Tested by: Byron Clark ........ Merged revisions 344268 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 344271 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-09 20:10 +0000 [r344214-344217] Terry Wilson * /, channels/chan_sip.c, channels/sip/reqresp_parser.c, channels/sip/include/sip.h, channels/sip/include/reqresp_parser.h: Don't treat a host:port string as a domain The domain matching code prior to 1.8 used to manually remove the port from the host:port string when determining if an incoming request matched the list of domains. When switching to the new parsing functions, the documentation implied that the "domain" was being returned by these functions, when instead it was returning the "hostport" as defined by RFC 3261. This led to confusion and resulted in 1.8+ rejecting an incoming request from x.x.x.x:xxxxx when domain=x.x.x.x was set in sip.conf. This patch renames the "domain" variables in the parsing functions to "hostport" to more accurately describe what it is that they are returning and also properly truncates the resulting hostport strings when dealing with domain matching. Review: https://reviewboard.asterisk.org/r/1574/ ........ Merged revisions 344215 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 344216 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, tests/test_netsock2.c: Add a unit test for ast_sockaddr_split_hostport Review: https://reviewboard.asterisk.org/r/1575/ ........ Merged revisions 344157 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 344175 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-09 19:08 +0000 [r344161] Alexandr Anikin * addons/ooh323c/src/ooh323.c, /, addons/ooh323c/src/ooh245.c, addons/ooh323c/src/ooq931.h, addons/ooh323c/src/ootypes.h, addons/ooh323c/src/oochannels.c, addons/ooh323c/src/ooq931.c: Generate response to Status Enquiry message with Status q.931 message. Some PBXes require this for call status checking (closes issue ASTERISK-18748) Reported by: Fabrizio Lazzaretti Patches: ASTERISK-18748-5.patch (License #5415) patch uploaded by may213 Tested by: Fabrizio Lazzaretti ........ Merged revisions 344158 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 344159 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-09 17:15 +0000 [r344104] Kinsey Moore * /, apps/app_meetme.c: Fix pin parameter behavior regression in MeetMe The last time this code was touched (by me), a subtlety was missed based on the difference between needing to check a pin's validity and the need to prompt for a pin. (closes issue ASTERISK-18488) ........ Merged revisions 344102 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 344103 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-09 15:28 +0000 [r344050] Matthew Nicholson * /, formats/format_wav.c: don't call ltohl() twice on the same value ASTERISK-18739 Patch by: pawel (modified) ........ Merged revisions 344048 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 344049 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-08 22:14 +0000 [r344005] Richard Mudgett * /, channels/chan_sip.c: Residual changes for Asterisk v10 branch from ASTERISK-18747. Residual changes for Asterisk v10 branch from ASTERISK-18747 after https://reviewboard.asterisk.org/r/1564/ commit and associated dialogs callid hash key change fix. * Make check_rtp_timeout() return CMP_MATCH if need to delete dialog from dialogs_rtpcheck. This is an optimization to avoid an unneeded lock/unlock and object search when using ao2_unlink. * Prevent crash in check_rtp_timeout() if dialog->rtp is NULL. Review: https://reviewboard.asterisk.org/r/1557/ ........ Merged revisions 344004 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-08 19:29 +0000 [r343951] Walter Doekes * /, pbx/pbx_config.c: Fix crash when dialplan remove include is called with too few arguments. "dialplan remove include x from y" crashed when the amount of arguments was less than 6. (closes issue ASTERISK-18762) Reported by: Andrey Solovyev Tested by: Andrey Solovyev ........ Merged revisions 343936 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 343944 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-08 18:35 +0000 [r343905] David Vossel * /, channels/chan_sip.c: Merged revisions 343900 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r343900 | dvossel | 2011-11-08 12:29:33 -0600 (Tue, 08 Nov 2011) | 11 lines Fixes regression caused by r343635 There was a missing unlock for a function return that is only present in Asterisk 10 and Asterisk Trunk. (closes issue ASTERISK-18839) Reported by: Michael L. Young Patches: asterisk-18839-missing-lock-trunk-v2.diff (License #5026) patch uploaded by Michael L. Young ........ 2011-11-08 18:02 +0000 [r343853] Richard Mudgett * /, channels/chan_sip.c, main/acl.c: Fixed reference to incorrect variable if unknown host configured crash. * Fixed a LOG_ERROR message referencing the config variable list v that had previously been processed and became NULL. * Added error return value set that was missing in an ast_append_ha() error return path. (closes issue ASTERISK-18743) Reported by: Michele Patches: issueA18743-fix_dynamic_exclude_static_bad_host_log.patch (license #5674) patch uploaded by Walter Doekes Tested by: Michele ........ Merged revisions 343851 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 343852 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-08 13:23 +0000 [r343790] Leif Madsen * /, build_tools/prep_tarball: Fix boo-boo in prep_tarball script. A hardcoded a branch number was in the prep_tarball which could not work. Changed it to the variable. ........ Merged revisions 343789 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-07 22:37 +0000 [r343744] Kinsey Moore * /, channels/chan_sip.c: Make "sip show settings" CLI command get RPID flags from the right global page The "Trust RPID" and "Send RPID" entries in the "sip show settings" CLI command pulled the flags from the incorrect global flags page. These are now read from sip global flags page 0. (closes issue AST-711) ........ Merged revisions 343743 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-07 21:58 +0000 [r343693] Leif Madsen * configs/dundi.conf.sample, pbx/pbx_dundi.c, CHANGES: Allow built in variables to be used with dynamic weights. You can now use the built in variables , , and within a dynamic weight. For example, this could be useful when you want to pass requested lookup number to the SHELL() function which could be used to execute a script to dynamically set the weight of the result. (Closes issue ASTERISK-13657) Reported by: Joel Vandal Tested by: Leif Madsen, Russell Bryant Patches: asterisk-1.6-dundi-varhead.patch uploaded by Joel Vandal (License #5374) 2011-11-07 21:44 +0000 [r343692] Matthew Nicholson * /, channels/chan_sip.c: respect case changes in peer names on sip reload ASTERISK-18669 ........ Merged revisions 343690 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 343691 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-07 21:29 +0000 [r343684] Richard Mudgett * /, channels/chan_sip.c: Fix __sip_subscribe_mwi_do() incorectly changing dialogs hash key callid. Changing an object value used as a container key requires removing the object from the container and reinserting it. * Created change_callid_pvt() to call instead of build_callid_pvt(). The change_callid_pvt() will correctly change the dialog callid so the ao2 conainter can explicitly unlink it. ........ Merged revisions 343637 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 343677 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-07 20:35 +0000 [r343636] Kinsey Moore * /, channels/chan_sip.c: Prevent BLF subscriptions from causing deadlocks Fix a locking inversion in sip_send_mwi_to_peer that was causing deadlocks. This function now requires that both the peer and associated pvt be unlocked before it is called for cases where peer and peer->mwipvt form a circular reference. (closes issue ASTERISK-18663) Review: https://reviewboard.asterisk.org/r/1563/ ........ Merged revisions 343621 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 343635 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-07 19:58 +0000 [r343581] Walter Doekes * main/udptl.c, /, UPGRADE.txt: Correct the default udptl port range. The udptl port range was defined as 4000-4999 in the udptl.conf.sample, as 4500-4599 if you didn't have a config and 4500-4999 if your config was broken. Default is now 4000-4999. (closes issue ASTERISK-16250) Reviewed by: Tilghman Lesher Review: https://reviewboard.asterisk.org/r/1565 ........ Merged revisions 343580 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-07 19:54 +0000 [r343579] Richard Mudgett * /, channels/chan_sip.c: Fix deadlock if peer is destroyed while sending MWI notice. A dialog cannot be destroyed by the ao2_callback dialog_needdestroy because of a deadlock between the dialogs container lock and the RWLOCK of the events subscription list. * Create dialogs_to_destroy container to hold dialogs that will be destroyed. * Ensure that the event subscription callback will never happen with an invalid peer pointer by making the event callback removal the first thing in the peer destructor callback. NOTE: This particular deadlock will not happen with Asterisk 10, but some of the changes still apply. (closes issue ASTERISK-18747) Reported by: Gregory Hinton Nietsky Review: https://reviewboard.asterisk.org/r/1564/ ........ Merged revisions 343577 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 343578 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-07 18:42 +0000 [r343534] Matthew Nicholson * main/format.c, /: list all of the codecs associated with a particular format id for CLI command "core show codec" AST-699 ........ Merged revisions 343533 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-06 09:51 +0000 [r343492] Olle Johansson * main/tcptls.c, include/asterisk/tcptls.h: Formatting and doxygen improvements 2011-11-04 19:50 +0000 [r343448] Alexandr Anikin * addons/ooh323c/src/ooGkClient.c, addons/ooh323c/src/ooTimer.c, addons/ooh323c/src/dlist.c, /, addons/ooh323c/src/dlist.h, addons/ooh323c/src/printHandler.c, addons/ooh323c/src/ooq931.c: Final fix memleaks in GkClient codes, same for Timer codes. (these memleaks stop development of gk codes, now i can continue) Fix printHandler 'Unbalanced Structure' issues with locking printHandler data for single thread. ........ Merged revisions 343281 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 343445 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-03 20:37 +0000 [r343394] Walter Doekes * /, res/res_config_sqlite.c: Fix sqlite config driver segfault and broken queries The sqlite realtime handler assumed you had a static config configured as well. The realtime multientry handler assumed that you weren't using dynamic realtime. (closes issue ASTERISK-18354) (closes issue ASTERISK-18355) Review: https://reviewboard.asterisk.org/r/1561 ........ Merged revisions 343375 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 343393 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-03 19:57 +0000 [r343338] Richard Mudgett * /, funcs/func_dialgroup.c: Remove invalid flag given to iterator in func_dialgroup.c ........ Merged revisions 343336 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 343337 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-03 15:40 +0000 [r343222-343278] Terry Wilson * /, channels/sip/include/sip.h: Make room for the fax detect flags The original REGISTERTRYING flag, in addition to being impossible to check, also encroached on the space for the flag above it. This patch moves the flags that were below REGISTERTRYING back to where they were as though we had just removed the REGISTERTRYING option. ........ Merged revisions 343276 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 343277 from http://svn.asterisk.org/svn/asterisk/branches/10 * contrib/realtime/mysql/sippeers.sql, /, channels/chan_sip.c, channels/sip/include/sip.h: Remove registertrying option in chan_sip This option is not only useless, but has been broken since inception since the flag was never copied from the peer where it is set to the pvt where it was checked. RFC 3261 specificially states that you should not send a provisional response to a non-INVITE request, and if we did fix the code so that it worked, it would cause the same kind of user enumeration vulnerability that we've discussed with the nat= setting. This patch removes registertrying option and any code that would have sent a 100 response to a register. Review: https://reviewboard.asterisk.org/r/1562/ ........ Merged revisions 343220 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 343221 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-02 22:46 +0000 [r343163-343219] Walter Doekes * /, channels/chan_sip.c: Fix improper warning introduced by r342927 and more tweaks Changeset r342927 introduced a warning which was only supposed to be emitted when a found realtime peer had an empty (or no) name. It turned out that there were some inconsistencies left. Now found peers with an empty name are explicitly ignored like before r342927 but better. Reviewed by: Stefan Schmidts, Terry Wilson Review: https://reviewboard.asterisk.org/r/1560 ........ Merged revisions 343181 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 343192 from http://svn.asterisk.org/svn/asterisk/branches/10 * include/asterisk/utils.h, /, main/utils.c, include/asterisk/stringfields.h: Ensure that string field lengths are properly aligned Integers should always be aligned. For some platforms (ARM, SPARC) this is more important than for others. This changeset ensures that the string field string lengths are aligned on *all* platforms, not just on the SPARC for which there was a workaround. It also fixes that the length integer can be resized to 32 bits without problems if needed. (closes issue ASTERISK-17310) Reported by: radael, S Adrian Reviewed by: Tzafrir Cohen, Terry Wilson Tested by: S Adrian Review: https://reviewboard.asterisk.org/r/1549 ........ Merged revisions 343157 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 343158 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-02 19:33 +0000 [r343049-343104] Leif Madsen * apps/app_authenticate.c: Add note about how Authenticate() application with option 'd' works. (closes issue ASTERISK-17422) Reported by: Leif Madsen ........ Merged revisions 343102 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 343103 from http://svn.asterisk.org/svn/asterisk/branches/10 * configs/queues.conf.sample: Update documentation for leastrecent strategy. In queues.conf.sample the leastrecent strategy was incorrectly described. Now updated to reflect how the strategy actually checks peers. (closes issue ASTERISK-17854) Reported by: Sebastian Denz Patches: queues.conf-doc_issue.patch (License #6139) ........ Merged revisions 343047 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 343048 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-02 13:46 +0000 [r342992] Kevin P. Fleming * /, apps/app_meetme.c: Modify comments in MeetMe application documentation about DAHDI. The MeetMe application documentation has some comments about usage of DAHDI, and they were a bit outdated relative to modern DAHDI releases. This patch changes the comment to just tell the user that a functional DAHDI timing source is required, and no longer mention 'dahdi_dummy', since that module does not exist in current DAHDI releases. ........ Merged revisions 342990 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 342991 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-11-01 21:02 +0000 [r342871-342930] Walter Doekes * /, channels/chan_sip.c, configs/extconfig.conf.sample, include/asterisk/config.h, main/config.c: Several fixes to the chan_sip dynamic realtime peer/user lookup There were several problems with the dynamic realtime peer/user lookup code. The lookup logic had become rather hard to read due to lots of incremental changes to the realtime_peer function. And, during the addition of the sipregs functionality, several possibilities for memory leaks had been introduced. The insecure=port matching has always been broken for anyone using the sipregs family. And, related, the broken implementation forced those using sipregs to *still* have an ipaddr column on their sippeers table. Thanks Terry Wilson for comprehensive testing and finding and fixing unexpected behaviour from the multientry realtime call which caused the realtime_peer to have a completely unused code path. This changeset fixes the leaks, the lookup inconsistenties and that you won't need an ipaddr column on your sippeers table anymore (when you're using sipregs). Beware that when you're using sipregs, peers with insecure=port will now start matching! (closes issue ASTERISK-17792) (closes issue ASTERISK-18356) Reported by: marcelloceschia, Walter Doekes Reviewed by: Terry Wilson Review: https://reviewboard.asterisk.org/r/1395 ........ Merged revisions 342927 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 342929 from http://svn.asterisk.org/svn/asterisk/branches/10 * contrib/realtime/mysql/sippeers.sql (added), configs/res_config_mysql.conf.sample, /, configs/extconfig.conf.sample, configs/res_ldap.conf.sample, res/res_realtime.c, UPGRADE-1.8.txt, configs/dbsep.conf.sample, main/config.c, contrib/realtime/mysql/sipfriends.sql (removed): Cleanup references to sipusers and sipfriends dynamic realtime families Somewhere between 1.4 and 1.8 the sipusers family has become completely unused. Before that, the sipfriends family had been obsoleted in favor of separate sipusers and sippeers families. Apparently, they have been merged back again into a single family which is now called "sippeers". Reviewed by: irroot, oej, pabelanger Review: https://reviewboard.asterisk.org/r/1523 ........ Merged revisions 342869 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 342870 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-31 17:51 +0000 [r342825] Richard Mudgett * main/format.c, /, main/format_cap.c: Misc format capability fixes. * Fixed typo in format_cap.c:joint_copy_helper() using the wrong variable. * Fix potential race between checking if an interface exists and adding it to the container in format.c:ast_format_attr_reg_interface(). * Fixed double rwlock destroy in format.c:ast_format_attr_init() error exit path. * Simplified format.c:find_interface() and format.c:has_interface(). ........ Merged revisions 342824 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-31 16:10 +0000 [r342771] Matthew Jordan * main/pbx.c, /, channels/chan_iax2.c: Fixed invalid memory access when adding extension to pattern match tree When an extension is removed from a context, its entry in the pattern match tree is not deleted. Instead, the extension is marked as deleted. When an extension is removed and re-added, if that extension is also a prefix of another extension, several log messages would report an error and did not check whether or not the extension was deleted before accessing the memory. Additionally, if the extension was already in the tree but previously deleted, and the pattern was at the end of a match, the findonly flag was not honored and the extension would be erroneously undeleted. Additionaly, it was discovered that an IAX2 peer could be unregistered via the CLI, while at the same time it could be scheduled for unregistration by Asterisk. The unregistration method now checks to see if the peer was already unregistered before continuing with an unregistration. (closes issue ASTERISK-18135) Reported by: Jaco Kroon, Henry Fernandes, Kristijan Vrban Tested by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1526 ........ Merged revisions 342769 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 342770 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-30 02:31 +0000 [r342716] Terry Wilson * /, res/res_calendar.c: Don't crash on empty notify channel ........ Merged revisions 342715 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-29 04:41 +0000 [r342663-342664] Richard Mudgett * include/asterisk/linkedlists.h: Whitespace and some better macro variable names. * Renamed AST_LIST_TRAVERSE_SAFE_BEGIN __new_prev to __list_current. * Renamed AST_LIST_MOVE_CURRENT __list_cur to __extracted. * /, include/asterisk/linkedlists.h, tests/test_linkedlists.c: Fix AST_LIST_INSERT_BEFORE_CURRENT() updating the wrong variable. AST_LIST_INSERT_BEFORE_CURRENT() could not be used twice in an iteration or before AST_LIST_REMOVE_CURRENT() without corrupting the list. AST_LIST_INSERT_BEFORE_CURRENT() could also corrupt the list if AST_LIST_INSERT_BEFORE_CURRENT() or AST_LIST_REMOVE_CURRENT() is used on the next iteration. * Fixed cut and paste error using the wrong variable in AST_LIST_INSERT_BEFORE_CURRENT(). * Added linked list unit tests for AST_LIST_INSERT_BEFORE_CURRENT(), AST_LIST_APPEND_LIST(), and AST_LIST_INSERT_LIST_AFTER(). ........ Merged revisions 342661 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 342662 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-27 20:11 +0000 [r342606] Matthew Nicholson * /, main/dsp.c: tweak the v21 detector to detect an additional pattern of hits and misses ........ Merged revisions 342605 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-27 19:48 +0000 [r342557-342604] Jonathan Rose * res/res_rtp_multicast.c, /: Fix sequence number overflow over 16 bits causing codec change in RTP packets. Sequence number was handled as an unsigned integer (usually 32 bits I think, more depending on the architecture) and was put into the rtp packet which is basically just a bunch of bits using an or operation. Sequence number only has 16 bits allocated to it in an RTP packet anyway, so it would add to the next field which just happened to be the codec. This makes sure the sequence number is set to be a 16 bit integer regardless of architecture (hopefully) and also makes it so the incrementing of the sequence number does bitwise or at the peak of a 16 bit number so that the value will be set back to 0 when going beyond 65535 anyway. (closes issue ASTERISK-18291) Reported by: Will Schick Review: https://reviewboard.asterisk.org/r/1542/ ........ Merged revisions 342602 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 342603 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, res/res_jabber.c: Cleanup reference leaks in res_jabber res_jabber.c had a number of places where astobjs would be referenced and have their reference counts bumped without having a dereference made before the object lost scope. This patch adds a number of ASTOBJ_UNREFs to resolve that. Review: https://reviewboard.asterisk.org/r/1478/ ........ Merged revisions 342545 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 342546 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-25 22:06 +0000 [r342486-342489] Richard Mudgett * /, main/astobj2.c: Check fopen return value for ao2 reference debug output. Reported by: wdoekes Patched by: wdoekes Review: https://reviewboard.asterisk.org/r/1539/ ........ Merged revisions 342487 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 342488 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, channels/sig_pri.c: Change D-channel warning to be less confusing on non-NFAS setups. The "No D-channels available! Using Primary channel as D-channel anyway!" WARNING message has been confusing on non-NFAS setups. The message refers to things that are NFAS specific. * Changed the warning to several different warnings to be more accurate for the situation and less confusing as a result: "No D-channels up! Switching selected D-channel from X to Y.", "No D-channels up!", and "D-channel is down!". ........ Merged revisions 342484 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 342485 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-25 21:11 +0000 [r342382-342437] Terry Wilson * /, apps/app_queue.c: Use int for storing ao2_container_count instad of size_t AST-676 ........ Merged revisions 342435 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 342436 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, apps/app_queue.c: Simplify queue membercount code Despite an ominous sounding comment stating that membercount was for "logged in" members only and thus we couldn't use ao2_container_count(), I could not find a single place in the code where that seemed to be accurate. The only time we decremented membercount was when we were marking something dead or actually removing it. The only places we incremented it were either after ao2_link(), or trying to correct for having set it to 0 during a reload. In every case where we were correcting the value, it seemed that we were trying to make the count actually match what ao2_container_count() would return. The only place I could find where we made a determination about something being "logged in" or not, we didn't trust the membercount, but instead looked at devicestate, paused, etc. This patch removes membercount, replaces its use with ao2_container_count, and manually adds the results of ao2_container_count to a "membercount" field for ast_data queue query results. This patch also would fix AST-676, but as it is slightly riskier than the previously committed fix, the two commits have been made separately. Reivew: https://reviewboard.asterisk.org/r/1541/ ........ Merged revisions 342383 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 342384 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, apps/app_queue.c: Properly update membercount for reloaded members Since q->membercount is set to 0 before reloading, it is important to increment it again for reloaded members as well as added. (closes issue AST-676) Review: https://reviewboard.asterisk.org/r/1541/ ........ Merged revisions 342380 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 342381 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-25 19:09 +0000 [r342278-342330] Kinsey Moore * pbx/pbx_spool.c, /: Fix compilation on Snow Leopard/FreeBSD for pbx_spool.c One of the changes in the recent spool handling of hardlinks patch was just outside a HAVE_INOTIFY block and caused compilation to fail in some build environments. This has been corrected. ........ Merged revisions 342328 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 342329 from http://svn.asterisk.org/svn/asterisk/branches/10 * pbx/pbx_spool.c, /: Merged revisions 342277 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r342277 | kmoore | 2011-10-25 11:08:04 -0500 (Tue, 25 Oct 2011) | 25 lines Merged revisions 342276 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r342276 | kmoore | 2011-10-25 11:06:57 -0500 (Tue, 25 Oct 2011) | 18 lines Fix spool handling to allow call files to be hardlinked into place This fixes the inotify code to handle call files being hardlinked into the spool directory. The smsq utility does this, instead of rename(), to ensure that it cannot accidentally overwrite an existing spool file. A rename() might do that, but link() will definitely not. The inotify code had broken this, because it would wait for an IN_CLOSE_WRITE event on the file... which was never forthcoming, since it was never opened. Now we look for IN_OPEN events following the IN_CREATE event, and only wait for an IN_CLOSE_WRITE if the file was actually opened. Patch-by: dwmw2 (closes issue ASTERISK-18331) Review: https://reviewboard.asterisk.org/r/1391/ ........ ................ 2011-10-25 01:29 +0000 [r342225] Terry Wilson * /, include/asterisk/config.h, main/config.c: Return NULL when no results returned for realtime_multientry It was not documented what the return value should be when no entries were returned with the multientry realtime callback. This change forces consistent behavior even if the backends return an empty ast_config. Review: https://reviewboard.asterisk.org/r/1521/ ........ Merged revisions 342223 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 342224 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-24 22:37 +0000 [r342184] Richard Mudgett * /, include/asterisk/astobj2.h: Fix ao2obj.h comment typos and add missing link/unlink nolock debug defines. ........ Merged revisions 342183 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-24 22:09 +0000 [r342148] Jonathan Rose * main/features.c: Fixes a segfault caused by referencing null frames introduced in r338623 2011-10-24 21:01 +0000 [r342112] Richard Mudgett * apps/app_queue.c: Fix use of OBJ_KEY in Queue application. To use the new OBJ_KEY flag, the container hash and compare callback functions must be updated to support OBJ_KEY. Otherwise, bad things happen. (issue ASTERISK-14769) 2011-10-24 20:01 +0000 [r342063] Jonathan Rose * /, channels/chan_sip.c: Outbound SIP OPTIONS messages will now include fromuser of related peer. This behavior matches up more closely with the way invite/register/etc are handled. This patch also modifies some adjacent code for code style compliance. Pretty minor. (closes issue ASTERISK-17616) Reported by: Jeremy Kister Patches: chan_sip.c-options-fromuser-fix-v1.patch uploaded by Jeremy Kister (license #6232) ........ Merged revisions 342061 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 342062 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-24 07:40 +0000 [r341923-342018] Gregory Nietsky * /, apps/app_queue.c: queues container needs locking when using the OBJ_NOLOCK flag ........ Merged revisions 342017 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, apps/app_queue.c: Remove some ref leaks and a return without unlock. There some resource leaks introduced in asterisk 10 make sure that locks are not held on return and we release ref's held. ........ Merged revisions 341972 from http://svn.asterisk.org/svn/asterisk/branches/10 * apps/app_queue.c: Whitespace Fixups / Add Braces This janitorial patch is related to work on RB1538 2011-10-22 12:03 +0000 [r341869] Alexandr Anikin * addons/chan_ooh323.c, /: Merged revisions 341313 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r341313 | may | 2011-10-19 03:33:49 +0400 (Wed, 19 Oct 2011) | 10 lines Merged revisions 341312 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r341312 | may | 2011-10-19 03:20:53 +0400 (Wed, 19 Oct 2011) | 3 lines fix issue on channel numbering (calls could have same channel number on heavy loaded system) ........ ................ 2011-10-21 16:42 +0000 [r341808-341811] Matthew Nicholson * /, pbx/pbx_lua.c: only process args that exist ASTERISK-18395 ........ Merged revisions 341809 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 341810 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, pbx/pbx_lua.c: don't limit the length of app and function arguments ASTERISK-18395 ........ Merged revisions 341806 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 341807 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-21 09:16 +0000 [r341769] Gregory Nietsky * res/res_fax.c: White space fixes in res_fax 2011-10-20 22:03 +0000 [r341719] Richard Mudgett * /, main/features.c, res/res_agi.c, include/asterisk/features.h: Fix AGI exec Park to honor the Park application parameters. The fix for ASTERISK-12715 and ASTERISK-12685 added a check for the Park application because the channel needed to be masqueraded to prevent a crash. Since the Park application now always masquerades the channel into the parking lot, the special check is no longer needed. The fix also resulted in AGI exec Park attempting to double park the call and not honor the Park application parameters. * Removed no longer necessary call to ast_masq_park_call() by AGI exec for the Park application. (Reverts -r146923) * Fix Park application to only return 0 or -1. The AGI exec Park was causing broken pipe error messages because the Park application returned 1 on successful park. (closes issue ASTERISK-18737) ........ Merged revisions 341717 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 341718 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-20 21:28 +0000 [r341666-341713] Paul Belanger * /, funcs/func_callerid.c: Fixed typo from previous commit ........ Merged revisions 341704 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 341707 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, funcs/func_callerid.c: Updated documentation for the optional CID parameter with CALLERID ........ Merged revisions 341664 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 341665 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-20 18:27 +0000 [r341583-341624] Gregory Nietsky * /, configs/queues.conf.sample: Merged revisions 341599 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r341599 | irroot | 2011-10-20 20:20:08 +0200 (Thu, 20 Oct 2011) | 8 lines add documentation for check_state_unknown in configs/queues.conf.sample app_queue allows calls to members in a "Unknown" state to be treated as available setting check_state_unknown = yes will cause app_queue to query the channel driver to better determine the state this only applies to queues with ringinuse or ignorebusy set appropriately. ........ * /, CHANGES, apps/app_queue.c: Merged revisions 341580 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r341580 | irroot | 2011-10-20 19:13:23 +0200 (Thu, 20 Oct 2011) | 15 lines Add option to check state when state is unknown r341486 reverts r325483 this is a rework of the patch. optimize to minimize load. add option check_state_unknown to control whether a member with unknown device state is checked there is a small % chance that calls will be sent to the member when they on a call. app_queue will see a device with unknown state as available and does not try verify the state without this option enabled. Review: https://reviewboard.asterisk.org/r/1535/ ........ 2011-10-20 15:17 +0000 [r341533] Terry Wilson * /, include/asterisk/strings.h: Clean up ast_check_digits The code was originally copied from the is_int() function in the AEL code. wdoekes pointed out that the function should take a const char* and that their was an unneeded variable. This is now fixed. ........ Merged revisions 341529 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 341530 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-19 21:24 +0000 [r341487] Matthew Nicholson * /, apps/app_queue.c: Merged revisions 341486 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r341486 | mnicholson | 2011-10-19 16:23:17 -0500 (Wed, 19 Oct 2011) | 18 lines Fix a performance regression introduced in r325483. The regression was caused by a call to ast_parse_device_state() in app_queue's ring_entry() function. The ast_parse_device_state() function eventually calls ast_channel_get_full() with a channel name prefix which causes it to walk the channel list causing massive lock contention and slow downs. This patch fixes the regression by removing the call to ast_parase_device_state() which should be unnecessary. Queue member device state should be maintained by device state events. Some users have seen instances where busy agents were called when they shouldn't have, which is the reason the call to ast_parse_device_state() was added. That change appears to have resolved that issue but also causes this performance regression. There may still be issues with queue member status, and if so, alternative methods should be investigated to resolve them. AST-695 ........ 2011-10-19 19:02 +0000 [r341437] Paul Belanger * /, channels/chan_gtalk.c: Outgoing calls with Google Voice Google has recently make some changes (again) to their protocol. Rather then patching asterisk to flip between the two different methods, we now allow both. Lets hope this keeps Google Voice happy for a while. (closes issue ASTERISK-18714) Reported by: Iordan Iordanov Patches: chan_gtalk.patch uploaded by Iordan Iordanov (licenses 6311) ........ Merged revisions 341435 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 341436 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-19 07:45 +0000 [r341381] Terry Wilson * /, channels/chan_sip.c, include/asterisk/strings.h: Don't use is_int() since it doesn't link well on all platforms Just create an normal API function in strings.h that does the same thing just to be safe. ASTERISK-17146 ........ Merged revisions 341379 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 341380 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-19 07:27 +0000 [r341378] Stefan Schmidt * /, channels/chan_sip.c: Don't sent in-dialog requests like UPDATE when Asterisk has not yet received a Contact URI from a UAS ........ Merged revisions 341366 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 341377 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-18 23:45 +0000 [r341316] Terry Wilson * /, channels/chan_sip.c: Don't resolve numeric hosts or contact unresolved hosts If a SIP dial string contains a numeric hostname that is not a peer name, don't try to resolve it as it is unlikely that someone really means Dial(SIP/0.0.4.26) when Dial(SIP/1050) is called. Also, make sure that create_addr returns -1 if an address isn't resolved so that we don't attempt to send SIP requests to an address that doesn't resolve. (closes issue ASTERISK-17146, ASTERISK-17716) Review: https://reviewboard.asterisk.org/r/1532/ ........ Merged revisions 341314 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 341315 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-18 21:15 +0000 [r341256] Richard Mudgett * channels/chan_dahdi.c, channels/sig_analog.c, /, channels/chan_sip.c, main/features.c, channels/chan_iax2.c, channels/sip/include/sip.h, channels/chan_mgcp.c, include/asterisk/features.h: More parking issues. * Fix potential deadlocks in SIP and IAX blind transfer to parking. * Fix SIP, IAX, DAHDI analog, and MGCP channel drivers to respect the parkext_exclusive option with transfers (Park(,,,,,exclusive_lot) parameter). Created ast_park_call_exten() and ast_masq_park_call_exten() to maintian API compatibility. * Made masq_park_call() handle a failed ast_channel_masquerade() setup. * Reduced excessive struct parkeduser.peername[] size. ........ Merged revisions 341254 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 341255 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-17 17:58 +0000 [r341198] Tzafrir Cohen * /, pbx/pbx_realtime.c: Remove an unused include of md5.h Unused include of asterisk/md5.h in pbx_realtime.c . A commit needed to test the commit message. Merged-From: http://svn.asterisk.org/svn/asterisk/branches/1.8@341074 Merged-From: http://svn.asterisk.org/svn/asterisk/branches/10@341148 2011-10-17 17:38 +0000 [r341191] Terry Wilson * /, channels/chan_sip.c: Initialize variables before calling parse_uri If parse_uri was called with an empty URI, some pointers would be modified and an invalid read could result. This patch avoids calling parse_uri with an empty contact uri when parsing REGISTER requests. AST-2011-012 (closes issue ASTERISK-18668) ........ Merged revisions 341189 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 341190 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-17 16:39 +0000 [r341126-341147] Paul Belanger * /, tests/test_format_api.c: Set 'core' support level for test_format_api.c ........ Merged revisions 341146 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, apps/app_voicemail.c: Multiple revisions 341108,341112 ........ r341108 | pabelanger | 2011-10-17 12:22:19 -0400 (Mon, 17 Oct 2011) | 2 lines Voicemail compiler flags are 'core' support ........ r341112 | pabelanger | 2011-10-17 12:23:33 -0400 (Mon, 17 Oct 2011) | 2 lines Fix previous commit ........ Merged revisions 341108,341112 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 341122 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-17 16:18 +0000 [r341096] Jason Parker * /, CHANGES: Add information about limitations of new codec support in channel drivers. (issue ASTERISK-18680) ........ Merged revisions 341094 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-17 15:45 +0000 [r341090] Terry Wilson * /, channels/chan_sip.c: Don't try to remove peers without IPs from peers_by_ip (closes issue ASTERISK-18696) ........ Merged revisions 341088 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 341089 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-14 21:37 +0000 [r341024] Kevin P. Fleming * /, build_tools/embed_modules.xml, Makefile.moddir_rules: Change the internal name of the menuselect options that are used to control whether modules are embedded or not; using just the bare category name led to accidentally enabling these options when users used the wrong "--enable" operation on the menuselect command line. Now the internal option names are prefixed with "EMBED_", so they won't be the same as the name of the category containing the modules they control the embedding of. ........ Merged revisions 341022 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 341023 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-14 21:15 +0000 [r340973] Damien Wedhorn * channels/chan_skinny.c: Fix simple switch to not progress a call when call already progressed. If a simple switch was started on a device and then a specific call made (such as redial or speed dial), on timeout of the simple switch the call would be attempted again. This patch only allows the simple switch to make a call if the substate is still in the collecting digits mode. Also added small debug message to dialAndAactivate sub. Tested by snuff and myself. 2011-10-14 20:51 +0000 [r340972] Kinsey Moore * res/res_rtp_asterisk.c, /, channels/chan_sip.c: Merged revisions 340971 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r340971 | kmoore | 2011-10-14 15:50:37 -0500 (Fri, 14 Oct 2011) | 15 lines Merged revisions 340970 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r340970 | kmoore | 2011-10-14 15:49:39 -0500 (Fri, 14 Oct 2011) | 8 lines Quiet RTCP Receiver Reports during fax transmission RTCP is now disabled for "inactive" RTP audio streams during SIP T.38 sessions. The ability to disable RTCP streams in res_rtp_asterisk was missing, so this code was added to support the bug fix. (closes issue ASTERISK-18400) ........ ................ 2011-10-14 18:38 +0000 [r340932] Jonathan Rose * utils/utils.xml, /, funcs/func_jitterbuffer.c: Some additional module documentation changes for 10 for the menuselect change. (issue ASTERISK-18268) ........ Merged revisions 340931 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-14 16:45 +0000 [r340880] Terry Wilson * main/channel.c, /: Avoid unnecessary WARNING message Add AST_CONTROL_UPDATE_RTP_PEER frame to be ignored here to avoid displaying a WARNING message. (closes issue ASTERISK-18610) Patch by: Kristijan_Vrban ........ Merged revisions 340878 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 340879 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-13 23:08 +0000 [r340811-340813] Richard Mudgett * /, main/features.c: Fix DTMF blind transfer continuing to execute dialplan after transfer. Party A calls Party B. Party A DTMF blind transfers Party B to Party C. Party A channel continues to execute dialplan. * Fixed the return value of builtin_blindtransfer() to return the correct value after a transfer so the dialplan will not keep executing. * Removed unnecessary connected line update that did not really do anything. * Made access to GOTO_ON_BLINDXFR thread safe in check_goto_on_transfer(). * Fixed leak of xferchan for failure cases in check_goto_on_transfer(). * Updated debug messages in builtin_blindtransfer() and check_goto_on_transfer(). (closes issue ASTERISK-18275) Reported by: rmudgett Tested by: rmudgett ........ Merged revisions 340809 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 340810 from http://svn.asterisk.org/svn/asterisk/branches/10 * /: Update 10 merged property. * /: Restore branch 10 merge properties. 2011-10-13 08:53 +0000 [r340771] Gregory Nietsky * /: Merged revisions 339463 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r339463 | irroot | 2011-10-05 08:28:46 +0200 (Wed, 05 Oct 2011) | 9 lines Only change the capabilities on the gateway when the session is been destroyed there is still a race condition that ends in a segfault. if the caps are changed the logic in res_fax_spandsp will run T30 code not gateway code to end the session. this has been experienced on a "slower" under spec system. ........ 2011-10-13 07:05 +0000 [r340720] Stefan Schmidt * channels/chan_sip.c: Merged revisions 340718 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r340718 | schmidts | 2011-10-13 06:59:50 +0000 (Thu, 13 Oct 2011) | 9 lines Merged revisions 340717 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r340717 | schmidts | 2011-10-13 06:58:00 +0000 (Thu, 13 Oct 2011) | 3 lines storing the route-set also on a 181 response not only on 180,182 or 183. ........ ................ 2011-10-13 07:02 +0000 [r340665-340719] Terry Wilson * /, channels/chan_sip.c: Initialize ast_sockaddr before calling ast_sockaddr_resolve Avoid possible jump based on unitialized value ........ Merged revisions 340715 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 340716 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, res/res_config_sqlite.c: Don't skip the query field on a realtime multi query There is no documented reason to not add the query field to the varlist returned by a realtime multi query, despite the config category being set to its value. Of course, there is no documentation that the category should be set to the value either. There is lots of no documentation when it comes to realtime. But, other engines do not skip this field so I am forcing this backend to follow the convention, because not doing so is very silly. ........ Merged revisions 340662 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 340663 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-12 21:28 +0000 [r340626] Stefan Schmidt * channels/chan_sip.c: Merged revisions 340577 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r340577 | schmidts | 2011-10-12 20:33:37 +0000 (Mit, 12 Okt 2011) | 9 lines Merged revisions 340576 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r340576 | schmidts | 2011-10-12 20:30:37 +0000 (Mit, 12 Okt 2011) | 3 lines Store route-set from provisional SIP responses so early-dialog requests can be routed properly ........ ................ 2011-10-12 21:02 +0000 [r340579] Terry Wilson * /, channels/chan_sip.c: Merged revisions 340578 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r340578 | twilson | 2011-10-12 13:57:19 -0700 (Wed, 12 Oct 2011) | 16 lines Merged revisions 340534 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r340534 | twilson | 2011-10-12 13:19:36 -0700 (Wed, 12 Oct 2011) | 9 lines Update SIP realtime fullcontact regardless of caching We should update the fullcontact field in the realtime table whether or not rtcachefriends is set. There is no reason to treat a non-cached realtime entity differently than a cached in this regard. (closes issue ASTERISK-18446) Reported by: wdoekes ........ ................ 2011-10-12 20:09 +0000 [r340472-340524] Richard Mudgett * channels/chan_dahdi.c, /: Initialize the PRI channel alarms properly on startup. The PRI channel alarms were initialized with an inverted sense. (closes issue ASTERISK-18710) Reported by: Tzafrir Cohen ........ Merged revisions 340522 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 340523 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, apps/app_meetme.c: Update MeetMe p and X option documentation when interacting with the s option. ASTERISK-12175 changed the p and X options to not interfere with the s option when they are used together. It makes more sense for the s option to have priority for the DTMF '*' key since it cannot change its activation code. Otherwise, you could not use option s with the p or X options. JIRA AST-671 ........ Merged revisions 340470 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 340471 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-12 16:29 +0000 [r340420] Paul Belanger * /, channels/chan_sip.c: Fix verbose messages when IPv6 logic was added (closes issue ASTERISK-18612) Reported by: Tim Osman ........ Merged revisions 340418 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 340419 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-11 21:06 +0000 [r340318-340367] Richard Mudgett * channels/chan_dahdi.c, channels/sig_ss7.h, /, channels/sig_ss7.c: Add protection for SS7 channel allocation and better glare handling. * Added a CLI "ss7 show channels" command that might prove useful for future debugging. * Made the incoming SS7 channel event check and gripe message uniform. * Made sure that the DNID string for an incoming call is always initialized. (issue ASTERISK-17966) Reported by: Kenneth Van Velthoven Patches: jira_asterisk_17966_v1.8_glare.patch (license #5621) patch uploaded by rmudgett ........ Merged revisions 340365 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 340366 from http://svn.asterisk.org/svn/asterisk/branches/10 * channels/sip/include/dialog.h, /, channels/chan_sip.c: Fix some potential deadlocks pointed out by helgrind. * Fixed deadlock potential calling dialog_unlink_all() in __sip_autodestruct(). Found by helgrind. * Fixed deadlock potential in handle_request_invite() after calling sip_new(). Found by helgrind. * The sip_new() function now returns with the created channel already locked. * Removed the dead code that starts a PBX in in sip_new(). No sip_new() callers caused that code to be executed and it was a bad thing to do anyway. * Removed unused parameters and return value from dialog_unlink_all(). * Made dialog_unlink_all() and __sip_autodestruct() safely obtain the owner and private channel locks without a deadlock avoidance loop. ........ Merged revisions 340284 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 340310 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-11 19:06 +0000 [r340283] Tzafrir Cohen * main/channel.c, /, main/sha1.c, include/asterisk/sha1.h: Update SHA1 code to RFC 6234 RFC 6234 is an update to RFC 3174 from which the code was originally taken. It has a slightly better code, and a better phrased license (simple 3-clause BSD). * main/sha1.c is sha1.c from RFC 6234 with formatting changes only. * include/asterisk/sha1.h merges sha.h and sha-private.h from RFC 6234. * Removed unused include of asterisk/sha1.h from main/channels.c Review: https://reviewboard.asterisk.org/r/1503/ Merge-From: http://svn.asterisk.org/svn/asterisk/branches/1.8@340263 Merge-From: http://svn.asterisk.org/svn/asterisk/branches/10@340280 2011-10-11 18:57 +0000 [r340282] Richard Mudgett * main/manager.c, /, include/asterisk/manager.h: Convert registered AMI actions to ao2 objects. * Fixed race between calling an AMI action callback and unregistering that action. Refixes ASTERISK-13784 broken by ASTERISK-17785 change. * Fixed potential memory leak if an AMI action failed to get registered because is already was registered. Part of the ao2 conversion. * Fixed AMI ListCommands action not walking the actions list with a lock held. * Fix usage of ast_strdupa() and alloca() in loops. Excess stack usage. * Fix AMI Originate action Variable header requiring a space after the header colon. Reported by Yaroslav Panych on the asterisk-dev list. * Increased the number of listed variables allowed per AMI Originate action Variable header to 64. * Fixed AMI GetConfigJSON action output format. * Fixed usage of res contents outside of scope in append_channel_vars(). * Fixed inconsistency of config file channelvars option. The values no longer accumulate with every channelvars option in the config file. Only the last value is kept to be consistent with the CLI "manager show settings" command. (closes issue ASTERISK-18479) Reported by: Jaco Kroon ........ Merged revisions 340279 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 340281 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-10-10 23:10 +0000 [r340221-340224] Terry Wilson * UPGRADE.txt, main/db.c: Return error when no rows are deleted for AMI DBDelTree (closes issue AST-654) * /, main/db.c: Merged revisions 340222 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r340222 | twilson | 2011-10-10 15:55:39 -0700 (Mon, 10 Oct 2011) | 8 lines On astdb conversion, also warn about permissions requirements The user running Asterisk must have permission to the directory the Asterisk database resides in since SQLite 3 needs to be able to create a journal file. (closes issue ASTERISK-18174) ........ * utils/Makefile, utils/utils.xml, /, UPGRADE.txt, utils/astdb2bdb.c (added): Merged revisions 340219-340220 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r340219 | twilson | 2011-10-10 15:38:06 -0700 (Mon, 10 Oct 2011) | 8 lines Add astdb conversion utility for Berkeley to SQLite 3 If someone wants to backtrack from Asterisk 1.8 to 10 they can use the astdb2bdb utility to convert the database back to the Berkeley format that Asterisk 1.8 uses. Review: https://reviewboard.asterisk.org/r/1502/ ........ r340220 | twilson | 2011-10-10 15:39:41 -0700 (Mon, 10 Oct 2011) | 2 lines Add a missing file for the astdb2bdb conversion utility ........ 2011-10-10 20:39 +0000 [r340166] Matthew Jordan * /, channels/chan_sip.c: Merged revisions 340165 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r340165 | mjordan | 2011-10-10 15:30:18 -0500 (Mon, 10 Oct 2011) | 20 lines Merged revisions 340164 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r340164 | mjordan | 2011-10-10 15:23:48 -0500 (Mon, 10 Oct 2011) | 13 lines Updated chan_sip to place calls on hold if SDP address in INVITE is ANY This patch fixes the case where an INVITE is received with c=0.0.0.0 or ::. In this case, the call should be placed on hold. Previously, we checked for the address being null; this patch keeps that behavior but also checks for the ANY IP addresses. Review: https://reviewboard.asterisk.org/r/1504/ (closes issue ASTERISK-18086) Reported by: James Bottomley Tested by: Matt Jordan ........ ................ 2011-10-10 14:16 +0000 [r340110] Matthew Nicholson * main/pbx.c, main/manager.c, /, res/res_fax.c, apps/app_fax.c, include/asterisk/module.h, res/res_agi.c, include/asterisk/xmldoc.h, doc/appdocsxml.dtd, main/loader.c, main/xmldoc.c: Merged revisions 340109 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r340109 | mnicholson | 2011-10-10 09:15:41 -0500 (Mon, 10 Oct 2011) | 18 lines Merged revisions 340108 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r340108 | mnicholson | 2011-10-10 09:14:48 -0500 (Mon, 10 Oct 2011) | 11 lines Load the proper XML documentation when multiple modules document the same application. This patch adds an optional "module" attribute to the XML documentation spec that allows the documentation processor to match apps with identical names from different modules to their documentation. This patch also fixes a number of bugs with the documentation processor and should make it a little more efficient. Support for multiple languages has also been properly implemented. ASTERISK-18130 Review: https://reviewboard.asterisk.org/r/1485/ ........ ................ 2011-10-10 00:57 +0000 [r339993-340071] Damien Wedhorn * channels/chan_skinny.c: Add skinny version 17 protocol support. Added some data to skinny packet structures to make compatible with v17. Added protocolversion to device, set on registration based on the version provided by device. v17 includes some increased ip space for ip6. This patch increases ip space in the packets but still only uses ip4. Some packet structures duplicated (ip4 and ip6 types). ip4 type used unless version is greater or equal to 17. Tested by snuff and myself on 7961 with recent 8.5 firmware. Also tested compatible with old 7960 and older 30VIPs. * channels/chan_skinny.c: Increase SKINNY_MAX_PACKET and add some logging. Increase SKINNY_MAX_PACKET to 2000 bytes to handle some messages in v17 that are greater than the old 1000 bytes. Also add some useful logging regarding packet and session handling. A device (with protocol v17) was sending a packet with length greater than 1000 which resulted in the TCP session being destroyed and registration being retryed. * /, channels/chan_skinny.c: Merged revisions 340031 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r340031 | wedhorn | 2011-10-10 09:18:27 +1100 (Mon, 10 Oct 2011) | 8 lines Return -1 to skinny_session if register rejected. If device registration is rejected, return -1 so that the session is destroyed immediately. Previously, a segfault would occur on a graceful shutdown if a register is rejected and the skinny_session has not yet timed out. ........ * /, channels/chan_skinny.c: Merged revisions 339992 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r339992 | wedhorn | 2011-10-10 08:09:12 +1100 (Mon, 10 Oct 2011) | 9 lines Remove log message on traverse session list. On destroying a session, a list of sessions is traversed to find the matching session. For each session not matching, skinny erroneously logged that the session was not matched. While technically correct the message was misleading, and tended to indicate errors that were not there. ........ 2011-10-09 01:19 +0000 [r339832-339947] Igor Goncharovskiy * channels/chan_unistim.c, /: Merged revisions 339942 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r339942 | igorg | 2011-10-09 08:18:02 +0700 (Вск, 09 Окт 2011) | 12 lines Merged revisions 339938 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r339938 | igorg | 2011-10-09 08:16:09 +0700 (Вск, 09 Окт 2011) | 6 lines Fix compilation issue, caused by missed session structure (closes issue ASTERISK-18694) Reported by: alex70 ........ ................ * channels/chan_unistim.c, /: Merged revisions 339885 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r339885 | igorg | 2011-10-08 22:46:27 +0700 (Сбт, 08 Окт 2011) | 13 lines Merged revisions 339884 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r339884 | igorg | 2011-10-08 22:45:20 +0700 (Сбт, 08 Окт 2011) | 7 lines Fix segfault in Unistim channel (closes issue ASTERISK-18638) Reported by: jonnt ........ ................ * channels/chan_unistim.c, /: Merged revisions 339831 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r339831 | igorg | 2011-10-08 22:01:35 +0700 (Сбт, 08 Окт 2011) | 14 lines Merged revisions 339830 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r339830 | igorg | 2011-10-08 21:56:35 +0700 (Сбт, 08 Окт 2011) | 8 lines Fix char array cast as short array in send_client() function (for ARM platform) (closes issue ASTERISK-17314) Reported by: jjoshua ........ ................ 2011-10-07 19:37 +0000 [r339721-339778] Richard Mudgett * /, apps/app_url.c: Merged revisions 339777 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r339777 | rmudgett | 2011-10-07 14:36:24 -0500 (Fri, 07 Oct 2011) | 12 lines Merged revisions 339776 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r339776 | rmudgett | 2011-10-07 14:34:55 -0500 (Fri, 07 Oct 2011) | 5 lines Initialize option flags for SendURL application. (closes issue ASTERISK-18574) Reported by: marcelloceschia ........ ................ * /: Recorded merge of revisions 339681 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r339681 | wedhorn | 2011-10-06 15:47:08 -0500 (Thu, 06 Oct 2011) | 10 lines Fixed segfault on core stop gracefully. There was an issue that the cap and confcap pointers for each line and device were being memcpy'd so they all pointed to the same ast_format_cap. On destroying, a segfault occured on the second call to the same struct. skinny reload now works again as well. Tested by snuff (in trunk) and myself. ........ * /, configure, include/asterisk/autoconfig.h.in, configure.ac, autoconf/ast_ext_lib.m4: Merged revisions 339720 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r339720 | rmudgett | 2011-10-06 17:58:40 -0500 (Thu, 06 Oct 2011) | 27 lines Merged revisions 339719 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r339719 | rmudgett | 2011-10-06 17:47:50 -0500 (Thu, 06 Oct 2011) | 20 lines Fix regression in configure script for libpri capability checks. JIRA AST-598 added the PRI_L2_PERSISTENCE option to fix BRI PTMP TE layer 2 persistence issues with some telcos. ASTERISK-18535 attempted to fix the unexpected requirement that libpri *must* have that feature to work with Asterisk. The AST_EXT_LIB_SETUP_DEPENDENT lines made the PRI optional features required. Unfortunately, I thought AST_EXT_LIB_SETUP_DEPENDENT didn't do anything useful for libpri and deleted those lines for libpri. The result was the HAVE_PRI_xxx defines that control the ability to use optional libpri features were also deleted. * Created AST_EXT_LIB_SETUP_OPTIONAL configuration macro to allow optional features in a library that the source code could take advantage of if the code supports the feature. (closes issue ASTERISK-18687) Reported by: Norbert Tested by: rmudgett ........ ................ 2011-10-06 20:18 +0000 [r339680] Damien Wedhorn * channels/chan_skinny.c: Fixed segfault on core stop gracefully. There was an issue that the cap and confcap pointers for each line and device were being memcpy'd so they all pointed to the same ast_format_cap. On destroying, a segfault occured on the second call to the same struct. skinny reload now works again as well. Tested by snuff and myself. 2011-10-06 17:54 +0000 [r339627] Richard Mudgett * main/udptl.c, /, channels/chan_sip.c: Merged revisions 339626 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r339626 | rmudgett | 2011-10-06 12:53:00 -0500 (Thu, 06 Oct 2011) | 25 lines Merged revisions 339625 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r339625 | rmudgett | 2011-10-06 12:49:38 -0500 (Thu, 06 Oct 2011) | 18 lines Fix debugging messages generated by 'udptl debug'. * Makes chan_sip set the tag to the channel name. * Fixes received debug message sequence number. * Removed tx/rx debug message type since it was hard coded to 0. * Made udptl.c logged message header consistent if possible: "UDPTL (%s): ". * Removed unused rx_expected_seq_no from struct ast_udptl. (closes issue ASTERISK-18401) Reported by: Kevin P. Fleming Patches: jira_asterisk_18401_v1.8.patch (license #5621) patch uploaded by rmudgett Tested by: Matthew Nicholson ........ ................ 2011-10-06 13:43 +0000 [r339587] Leif Madsen * build_tools/prep_tarball: Merged revisions 339586 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r339586 | lmadsen | 2011-10-06 08:43:21 -0500 (Thu, 06 Oct 2011) | 16 lines Merged revisions 339566 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r339566 | lmadsen | 2011-10-05 16:30:11 -0500 (Wed, 05 Oct 2011) | 8 lines Update prep_tarball script to download pre-exported documentation. I've updated the prep_tarball script to now download the pre-exported documentation from the Asterisk wiki. This will give us more control over what is being included in the tarball releases, and will make both the PDF and HTML exported documentation look much better (especially when viewing from a console). (Closes issue ASTERISK-18677) ........ ................ 2011-10-05 17:02 +0000 [r339510-339513] Richard Mudgett * apps/app_dial.c, /: Merged revisions 339512 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r339512 | rmudgett | 2011-10-05 12:01:46 -0500 (Wed, 05 Oct 2011) | 9 lines Merged revisions 339511 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r339511 | rmudgett | 2011-10-05 12:01:01 -0500 (Wed, 05 Oct 2011) | 1 line Fix Dial F option notes formatting. ........ ................ * main/manager.c, /: Merged revisions 339508 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r339508 | rmudgett | 2011-10-05 11:35:02 -0500 (Wed, 05 Oct 2011) | 18 lines Merged revisions 339504,339506 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r339504 | rmudgett | 2011-10-05 11:26:45 -0500 (Wed, 05 Oct 2011) | 7 lines Add missing documentation of required AMI action Challenge AuthType header. (closes issue ASTERISK-18554) Reported by: Vlad Povorozniuc Patches: __20110919-manager-challenge-docs.patch.txt (license #4999) patch uploaded by Leif Madsen ........ r339506 | rmudgett | 2011-10-05 11:32:03 -0500 (Wed, 05 Oct 2011) | 1 line Fix XML error in AMI action Challenge. ........ ................ 2011-10-05 16:35 +0000 [r339509] Matthew Nicholson * /, res/res_fax.c: Merged revisions 339507 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r339507 | mnicholson | 2011-10-05 11:32:59 -0500 (Wed, 05 Oct 2011) | 10 lines Merged revisions 339505 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r339505 | mnicholson | 2011-10-05 11:31:21 -0500 (Wed, 05 Oct 2011) | 3 lines The app name in the documentation must match what we register the application as. ........ ................ 2011-10-05 06:50 +0000 [r339464-339465] Gregory Nietsky * res/res_fax.c, include/asterisk/res_fax.h, CHANGES: Add generic faxdetect framehook to res_fax Added func FAXOPT(faxdetect)=yes,cng,t38[,timeout]/no to enable dialplan faxdetect allowing more flexibility. as soon as a fax tone is detected the framehook is removed. there is a penalty involved in running this framehook on non G711 channels as they will be transcoded. CNG tone is suppresed using the SQUELCH flag to allow WaitForNoise to be run on the channel to detect Voice. (Closes issue ASTERISK-18569) Reported by: Myself Reviewed by: Matthew Nicholson, Kevin Fleming Review: https://reviewboard.asterisk.org/r/1116/ * /, res/res_fax.c: Merged revisions 339463 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r339463 | irroot | 2011-10-05 08:28:46 +0200 (Wed, 05 Oct 2011) | 9 lines Only change the capabilities on the gateway when the session is been destroyed there is still a race condition that ends in a segfault. if the caps are changed the logic in res_fax_spandsp will run T30 code not gateway code to end the session. this has been experienced on a "slower" under spec system. ........ 2011-10-04 22:59 +0000 [r339408] Richard Mudgett * Makefile, /: Merged revisions 339407 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r339407 | rmudgett | 2011-10-04 17:56:25 -0500 (Tue, 04 Oct 2011) | 15 lines Merged revisions 339406 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r339406 | rmudgett | 2011-10-04 17:54:15 -0500 (Tue, 04 Oct 2011) | 8 lines Make always create the MOH directory (/var/lib/asterisk/moh). (closes issue ASTERISK-18409) Reported by: abelbeck Patches: asterisk-1.8-makefile-moh.patch (license #5903) patch uploaded by abelbeck Tested by: abelbeck, Michael Keuter ........ ................ 2011-10-04 19:51 +0000 [r339315-339354] Jonathan Rose * /, main/say.c: Merged revisions 339353 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r339353 | jrose | 2011-10-04 14:44:02 -0500 (Tue, 04 Oct 2011) | 18 lines Merged revisions 339352 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r339352 | jrose | 2011-10-04 14:33:12 -0500 (Tue, 04 Oct 2011) | 12 lines Removes improper use of sound 'and' in German language mode from application saynumber Asterisk would say 'Five hundert und sechs und zwanzig' instead of 'Five hundert sechs und zwanzig'... which is both weird sounding and wrong. This patch makes sure Asterisk will only say the 'and' word between the single digit and double digit places. (closes issue ASTERISK-18212) Reported By: Lionel Elie Mamane Patches: upstream_germand_no_and.diff (License #5402) uploaded by Lionel Elie Mamane ........ ................ * /, res/res_jabber.c: Merged revisions 339298 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r339298 | jrose | 2011-10-04 09:09:50 -0500 (Tue, 04 Oct 2011) | 19 lines Merged revisions 339297 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r339297 | jrose | 2011-10-04 09:01:05 -0500 (Tue, 04 Oct 2011) | 13 lines Reverting revision 333265 due to component connection problems it introduces. I'm going to attempt some generic res_jabber cleanup and come up with a new fix for this problem, but first it seems prudent to remove this rather broad attempt to fix it and instead approach this problem either from the same angle but looking only at canceling (or possibly rescheduling) the send when we absolutely know it will cause a segfault or, if that can't be easily accomplished, strictly from the devstate side of things. Also, I'm pretty sure a lot of the code in res_jabber isn't thread safe. (issue ASTERISK-18626) (issue ASTERISK-18078) ........ ................ 2011-10-04 12:27 +0000 [r339262] Alexandr Anikin * /, addons/ooh323c/src/memheap.c: Merged revisions 339245 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r339245 | may | 2011-10-04 15:49:49 +0400 (Tue, 04 Oct 2011) | 9 lines Merged revisions 339244 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r339244 | may | 2011-10-04 15:44:55 +0400 (Tue, 04 Oct 2011) | 2 lines fix forget declaration in previous change ........ ................ 2011-10-04 09:43 +0000 [r339206] Olle Johansson * main/manager.c, CHANGES: Generate error message when AMI action originate extension doesn't exist Review: https://reviewboard.asterisk.org/r/1445/ Is this a bug or a new feature? No responses on Asterisk-dev so I'm committing to trunk only. 2011-10-03 20:13 +0000 [r339146-339149] Leif Madsen * channels/chan_sip.c: Merged revisions 339148 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r339148 | lmadsen | 2011-10-03 15:13:16 -0500 (Mon, 03 Oct 2011) | 14 lines Merged revisions 339147 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r339147 | lmadsen | 2011-10-03 15:12:43 -0500 (Mon, 03 Oct 2011) | 6 lines Remove duplicated Maxforwards line in AMI output. (Closes issue ASTERISK-18637) Reported by: Jacek Konieczny Patches: asterisk-sipshowpeer.patch (License #6298) uploaded by Jacek Konieczny ........ ................ * apps/app_dial.c: Merged revisions 339145 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r339145 | lmadsen | 2011-10-03 14:55:15 -0500 (Mon, 03 Oct 2011) | 13 lines Merged revisions 339144 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r339144 | lmadsen | 2011-10-03 14:54:52 -0500 (Mon, 03 Oct 2011) | 6 lines Make documentation for Dial() options 'F' and 'F()' more clear. (Closes issue ASTERISK-18646) Reported by: Physis Heckman Tested by: Richard Mudgett ........ ................ 2011-10-03 19:16 +0000 [r339091] Alexandr Anikin * /, addons/ooh323c/src/memheap.c: Merged revisions 339089 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r339089 | may | 2011-10-03 22:52:55 +0400 (Mon, 03 Oct 2011) | 10 lines Merged revisions 339087 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r339087 | may | 2011-10-03 22:42:49 +0400 (Mon, 03 Oct 2011) | 4 lines destroy memheap mutex properly before memheap deleted (fix memory leak occured after r304950 changes with DEBUG_THREAD compile option) ........ ................ 2011-10-03 18:58 +0000 [r339090] Terry Wilson * /, channels/chan_sip.c, main/file.c: Merged revisions 339088 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r339088 | twilson | 2011-10-03 11:44:27 -0700 (Mon, 03 Oct 2011) | 17 lines Merged revisions 339086 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r339086 | twilson | 2011-10-03 11:40:52 -0700 (Mon, 03 Oct 2011) | 10 lines Properly ignore AST_CONTROL_UPDATE_RTP_PEER in more places After the change in r336294, the new AST_CONTROL_UPDATE_RTP_PEER frame is sent when a re-invite happens. If we receive a re-invite from a device the waitstream_core was not aware of the new control frame and would drop the call. (closes issue ASTERISK-18610) Reported by: Kristijan_Vrban ........ ................ 2011-10-03 15:55 +0000 [r339021-339046] Matthew Nicholson * /, res/res_fax.c: Merged revisions 339045 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r339045 | mnicholson | 2011-10-03 10:54:55 -0500 (Mon, 03 Oct 2011) | 4 lines Ported ast_fax_caps_to_str() to 10, not sure why it wasn't already here. This function prints a list of caps instead of a hex bitfield. ........ * /, res/res_fax.c: Merged revisions 339043 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r339043 | mnicholson | 2011-10-03 10:41:36 -0500 (Mon, 03 Oct 2011) | 2 lines Don't clear the AST_FAX_TECH_MULTI_DOC flag right after we set it. ........ * /, res/res_fax.c: Merged revisions 339011 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r339011 | mnicholson | 2011-10-03 10:19:44 -0500 (Mon, 03 Oct 2011) | 2 lines properly remove the AST_FAX_TECH_GATEWAY flag (instead of setting all of the other flags) ........ 2011-10-03 14:40 +0000 [r338905-338998] Gregory Nietsky * /, CHANGES: Merged revisions 338997 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r338997 | irroot | 2011-10-03 16:38:25 +0200 (Mon, 03 Oct 2011) | 1 line Documentation noting the extension of CHANNEL() for chan_ooh323 ........ * addons/chan_ooh323.c, /, funcs/func_channel.c: Merged revisions 338995 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r338995 | irroot | 2011-10-03 16:21:40 +0200 (Mon, 03 Oct 2011) | 6 lines Remove the channel function OOH323() and place its options into CHANNEL() channel drivers should not have there own dialplan functions. ........ * /, res/res_fax.c: Merged revisions 338950 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r338950 | irroot | 2011-10-03 11:37:59 +0200 (Mon, 03 Oct 2011) | 14 lines Fixup a race condition in res_fax.c where FAXOPT(gateway)=no will turn off the gateway but the framehook is not destroyed. this problem happens when a gateway is attempted in the dialplan and the device is not available i may want to do fax to mail in the server it will not be allowed. instead of checking only AST_FAX_TECH_GATEWAY also check gateway_id Reverts 338904 Fix some white space. ........ * /, res/res_fax.c: Merged revisions 338904 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r338904 | irroot | 2011-10-02 16:17:32 +0200 (Sun, 02 Oct 2011) | 8 lines Remove T38 Gateway capability when detaching framehook. SET(FAXOPT(gateway)=no) does not remove the capability when detaching the framehook. small patch to fix this problem. ........ 2011-10-01 01:56 +0000 [r338855] TransNexus OSP Development * configure: Update "configure" based on r338139. 2011-09-30 22:08 +0000 [r338802] Richard Mudgett * channels/chan_dahdi.c, /: Merged revisions 338801 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r338801 | rmudgett | 2011-09-30 17:06:48 -0500 (Fri, 30 Sep 2011) | 19 lines Merged revisions 338800 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r338800 | rmudgett | 2011-09-30 17:05:10 -0500 (Fri, 30 Sep 2011) | 12 lines Fix segfault in analog_ss_thread() not checking ast_read() for NULL. NOTE: The problem was reported against v1.6.2. It is unlikely to ever happen on v1.8 and above since chan_dahdi.c:analog_ss_thread() is unlikely to be used. The version in sig_analog.c has largely replaced it. (closes issue ASTERISK-18648) Reported by: Stephan Bosch Patches: jira_asterisk_18648_v1.8.patch (license #5621) patch uploaded by rmudgett Tested by: Stephan Bosch ........ ................ 2011-09-30 19:25 +0000 [r338755] Olle Johansson * channels/chan_sip.c: Formatting changes only --Denna och nedanstående rader kommer inte med i loggmeddelandet-- M channels/chan_sip.c 2011-09-30 18:59 +0000 [r338720] Jonathan Rose * /, configs/queues.conf.sample: Merged revisions 338719 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r338719 | jrose | 2011-09-30 13:55:27 -0500 (Fri, 30 Sep 2011) | 9 lines Merged revisions 338718 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r338718 | jrose | 2011-09-30 13:54:30 -0500 (Fri, 30 Sep 2011) | 1 line Adds documentation for QueueMemberStatus event generation ........ ................ 2011-09-30 16:40 +0000 [r338665] Richard Mudgett * /, channels/chan_sip.c: Fix formatting of AMI header for SIP show peer. ASTERISK-17486 exposed the problem for AMI parsers. (closes issue ASTERISK-18649) Reported by: Jacek Konieczny Patches: asterisk-sipshowpeer_response_end.patch (license #6298) patch uploaded by Jacek Konieczny ........ Merged revisions 338663 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 338664 from http://svn.asterisk.org/svn/asterisk/branches/10 2011-09-30 13:21 +0000 [r338623] Olle Johansson * main/features.c: Preserve DTMF length in main/features.c Review: https://reviewboard.asterisk.org/r/1463/ A small part of much larger work with DTMF duration in Asterisk, funded by IPvision AS in Denmark. Thanks to irroot for the review! 2011-09-29 21:16 +0000 [r338557] Paul Belanger * tests/test_security_events.c, /, tests/test_locale.c, tests/test_logger.c, tests/test_dlinklists.c, tests/test_linkedlists.c, tests/test_amihooks.c: Merged revisions 338556 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r338556 | pabelanger | 2011-09-29 17:14:34 -0400 (Thu, 29 Sep 2011) | 9 lines Merged revisions 338555 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r338555 | pabelanger | 2011-09-29 17:12:21 -0400 (Thu, 29 Sep 2011) | 2 lines Test modules should depend on the TEST_FRAMEWORK flag ........ ................ 2011-09-29 20:55 +0000 [r338553] Jason Parker * /, tests/test_db.c, tests/test_netsock2.c: Merged revisions 338552 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r338552 | qwell | 2011-09-29 15:54:55 -0500 (Thu, 29 Sep 2011) | 9 lines Merged revisions 338551 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r338551 | qwell | 2011-09-29 15:54:13 -0500 (Thu, 29 Sep 2011) | 1 line Test modules have a support level of core. ........ ................ 2011-09-29 12:22 +0000 [r338435] Gregory Nietsky * /, channels/chan_sip.c, channels/sip/include/sip.h: Merged revisions 338417 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r338417 | irroot | 2011-09-29 14:16:42 +0200 (Thu, 29 Sep 2011) | 19 lines Merged revisions 338416 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r338416 | irroot | 2011-09-29 14:13:05 +0200 (Thu, 29 Sep 2011) | 12 lines The rtptimeout setting is ignored on a per peer basis. Not only is the rtptimeout ignored in some cases but rtpkeepalive and rtpholdtimeout is affected. this commit also removes rtptimeout/rtpholdtimeout on text rtp. (closes issue ASTERISK-18559) Review: https://reviewboard.asterisk.org/r/1452 ........ ................ 2011-09-29 12:03 +0000 [r338377-338415] Olle Johansson * cdr/cdr_pgsql.c, CHANGES: Add CLI command "cdr show pgsql status" based on "cdr mysql status" Review: https://reviewboard.asterisk.org/r/923/ Thanks all for the code reviews and feedback. * res/res_agi.c: Just formatting. 2011-09-28 22:38 +0000 [r338284-338324] Richard Mudgett * /, channels/sig_pri.c: Merged revisions 338323 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r338323 | rmudgett | 2011-09-28 17:36:57 -0500 (Wed, 28 Sep 2011) | 12 lines Merged revisions 338322 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r338322 | rmudgett | 2011-09-28 17:35:52 -0500 (Wed, 28 Sep 2011) | 5 lines Make duplicate call ptr warning message more helpful. * Adds the value of the call ptr to the duplicate call ptr message to help trace why there is a duplicate call ptr. ........ ................ * include/asterisk/logger.h, /: Merged revisions 338253 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r338253 | rmudgett | 2011-09-28 16:22:05 -0500 (Wed, 28 Sep 2011) | 14 lines Merged revisions 338235 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r338235 | rmudgett | 2011-09-28 16:17:45 -0500 (Wed, 28 Sep 2011) | 7 lines Fix inconsistency in LOG_VERBOSE/AST_LOG_VERBOSE declaration. (closes issue ASTERISK-17973) Reported by: Luke H Patches: logger_h.patch (license #6278) patch uploaded by Luke H ........ ................ 2011-09-28 20:55 +0000 [r338229] Jason Parker * build_tools/cflags.xml, channels/chan_usbradio.c, build_tools/cflags-devmode.xml, agi/agi.xml, utils/utils.xml, /, build_tools/embed_modules.xml, tests/test_db.c, tests/test_netsock2.c: Merged revisions 338228 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r338228 | qwell | 2011-09-28 15:54:35 -0500 (Wed, 28 Sep 2011) | 9 lines Merged revisions 338227 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r338227 | qwell | 2011-09-28 15:52:47 -0500 (Wed, 28 Sep 2011) | 1 line Add support levels to non-module sections of menuselect (cflags, utils, etc). ........ ................ 2011-09-28 20:28 +0000 [r338226] Richard Mudgett * channels/chan_dahdi.c, /: Merged revisions 338225 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r338225 | rmudgett | 2011-09-28 15:26:39 -0500 (Wed, 28 Sep 2011) | 12 lines Merged revisions 338224 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r338224 | rmudgett | 2011-09-28 15:24:41 -0500 (Wed, 28 Sep 2011) | 5 lines Fix chan_dahd compiling with gcc 4.6 when PRI and SS7 not present. (closes issue ASTERISK-18357) Reported by: Matthew Nicholson ........ ................ 2011-09-28 17:00 +0000 [r338187-338188] Terry Wilson * CHANGES: Update CHANGES to reflect autopausebusy not being in Asterisk 10 * configs/queues.conf.sample, CHANGES, apps/app_queue.c: Add autopausebusy and autopauseunavail queue options Make it possible to autopause on a busy or unavailable response from a device. (closes issue ASTERISK-16112) Reported by: jlpedrosa Patches: autopausebusy.txt by twilson Review: https://reviewboard.asterisk.org/r/1399/ 2011-09-28 07:30 +0000 [r338136-338139] TransNexus OSP Development * configure.ac: Updated for checking OSP Toolkit version 4.0.0. * apps/app_osplookup.c: Updated for OSP Toolkit 4.0.0. 2011-09-27 20:15 +0000 [r338086] Paul Belanger * /, apps/app_macro.c: Merged revisions 338085 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r338085 | pabelanger | 2011-09-27 16:13:14 -0400 (Tue, 27 Sep 2011) | 9 lines Merged revisions 338084 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r338084 | pabelanger | 2011-09-27 16:10:13 -0400 (Tue, 27 Sep 2011) | 2 lines Upgrade app_macro to core ........ ................ 2011-09-27 12:45 +0000 [r338042] Olle Johansson * channels/chan_sip.c: Whitespace (red blobs) fixes 2011-09-26 19:40 +0000 [r337975] Richard Mudgett * apps/app_dial.c, main/pbx.c, cdr/cdr_sqlite3_custom.c, /, include/asterisk/cel.h, cdr/cdr_syslog.c, tests/test_gosub.c, include/asterisk/channel.h, main/cel.c, main/manager.c, funcs/func_odbc.c, cel/cel_custom.c, apps/app_minivm.c, main/logger.c, cel/cel_sqlite3_custom.c, cdr/cdr_custom.c, cdr/cdr_manager.c, apps/app_voicemail.c: Merged revisions 337974 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r337974 | rmudgett | 2011-09-26 14:35:23 -0500 (Mon, 26 Sep 2011) | 37 lines Merged revisions 337973 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r337973 | rmudgett | 2011-09-26 14:30:39 -0500 (Mon, 26 Sep 2011) | 30 lines Fix deadlock when using dummy channels. Dummy channels created by ast_dummy_channel_alloc() should be destoyed by ast_channel_unref(). Using ast_channel_release() needlessly grabs the channel container lock and can cause a deadlock as a result. * Analyzed use of ast_dummy_channel_alloc() and made use ast_channel_unref() when done with the dummy channel. (Primary reason for the reported deadlock.) * Made app_dial.c:dial_exec_full() not call ast_call() holding any channel locks. Chan_local could not perform deadlock avoidance correctly. (Potential deadlock exposed by this issue. Secondary reason for the reported deadlock since the held lock was part of the deadlock chain.) * Fixed some uses of ast_dummy_channel_alloc() not checking the returned channel pointer for failure. * Fixed some potential chan=NULL pointer usage in func_odbc.c. Protected by testing the bogus_chan value. * Fixed needlessly clearing a 1024 char auto array when setting the first char to zero is enough in manager.c:action_getvar(). (closes issue ASTERISK-18613) Reported by: Thomas Arimont Patches: jira_asterisk_18613_v1.8.patch (license #5621) patch uploaded by rmudgett Tested by: Thomas Arimont ........ ................ 2011-09-23 19:20 +0000 [r337855-337910] Gregory Nietsky * /, contrib/init.d/rc.archlinux.asterisk: Merged revisions 337902 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r337902 | irroot | 2011-09-23 21:18:14 +0200 (Fri, 23 Sep 2011) | 10 lines Merged revisions 337898 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r337898 | irroot | 2011-09-23 21:14:30 +0200 (Fri, 23 Sep 2011) | 4 lines Spelling fix ........ ................ * /, apps/app_queue.c: Merged revisions 337840 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r337840 | irroot | 2011-09-23 10:39:22 +0200 (Fri, 23 Sep 2011) | 17 lines Merged revisions 337839 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r337839 | irroot | 2011-09-23 10:34:03 +0200 (Fri, 23 Sep 2011) | 11 lines Make sure a CDR is on the stack for call in the Queue. Only let update_cdr act on the last CDR in the stack. In some circumstances [Attended transfer to queue] a CDR record is not inserted for this call where it should. (closes issue ASTERISK-18567) Review: https://reviewboard.asterisk.org/r/1266 ........ ................ 2011-09-23 00:47 +0000 [r337776] Russell Bryant * /, configs/res_pktccops.conf.sample: Merged revisions 337775 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r337775 | russell | 2011-09-22 19:45:35 -0500 (Thu, 22 Sep 2011) | 18 lines Merged revisions 337774 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r337774 | russell | 2011-09-22 19:44:19 -0500 (Thu, 22 Sep 2011) | 11 lines Comment out entries in sample res_pktccops.conf. With these options enabled, they can cause Asterisk to freak out by SYN flooding a network and eating the CPU. Obviously it would be good to fix the code so that this can't happen, but we can at least change the default configuration so it doesn't happen. This was reported downstream to the Fedora issue tracker: https://bugzilla.redhat.com/show_bug.cgi?id=658431 ........ ................ 2011-09-22 21:42 +0000 [r337722] Richard Mudgett * /, channels/sig_pri.c: Merged revisions 337721 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r337721 | rmudgett | 2011-09-22 16:37:41 -0500 (Thu, 22 Sep 2011) | 25 lines Merged revisions 337720 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r337720 | rmudgett | 2011-09-22 16:29:46 -0500 (Thu, 22 Sep 2011) | 18 lines Made ISDN not add numbering plan prefix strings to empty numbers. When the Caller-ID is restricted, the expected behavior is for the Caller-ID to be blank. In chan_dahdi, the national prefix is placed onto the Caller-ID number even if it is restricted (empty) causing the Caller-ID to be the national prefix rather than blank. This behavior was lost when sig_pri was extracted from chan_dahdi. * Made not add prefix strings to empty connected line, calling, and ANI number strings. (closes issue ASTERISK-18577) Reported by: Kris Shaw Patches: jira_asterisk_18577_v1.8.patch (license #5621) patch uploaded by rmudgett Tested by: Kris Shaw ........ ................ 2011-09-22 16:35 +0000 [r337600] Jonathan Rose * /, channels/chan_sip.c, include/asterisk/event_defs.h, main/security_events.c, channels/sip/security_events.c (added), main/event.c, CHANGES, channels/sip/include/security_events.h (added), channels/sip/include/sip.h, include/asterisk/security_events_defs.h, configs/logger.conf.sample: Merged revisions 337595,337597 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r337595 | jrose | 2011-09-22 10:35:50 -0500 (Thu, 22 Sep 2011) | 12 lines Generate Security events in chan_sip using new Security Events Framework Security Events Framework was added in 1.8 and support was added for AMI to generate events at that time. This patch adds support for chan_sip to generate security events. (closes issue ASTERISK-18264) Reported by: Michael L. Young Patches: security_events_chan_sip_v4.patch (license #5026) by Michael L. Young Review: https://reviewboard.asterisk.org/r/1362/ ........ r337597 | jrose | 2011-09-22 10:47:05 -0500 (Thu, 22 Sep 2011) | 10 lines Forgot to svn add new files to r337595 Part of Generating security events for chan_sip (issue ASTERISK-18264) Reported by: Michael L. Young Patches: security_events_chan_sip_v4.patch (License #5026) by Michael L. Young Reviewboard: https://reviewboard.asterisk.org/r/1362/ ........ 2011-09-22 11:46 +0000 [r337432-337543] Gregory Nietsky * /, res/res_srtp.c: Merged revisions 337542 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r337542 | irroot | 2011-09-22 13:44:22 +0200 (Thu, 22 Sep 2011) | 14 lines Merged revisions 337541 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r337541 | irroot | 2011-09-22 13:39:49 +0200 (Thu, 22 Sep 2011) | 8 lines Add warned to ast_srtp to prevent errors on each frame from libsrtp The first 9 frames are not reported as some devices dont use srtp from first frame these are suppresed. the warning is then output only once every 100 frames. ........ ................ * /, channels/chan_h323.c: Merged revisions 337487 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r337487 | irroot | 2011-09-22 11:26:26 +0200 (Thu, 22 Sep 2011) | 16 lines Merged revisions 337486 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r337486 | irroot | 2011-09-22 11:22:26 +0200 (Thu, 22 Sep 2011) | 10 lines If IP address is used in chan_h323 host parameter of peer configuration. module tries to resolve IP address to IP address and fails. Simple fix to set family of socket this is a hangover from ipv6 changes. (closes issue ASTERISK-18237) (issue ASTERISK-17278) (issue ASTERISK-17500) ........ ................ * main/channel.c, /: Merged revisions 337431 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r337431 | irroot | 2011-09-22 08:29:09 +0200 (Thu, 22 Sep 2011) | 25 lines Merged revisions 337430 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r337430 | irroot | 2011-09-22 08:18:33 +0200 (Thu, 22 Sep 2011) | 19 lines Its possible to loose audio on ast_write when the channel is not transcoded correctly. in the case of DAHDI the channel is hungup. This patch tries to "fix" the problem and make the channel compatiable and warn the user of this problem. Please note there is a underlying problem with codec negotion this does not fix the problem it does try to rectify it and prevent loss of service. Review: https://reviewboard.asterisk.org/r/1442/ (closes issue ASTERISK-17541) (closes issue ASTERISK-18063) (issue ASTERISK-14384) (issue ASTERISK-17502) (issue ASTERISK-18325) (issue ASTERISK-18422) ........ ................ 2011-09-21 21:26 +0000 [r337343-337385] Tilghman Lesher * /, apps/app_voicemail.c: More silly spacing changes ..... Merged revisions 337353 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ..... Merged revisions 337380 from http://svn.asterisk.org/svn/asterisk/branches/10 * /, apps/app_voicemail.c: ................ ........ Dumb little spacing fix. ........ Merged revisions 337344 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ................ Merged revisions 337345 from http://svn.asterisk.org/svn/asterisk/branches/10 * funcs/func_curl.c, /: ................ ........ Escape commas in keys and values, when keys and values are enumerated by commas. Review: https://reviewboard.asterisk.org/r/1433 ........ Merged revisions 337325 from https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ Merged revisions 337342 from https://origsvn.digium.com/svn/asterisk/branches/10 2011-09-21 11:21 +0000 [r337262-337283] Gregory Nietsky * /, configs/sip.conf.sample: Merged revisions 337263 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r337263 | irroot | 2011-09-21 13:15:48 +0200 (Wed, 21 Sep 2011) | 1 line Whitespace fixup from SRTP patch ........ * /, apps/app_originate.c, CHANGES: Merged revisions 337261 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r337261 | irroot | 2011-09-21 12:42:06 +0200 (Wed, 21 Sep 2011) | 10 lines Adds a timeout argument to app_originate the default is 30s this will be used if the timout supplied is invalid or no timeout is supplied. Contributed by: jacco (thank you for the work) Review: https://reviewboard.asterisk.org/r/1310/ ........ 2011-09-21 09:39 +0000 [r337179-337220] Olle Johansson * main/pbx.c, /, CHANGES, configs/extensions.conf.sample: Merged revisions 337219 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r337219 | oej | 2011-09-21 11:32:50 +0200 (Ons, 21 Sep 2011) | 13 lines Make ast_pbx_run() not default to s@default if extension is not found Review: https://reviewboard.asterisk.org/r/1446/ This is a bug - or architecture mistake - that has been in Asterisk for a very long time. It was exposed by the AMI originate action and possibly some other applications. Most channel drivers checks if an extension exists BEFORE starting a pbx on an inbound call, so most calls will not depend on this issue. Thanks everyone involved in the review and on IRC and the mailing list for a quick review and all the feedback. (closes issue ASTERISK-18578) ........ * res/res_rtp_asterisk.c, /, configs/rtp.conf.sample, CHANGES: Merged revisions 337178 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r337178 | oej | 2011-09-21 10:51:41 +0200 (Ons, 21 Sep 2011) | 14 lines Change strictrtp option to default to yes in the RTP module Suggested by Kapejod on Facebook Review: https://reviewboard.asterisk.org/r/1448/ (closes issue ASTERISK-18587) Thanks for quick feedback to kpfleming and Tilghman --Denna och nedanstående rader kommer inte med i loggmeddelandet-- M CHANGES M configs/rtp.conf.sample M res/res_rtp_asterisk.c ........ 2011-09-20 23:02 +0000 [r337124] Matthew Jordan * apps/app_dial.c, include/asterisk/app.h, apps/app_meetme.c, apps/app_minivm.c, main/app.c, apps/app_confbridge.c, apps/app_followme.c, apps/app_voicemail.c: Merged revisions 337120 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r337120 | mjordan | 2011-09-20 17:49:36 -0500 (Tue, 20 Sep 2011) | 28 lines Merged revisions 337118 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r337118 | mjordan | 2011-09-20 17:38:54 -0500 (Tue, 20 Sep 2011) | 21 lines Fix for incorrect voicemail duration in external notifications This patch fixes an issue where the voicemail duration was being reported with a duration significantly less than the actual sound file duration. Voicemails that contained mostly silence were reporting the duration of only the sound in the file, as opposed to the duration of the file with the silence. This patch fixes this by having two durations reported in the __ast_play_and_record family of functions - the sound_duration and the actual duration of the file. The sound_duration, which is optional, now reports the duration of the sound in the file, while the actual full duration of the file is reported in the duration parameter. This allows the voicemail applications to use the sound_duration for minimum duration checking, while reporting the full duration to external parties if the voicemail is kept. (issue ASTERISK-2234) (closes issue ASTERISK-16981) Reported by: Mary Ciuciu, Byron Clark, Brad House, Karsten Wemheuer, KevinH Tested by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1443 ........ ................ 2011-09-20 22:54 +0000 [r337121-337123] Richard Mudgett * /, funcs/func_strings.c: Merged revisions 337119 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r337119 | rmudgett | 2011-09-20 17:47:45 -0500 (Tue, 20 Sep 2011) | 16 lines Fix crash with STRREPLACE function. The ast_func_read() function calls the .read2 callback with the len parameter set to zero indicating no size restrictions on the supplied ast_str buffer. The value was used to dimension a local starts[] array with the array subsequently used. * Reworked the strreplace() function to perform the string replacement in a straight forward manner. Eliminated the need for the starts[] array. (closes issue ASTERISK-18545) Reported by: Federico Alves Patches: jira_asterisk_18545_v10.patch (license #5621) patch uploaded by rmudgett Tested by: rmudgett, Federico Alves ........ * /: Updated 10 merge property. * /: Restore branch-10 merge properties. 2011-09-20 22:29 +0000 [r337117] Leif Madsen * /, contrib/init.d/rc.redhat.asterisk: Merged revisions 337115 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r337115 | lmadsen | 2011-09-20 17:18:25 -0500 (Tue, 20 Sep 2011) | 7 lines Update RedHat Init script to work with Heartbeat. The current RedHat init script was not LSB compatible. This change will make it LSB compatible so that it can work correctly with Heartbeat. (Closes issue ASTERISK-18253) Reported by: c0rnoTa ........ 2011-09-20 21:05 +0000 [r337063] Kinsey Moore * main/pbx.c, /, tests/test_pbx.c: Merged revisions 337062 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r337062 | kmoore | 2011-09-20 16:05:01 -0500 (Tue, 20 Sep 2011) | 18 lines Merged revisions 337061 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r337061 | kmoore | 2011-09-20 16:04:11 -0500 (Tue, 20 Sep 2011) | 11 lines Make CANMATCH with the new pattern match engine behave more like the old one When checking an extension for E_CANMATCH using the new extension matching algorithm, an exact match was not returned as a possible match resulting in the queue failing to allow a caller to exit on DTMF. This removes the requirement that an extension be longer than acquired digits for an E_CANMATCH operation to succeed. (closes issue ASTERISK-18044) Review: https://reviewboard.asterisk.org/r/1367/ ........ ................ 2011-09-20 19:13 +0000 [r336988-337009] Richard Mudgett * /, channels/sig_ss7.c: Merged revisions 337008 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r337008 | rmudgett | 2011-09-20 14:12:24 -0500 (Tue, 20 Sep 2011) | 22 lines Merged revisions 337007 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r337007 | rmudgett | 2011-09-20 14:10:30 -0500 (Tue, 20 Sep 2011) | 15 lines Check if a channel was created before using the pointer in sig_ss7_new_ast_channel(). Fixes the crash in ASTERISK-17955 gdb-11918.txt backtrace. * Added some missing libss7 access lock protection. * Prevent cancelling the ss7_linkset() thread at inoportune times just like the pri_dchannel() thread. (issue ASTERISK-17955) Reported by: Ian M Sherman Patches: jira_asterisk_17955_v1.8.patch (license #5621) patch uploaded by rmudgett (attached to related ASTERISK-17966) ........ ................ * /, channels/sig_ss7.c: Merged revisions 336978 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r336978 | rmudgett | 2011-09-20 13:14:40 -0500 (Tue, 20 Sep 2011) | 28 lines Merged revisions 336977 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r336977 | rmudgett | 2011-09-20 13:12:17 -0500 (Tue, 20 Sep 2011) | 21 lines Fix deadlock from not releasing SS7 linkset lock. sig_ss7_hangup() failed to release the SS7 linkset lock if the call had the alreadyhungup flag set. * Made unlock the SS7 linkset lock in sig_ss7_hangup() if the alreadyhungup flag is set. * Made ss7_start_call() not hold any locks while creating the channel for an incoming call to prevent deadlock. * Made ss7_grab() a void function, since it could never fail, to simplify calling code. * Made obtain the channel lock to do softhangup in some places. Patches: jira_ast_668_v1.8.patch (license #5621) patch uploaded by rmudgett JIRA AST-668 ........ ................ 2011-09-20 16:56 +0000 [r336937] Gregory Nietsky * channels/sip/sdp_crypto.c, /, channels/chan_sip.c, channels/sip/include/sdp_crypto.h, channels/sip/include/srtp.h, configs/sip.conf.sample, CHANGES, channels/sip/include/sip.h: Merged revisions 336936 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r336936 | irroot | 2011-09-20 18:51:59 +0200 (Tue, 20 Sep 2011) | 14 lines Allow Setting Auth Tag Bit length Based on invite or config option Update the SIP SRTP API to allow use of 32 or 80 bit taglen. Curently only 80 bit is supported. The outgoing invite will use the taglen of the incoming invite preventing one-way audio. (Closes issue ASTERISK-17895) Review: https://reviewboard.asterisk.org/r/1173/ ........ 2011-09-20 01:11 +0000 [r336879] Russell Bryant * res/res_rtp_asterisk.c, /: Merged revisions 336878 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r336878 | russell | 2011-09-19 20:03:55 -0500 (Mon, 19 Sep 2011) | 43 lines Merged revisions 336877 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r336877 | russell | 2011-09-19 19:56:20 -0500 (Mon, 19 Sep 2011) | 36 lines Fix crashes in ast_rtcp_write(). This patch addresses crashes related to RTCP handling. The backtraces just show a crash in ast_rtcp_write() where it appears that the RTP instance is no longer valid. There is a race condition with scheduled RTCP transmissions and the destruction of the RTP instance. This patch utilizes the fact that ast_rtp_instance is a reference counted object and ensures that it will not get destroyed while a reference is still around due to scheduled RTCP transmissions. RTCP transmissions are scheduled and executed from the chan_sip scheduler context. This scheduler context is processed in the SIP monitor thread. The destruction of an RTP instance occurs when the associated sip_pvt gets destroyed (which happens when the sip_pvt reference count reaches 0). However, the SIP monitor thread is not the only thread that can cause a sip_pvt to get destroyed. The sip_hangup function, executed from a channel thread, also decrements the reference count on a sip_pvt and could cause it to get destroyed. While this is being changed anyway, the patch also removes calling ast_sched_del() from within the RTCP scheduler callback. It's not helpful. Simply returning 0 prevents the callback from being rescheduled. (closes issue ASTERISK-18570) Related issues that look like they are the same problem: (issue ASTERISK-17560) (issue ASTERISK-15406) (issue ASTERISK-15257) (issue ASTERISK-13334) (issue ASTERISK-9977) (issue ASTERISK-9716) Review: https://reviewboard.asterisk.org/r/1444/ ........ ................ 2011-09-19 22:28 +0000 [r336837] Terry Wilson * /, channels/chan_sip.c: Merged revisions 336792 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r336792 | twilson | 2011-09-19 17:13:34 -0500 (Mon, 19 Sep 2011) | 9 lines Merged revisions 336791 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r336791 | twilson | 2011-09-19 17:07:58 -0500 (Mon, 19 Sep 2011) | 2 lines Don't interfere with T.38 reinvites This is an update to the fix for ASTERISK-18340 and ASTERISK-17725 ........ ................ 2011-09-19 21:42 +0000 [r336735-336790] Tilghman Lesher * /, funcs/func_strings.c: Merged revisions 336789 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r336789 | tilghman | 2011-09-19 16:41:16 -0500 (Mon, 19 Sep 2011) | 2 lines Ensure substring will not be found in the previous match. ........ * Makefile, /, configure, include/asterisk/autoconfig.h.in, main/Makefile, codecs/gsm/Makefile, configure.ac, Makefile.rules, include/asterisk/optional_api.h: Merged revisions 336734 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r336734 | tilghman | 2011-09-19 15:29:40 -0500 (Mon, 19 Sep 2011) | 18 lines Merged revisions 336733 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r336733 | tilghman | 2011-09-19 15:27:03 -0500 (Mon, 19 Sep 2011) | 11 lines Various changes to allow 1.8 to compile on Mac OS X Lion (10.7) * Makefile workaround for 10.6 extended to work on 10.7 and later. * Now uses the 'weak' symbol for Lion systems, which no longer support 'weak_import' Closes ASTERISK-17612. Closes ASTERISK-18213. Tested by: tilghman, oej. ........ ................ 2011-09-19 20:23 +0000 [r336732] Jonathan Rose * /, apps/app_echo.c, apps/app_saycounted.c, apps/app_mp3.c, apps/app_morsecode.c, res/res_musiconhold.c, apps/app_queue.c, apps/app_mixmonitor.c: Merged revisions 336717 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r336717 | jrose | 2011-09-19 15:16:23 -0500 (Mon, 19 Sep 2011) | 14 lines Merged revisions 336716 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r336716 | jrose | 2011-09-19 15:07:36 -0500 (Mon, 19 Sep 2011) | 7 lines Document applications that play audio and do not answer unanswered calls. This patch is part of an effort to document early media and its usage. If you are interested in contributing to this documentation effort, there are probably other applications worth documenting as well as an Asterisk wiki article at https://wiki.asterisk.org/wiki/display/AST/Early+Media+and+the+Progress+Application ........ ................ 2011-09-19 19:03 +0000 [r336660-336662] Richard Mudgett * apps/app_dial.c, /, UPGRADE-1.8.txt: Merged revisions 336659 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r336659 | rmudgett | 2011-09-19 13:51:19 -0500 (Mon, 19 Sep 2011) | 38 lines Merged revisions 336658 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r336658 | rmudgett | 2011-09-19 13:46:40 -0500 (Mon, 19 Sep 2011) | 31 lines Made Dial d and H options no longer immediately auto-answer the calling leg. The Dial d and H options break DTMF attended transfer atxferdropcall option. 1) Party A calls party B. 2) Party B does a DTMF attended transfer to Party C. If the dialplan uses the Dial d or H options to call Party C then the Dial application answers the call immediately before initiating the call leg to Party C. The premature answer causes the transfer code to not invoke the atxferdropcall=no behavior for a blonde transfer since Party C has "answered". The transfer code thinks that Party B has "consulted" with Party C when Party B hangs up and completes the transfer to Party A. Party A now hears ringback until Party C actually answers. ASTERISK-13294 Dial d option. ASTERISK-11067 Dial H option to disconnect before answer. The referenced issues made Dial answer with the d and H options because many SIP and ISDN phones cannot send DTMF before the call is connected. * Made require the dialplan to control when or if the call needs to be answered to use the Dial application d and H options. (The call is no longer surprise answered when using the Dial d or H options.) Review: https://reviewboard.asterisk.org/r/1381/ JIRA AST-623 JIRA AST-666 ........ ................ * /: Update merge 10 branch merge propterty. * /: Restore 10 branch merge properties. 2011-09-19 16:22 +0000 [r336600] Jason Parker * cel/cel_odbc.c, configs/cel_odbc.conf.sample, sounds/Makefile: Remove weird mergeinfo props that make merges annoying sometimes. 2011-09-19 15:48 +0000 [r336574] Leif Madsen * /, contrib/scripts/get_ilbc_source.sh: Merged revisions 336572 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r336572 | lmadsen | 2011-09-19 10:41:16 -0500 (Mon, 19 Sep 2011) | 7 lines Update get_ilbc_source.sh script to work again. Recently iLBC support in Asterisk has changed after the acquisition of GIPS by Google. More information about how this may affect you is available in a blog post at: http://blogs.asterisk.org/2011/09/19/ilbc-support-in-asterisk-after-googles-acquisition-of-gips/ ........ 2011-09-19 15:36 +0000 [r336571] Richard Mudgett * /, channels/sig_pri.c: Merged revisions 336570 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r336570 | rmudgett | 2011-09-19 10:32:00 -0500 (Mon, 19 Sep 2011) | 11 lines Merged revisions 336569 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r336569 | rmudgett | 2011-09-19 10:25:34 -0500 (Mon, 19 Sep 2011) | 4 lines Rework sig_pri_hangup() to be simpler and clearer. JIRA AST-675 ........ ................ 2011-09-19 13:57 +0000 [r336505] Olle Johansson * /, channels/chan_sip.c: Merged revisions 336502 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r336502 | oej | 2011-09-19 15:38:53 +0200 (Mån, 19 Sep 2011) | 12 lines Merged revisions 336501 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r336501 | oej | 2011-09-19 15:33:50 +0200 (Mån, 19 Sep 2011) | 5 lines Add diversion header to a 302 redirect response if we have diversion data (closes issue ASTERISK-18143) patch by oej ........ ................ 2011-09-19 13:41 +0000 [r336503] Gregory Nietsky * /, channels/chan_h323.c: Merged revisions 336500 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r336500 | irroot | 2011-09-19 15:31:50 +0200 (Mon, 19 Sep 2011) | 19 lines Merged revisions 336499 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r336499 | irroot | 2011-09-19 15:27:52 +0200 (Mon, 19 Sep 2011) | 13 lines A long time ago in a galaxy far far away a IPv6 update was made, chan_h323 was not updated causeing all to flee to chan_ooh323. the brave Jedi [asterisk developers] pondered this miscarrige of justice and restored order to the force for the sake of closing out 2 old issues. (closes issue ASTERISK-17278) (closes issue ASTERISK-17500) Reported by: dread, sybasesql Tested by: irroot Reviewed by: IRC (russellb, kpfleming) ........ ................ 2011-09-19 12:20 +0000 [r336382-336453] Olle Johansson * main/manager.c, /: Merged revisions 336441 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r336441 | oej | 2011-09-19 14:15:06 +0200 (Mån, 19 Sep 2011) | 9 lines Merged revisions 336440 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r336440 | oej | 2011-09-19 14:06:48 +0200 (Mån, 19 Sep 2011) | 2 lines Make sure manager_debug option is reset at reload ........ ................ * /, channels/chan_sip.c: Merged revisions 336381 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r336381 | oej | 2011-09-19 12:05:00 +0200 (Mån, 19 Sep 2011) | 16 lines Merged revisions 336378 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r336378 | oej | 2011-09-19 11:40:44 +0200 (Mån, 19 Sep 2011) | 9 lines Add missing unlock at MWI message sending time (closes issue ASTERISK-18573) Patches: sip_mwi_lock.patch (license #5041) by Gregory Hinton Nietsky Thanks to irrot for the reminder, to Gregory for the patch! ........ ................ 2011-09-16 22:12 +0000 [r336315-336317] Terry Wilson * /, funcs/func_frame_trace.c: Merged revisions 336316 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r336316 | twilson | 2011-09-16 17:11:39 -0500 (Fri, 16 Sep 2011) | 9 lines Merged revisions 336314 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r336314 | twilson | 2011-09-16 17:10:56 -0500 (Fri, 16 Sep 2011) | 2 lines Whitespace fix ........ ................ * /, funcs/func_frame_trace.c: Merged revisions 336313 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r336313 | twilson | 2011-09-16 17:07:00 -0500 (Fri, 16 Sep 2011) | 12 lines Merged revisions 336312 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r336312 | twilson | 2011-09-16 17:04:25 -0500 (Fri, 16 Sep 2011) | 5 lines Add missing frame types to func_frame_trace Also casts control frames to the proper enum so that the compile will catch new additions. ........ ................ 2011-09-16 21:20 +0000 [r336311] Jonathan Rose * main/channel.c, main/rtp_engine.c, /, channels/chan_sip.c, include/asterisk/frame.h: Merged revisions 336307 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r336307 | jrose | 2011-09-16 16:09:20 -0500 (Fri, 16 Sep 2011) | 20 lines Merged revisions 336294 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r336294 | jrose | 2011-09-16 14:53:40 -0500 (Fri, 16 Sep 2011) | 13 lines Fix bad RTP media bridges in directmedia calls on peers separated by multiple Asterisk nodes. In a situation involving devices on separate Asterisk trunks, the remote RTP bridge would break when starting a call with directmedia. This patch queues a new type of control frame so that our RTP bridge loop can properly detect when these situations occur and check to see if peers need to be updated in order to send their media to the proper location. (Closes issue ASTERISK-18340) Reported by: Thomas Arimont (Closes issue ASTERISK-17725) Reported by: kwk Tested by: twilson, jrose ........ ................ 2011-09-16 19:11 +0000 [r336236] Sean Bright * /, UPGRADE-1.8.txt: Merged revisions 336235 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r336235 | seanbright | 2011-09-16 15:10:39 -0400 (Fri, 16 Sep 2011) | 9 lines Merged revisions 336234 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r336234 | seanbright | 2011-09-16 15:06:27 -0400 (Fri, 16 Sep 2011) | 2 lines Make a note that inotify won't work with an NFS mounted spooler directory. ........ ................ 2011-09-16 10:16 +0000 [r336095-336168] Gregory Nietsky * channels/chan_misdn.c, /: Merged revisions 336167 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r336167 | irroot | 2011-09-16 12:12:03 +0200 (Fri, 16 Sep 2011) | 22 lines Merged revisions 336166 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r336166 | irroot | 2011-09-16 12:09:17 +0200 (Fri, 16 Sep 2011) | 16 lines The round robin routing routine in chan_misdn.c is broken. it rotates between ports but never checks the channels in the ports. i have extensivly tested it and verified it works on 1 upto 4 ports. before the patch only 1 out of each port was used now all are used as expected. (closes issue ASTERISK-18413) Reported by: irroot Tested by: irroot Reviewed by: irroot Review: https://reviewboard.asterisk.org/r/1410/ ........ ................ * /, apps/app_queue.c: Merged revisions 336094 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r336094 | irroot | 2011-09-15 17:54:46 +0200 (Thu, 15 Sep 2011) | 26 lines Merged revisions 336093 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r336093 | irroot | 2011-09-15 17:46:21 +0200 (Thu, 15 Sep 2011) | 20 lines Locking order in app_queue.c causes deadlocks. a channel lock must never be held with the queues container lock held. the deadlock occured on masquerade. the queues container lock is a relic of the past the old queue module lock. with ao2 there is no need to hold this lock when dealing with members this patch removes unneeded locks. (closes issue ASTERISK-18101) (closes issue ASTERISK-18487) Reported by: Paul Rolfe, Jason Legault Tested by: irroot, Jason Legault, Paul Rolfe Reviewed by: Matthew Nicholson Review: https://reviewboard.asterisk.org/r/1402/ ........ ................ 2011-09-15 15:19 +0000 [r336092] David Vossel * /, main/format_cap.c: Merged revisions 336091 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r336091 | dvossel | 2011-09-15 10:19:10 -0500 (Thu, 15 Sep 2011) | 2 lines Removes some no-op code found in format_cap.c. ........ 2011-09-15 12:50 +0000 [r336043] Olle Johansson * CREDITS, /, apps/app_meetme.c, CHANGES: Merged revisions 336042 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r336042 | oej | 2011-09-15 14:46:38 +0200 (Tor, 15 Sep 2011) | 12 lines Meetme: Introducing a new option "k" to kill a conference if there's only a single member left. When using Meetme as a modular call bridge from third party applications, it's handy to make it behave like a normal call bridge. When the second to last person exists, the last person will be kicked out of the conference when this option is enabled. (closes issue ASTERISK-18234) Review: https://reviewboard.asterisk.org/r/1376/ Patch by oej, sponsored by ClearIT, Solna, Sweden ........ 2011-09-15 08:40 +0000 [r335993] Gregory Nietsky * /, channels/chan_agent.c: Merged revisions 335991 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r335991 | irroot | 2011-09-15 10:29:12 +0200 (Thu, 15 Sep 2011) | 17 lines Merged revisions 335978 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r335978 | irroot | 2011-09-15 10:15:22 +0200 (Thu, 15 Sep 2011) | 11 lines lock the channel before calling ast_bridged_channel() to prevent a seg fault. AMI agents list called on shutdown causes a segfault, introducing proper locking will prevent this. (closes issue ASTERISK-18092) Reported by: agustina Patches: chan_agent.patch (License #5041) patch uploaded by irroot ........ ................ 2011-09-14 18:38 +0000 [r335853-335913] Richard Mudgett * /, configure, include/asterisk/autoconfig.h.in, configure.ac: Merged revisions 335912 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r335912 | rmudgett | 2011-09-14 13:31:15 -0500 (Wed, 14 Sep 2011) | 20 lines Merged revisions 335911 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r335911 | rmudgett | 2011-09-14 13:21:35 -0500 (Wed, 14 Sep 2011) | 13 lines Remove unnecessary libpri dependency checks in the configure script. Using the --with-pri option with the configure script generated an error about not having PRI_L2_PERSISTENCE if you did not have the absolute latest libpri SVN checkout installed. The AST_EXT_LIB_SETUP_DEPENDENT macro in the configure.ac script seems to be for libraries that are dependent upon other libraries and not necessarily for optional/added features within a library. (closes issue ASTERISK-18535) Reported by: Michael Keuter ........ ................ * channels/chan_dahdi.c, /: Merged revisions 335852 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r335852 | rmudgett | 2011-09-14 11:00:37 -0500 (Wed, 14 Sep 2011) | 18 lines Merged revisions 335851 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r335851 | rmudgett | 2011-09-14 10:53:25 -0500 (Wed, 14 Sep 2011) | 11 lines Fixed cut-n-paste regression using the wrong variable. Fixes the missing DAHDI channels when using the newer chan_dahdi.conf sections for channel configuration. (closes issue ASTERISK-18496) Reported by: Sean Darcy Patches: jira_asterisk_18496_v1.8.patch (license #5621) patch uploaded by rmudgett Tested by: Sean Darcy, rmudgett ........ ................ 2011-09-14 13:29 +0000 [r335792] Matthew Nicholson * main/manager.c, /: Merged revisions 335791 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r335791 | mnicholson | 2011-09-14 08:28:50 -0500 (Wed, 14 Sep 2011) | 11 lines Merged revisions 335790 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r335790 | mnicholson | 2011-09-14 08:28:16 -0500 (Wed, 14 Sep 2011) | 4 lines The tech and data members of fast_originate_helper are not string fields. ASTERISK-17709 ........ ................ 2011-09-13 22:11 +0000 [r335722] Richard Mudgett * /, apps/app_directed_pickup.c: Merged revisions 335721 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r335721 | rmudgett | 2011-09-13 17:10:44 -0500 (Tue, 13 Sep 2011) | 9 lines Merged revisions 335720 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r335720 | rmudgett | 2011-09-13 17:10:15 -0500 (Tue, 13 Sep 2011) | 1 line Remove obsolete todo comment about PICKUPRESULT. ........ ................ 2011-09-13 21:52 +0000 [r335719] Paul Belanger * main/dnsmgr.c: Additional updates for parsing dnsmgr.conf Review: https://reviewboard.asterisk.org/r/1432/ 2011-09-13 21:40 +0000 [r335718] Tzafrir Cohen * main/asterisk.c: do parse defaultlanguage from asterisk.conf Do parse the option "defaultlanguage" from the [options] section of asterisk.conf, as in the sample config file. Otherwise the build-time default language (normally "en") is always the default one. Review: https://reviewboard.asterisk.org/r/1342/ Signed-off-by: Tzafrir Cohen (License #5035) Original-Commit: http://svn.digium.com/svn/asterisk/branches/1.8@335716 Original-Commit: http://svn.digium.com/svn/asterisk/branches/10@335717 2011-09-13 18:56 +0000 [r335657] Tilghman Lesher * /, configure, configure.ac: Merged revisions 335656 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r335656 | tilghman | 2011-09-13 13:55:33 -0500 (Tue, 13 Sep 2011) | 11 lines Merged revisions 335655 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r335655 | tilghman | 2011-09-13 13:52:38 -0500 (Tue, 13 Sep 2011) | 4 lines Move mandatory checks closer to the beginning of the file. If these are going to fail, they should fail as quickly as possible. ........ ................ 2011-09-13 18:49 +0000 [r335654] Matthew Nicholson * main/pbx.c, main/manager.c, /: Merged revisions 335653 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r335653 | mnicholson | 2011-09-13 13:47:57 -0500 (Tue, 13 Sep 2011) | 12 lines Merged revisions 335618 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r335618 | mnicholson | 2011-09-13 13:20:52 -0500 (Tue, 13 Sep 2011) | 5 lines Don't limit the size of appdata for manager originate actions. ASTERISK-17709 Patch by: tilghman (with modifications) ........ ................ 2011-09-13 18:11 +0000 [r335555-335603] Paul Belanger * UPGRADE.txt, main/dsp.c: Clean up dsp.conf parsing Review: https://reviewboard.asterisk.org/r/1434/ * UPGRADE.txt, cdr/cdr_csv.c: Clean up cdr.conf parsing for [csv] section Review: https://reviewboard.asterisk.org/r/1427/ * main/dnsmgr.c, UPGRADE.txt: Clean up dnsmgr.conf parsing Review: https://reviewboard.asterisk.org/r/1432/ 2011-09-13 07:35 +0000 [r335511] Russell Bryant * include/asterisk/event.h, /, res/ais/evt.c, main/event.c: Merged revisions 335510 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r335510 | russell | 2011-09-13 02:24:34 -0500 (Tue, 13 Sep 2011) | 22 lines Merged revisions 335497 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r335497 | russell | 2011-09-13 02:11:36 -0500 (Tue, 13 Sep 2011) | 15 lines Fix a crash in res_ais. This patch resolves a crash observed in a load testing environment that involved the use of the res_ais module. I observed some crashes where the event delivery callback would get called, but the length parameter incidcating how much data there was to read was 0. The code assumed (with good reason I would think) that if this callback got called, there was an event available to read. However, if the rare case that there's nothing there, catch it and return instead of blowing up. More specifically, the change always ensure that the size of the received event in the cluster is always big enough to be a real ast_event. Review: https://reviewboard.asterisk.org/r/1423/ ........ ................ 2011-09-12 15:56 +0000 [r335435] Matthew Nicholson * main/channel.c, /: Merged revisions 335434 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r335434 | mnicholson | 2011-09-12 10:55:48 -0500 (Mon, 12 Sep 2011) | 13 lines Merged revisions 335433 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r335433 | mnicholson | 2011-09-12 10:54:41 -0500 (Mon, 12 Sep 2011) | 6 lines Properly set caller_warning and callee_warning before we try to use them. ASTERISK-18199 Patch by: elguero Testing by: rtang ........ ................ 2011-09-12 14:33 +0000 [r335385] Olle Johansson * channels/chan_sip.c: Documentation updates 2011-09-12 14:24 +0000 [r335354] Kinsey Moore * apps/app_dial.c, /: Merged revisions 335346 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r335346 | kmoore | 2011-09-12 09:22:15 -0500 (Mon, 12 Sep 2011) | 17 lines Merged revisions 335341 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r335341 | kmoore | 2011-09-12 09:21:17 -0500 (Mon, 12 Sep 2011) | 10 lines Ensure frames are not written to dialed channel if ringback is requested When a single channel was dialed and there was media to be forwarded to the calling channel, the media was written without regard for ringback causing silence to be heard in some circumstances. This regression was introduced when the meaning of "single" changed to mean only the number of channels dialed. (closes issue ASTERISK-18083) ........ ................ 2011-09-12 14:22 +0000 [r335324-335349] Olle Johansson * channels/chan_sip.c: Small documentation updates * CREDITS, channels/chan_sip.c, include/asterisk/indications.h, UPGRADE.txt, configs/sip.conf.sample, channels/sip/include/sip.h: New sip.conf option for setting default tonezone for channel or individual devices Review: https://reviewboard.asterisk.org/r/1429/ (closes issue ASTERISK-18497) Thanks to russellb for peer review. * /, channels/chan_sip.c: Merged revisions 335323 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r335323 | oej | 2011-09-12 15:47:13 +0200 (Mån, 12 Sep 2011) | 19 lines Merged revisions 335319 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r335319 | oej | 2011-09-12 15:25:30 +0200 (Mån, 12 Sep 2011) | 12 lines Lock the peer->mvipvt to avoid crashes with SIP history enabled After the launch of 1.6 event-based MWI we have two threads handling the peer->mwipvt, which cause issues with SIP history additions in combination with the max limit for number of history entries. Review: https://reviewboard.asterisk.org/r/1373/ (closes issue ASTERISK-18288) Thanks to irrot for peer review. Work with this bug funded by IPvision AS ........ ................ 2011-09-12 13:27 +0000 [r335322] Kinsey Moore * /, channels/chan_iax2.c: Merged revisions 335321 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r335321 | kmoore | 2011-09-12 08:27:04 -0500 (Mon, 12 Sep 2011) | 16 lines Merged revisions 335320 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r335320 | kmoore | 2011-09-12 08:25:42 -0500 (Mon, 12 Sep 2011) | 9 lines Prevent IAX2 from getting IPv6 addresses via DNS IAX2 does not support IPv6 and getting such addresses from DNS can cause error messages on the remote end involving bad IPv4 address casts in the presence of IPv6/IPv4 tunnels. This patch ensures that IAX2 will not encounter IPv6 addresses via DNS queries. (closes issue ASTERISK-18090) ........ ................ 2011-09-12 11:15 +0000 [r335261] Stefan Schmidt * /, channels/chan_sip.c: Merged revisions 335260 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r335260 | schmidts | 2011-09-12 11:11:45 +0000 (Mon, 12 Sep 2011) | 12 lines Merged revisions 335259 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r335259 | schmidts | 2011-09-12 11:09:19 +0000 (Mon, 12 Sep 2011) | 6 lines build_peer doesnt unlink a peer object from peers_by_ip container which leads to a wrong refcounter value. adding an ao2_unlink from the peers_by_ip container fix it. Review: https://reviewboard.asterisk.org/r/1428/ ........ ................ 2011-09-12 03:10 +0000 [r335170-335212] Paul Belanger * UPGRADE.txt: Be more specific on which section has changed. * main/cdr.c, UPGRADE.txt: Iterate though cdr.conf setting Review: https://reviewboard.asterisk.org/r/1426/ 2011-09-11 17:09 +0000 [r335129] Terry Wilson * configs/res_config_sqlite3.conf.sample (added), res/res_config_sqlite3.c (added): Add SQLite 3 realtime support 2011-09-09 16:28 +0000 [r335079] Matthew Jordan * channels/chan_unistim.c, apps/app_dial.c, main/pbx.c, addons/chan_ooh323.c, channels/chan_sip.c, channels/chan_console.c, channels/sig_pri.c, channels/chan_oss.c, main/channel.c, channels/chan_usbradio.c, main/dial.c, channels/chan_dahdi.c, channels/chan_misdn.c, channels/chan_skinny.c, funcs/func_frame_trace.c, main/features.c, channels/chan_h323.c, channels/chan_alsa.c, include/asterisk/frame.h, channels/sig_ss7.c, channels/chan_mgcp.c: Merged revisions 335078 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r335078 | mjordan | 2011-09-09 11:27:01 -0500 (Fri, 09 Sep 2011) | 29 lines Merged revisions 335064 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r335064 | mjordan | 2011-09-09 11:09:09 -0500 (Fri, 09 Sep 2011) | 23 lines Updated SIP 484 handling; added Incomplete control frame When a SIP phone uses the dial application and receives a 484 Address Incomplete response, if overlapped dialing is enabled for SIP, then the 484 Address Incomplete is forwarded back to the SIP phone and the HANGUPCAUSE channel variable is set to 28. Previously, the Incomplete application dialplan logic was automatically triggered; now, explicit dialplan usage of the application is required. Additionally, this patch adds a new AST_CONTOL_FRAME type called AST_CONTROL_INCOMPLETE. If a channel driver receives this control frame, it is an indication that the dialplan expects more digits back from the device. If the device supports overlap dialing it should attempt to notify the device that the dialplan is waiting for more digits; otherwise, it can handle the frame in a manner appropriate to the channel driver. (closes issue ASTERISK-17288) Reported by: Mikael Carlsson Tested by: Matthew Jordan Review: https://reviewboard.asterisk.org/r/1416/ ........ ................ 2011-09-09 07:28 +0000 [r335015] Gregory Nietsky * funcs/func_dialplan.c, /, apps/app_readexten.c, CHANGES: Merged revisions 335014 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r335014 | irroot | 2011-09-09 09:23:53 +0200 (Fri, 09 Sep 2011) | 9 lines Move code for VALID_EXTEN from app_readexten to func_dialplan Mark VALID_EXTEN deprecated. Review: https://reviewboard.asterisk.org/r/1396/ ........ 2011-09-08 22:30 +0000 [r334955] Richard Mudgett * /, main/logger.c: Merged revisions 334954 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r334954 | rmudgett | 2011-09-08 17:28:56 -0500 (Thu, 08 Sep 2011) | 17 lines Merged revisions 334953 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r334953 | rmudgett | 2011-09-08 17:27:40 -0500 (Thu, 08 Sep 2011) | 10 lines Fix crash with res_fax when MALLOC_DEBUG and "core stop gracefully" are used. Asterisk crashes if MALLOC_DEBUG is enabled when res_fax tries to unregister its logger level. * Make ast_logger_unregister_level() use ast_free() instead of free(). When MALLOC_DEBUG is enabled, ast_free() does not degenerate into a call to free(). Therefore, if you allocated memory with a form of ast_malloc you must free it with ast_free. ........ ................ 2011-09-08 13:36 +0000 [r334907] Jonathan Rose * main/cdr.c, main/pbx.c: Removes colorful verb statements erroneously commited with r332760 2011-09-07 19:38 +0000 [r334845] Paul Belanger * /, channels/chan_iax2.c: Merged revisions 334844 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r334844 | pabelanger | 2011-09-07 15:37:24 -0400 (Wed, 07 Sep 2011) | 11 lines Merged revisions 334843 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r334843 | pabelanger | 2011-09-07 15:35:52 -0400 (Wed, 07 Sep 2011) | 4 lines Cleanup chan_iax2.c log messages Review: https://code.asterisk.org/code/cru/CR-AST-11 ........ ................ 2011-09-07 19:35 +0000 [r334842] Richard Mudgett * /, main/features.c: Merged revisions 334841 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r334841 | rmudgett | 2011-09-07 14:33:38 -0500 (Wed, 07 Sep 2011) | 17 lines Merged revisions 334840 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r334840 | rmudgett | 2011-09-07 14:31:44 -0500 (Wed, 07 Sep 2011) | 10 lines Fix AMI action Park crash. * Made AMI action Park not say anything to the parker channel (AMI header Channel2) since the AMI action is a third party parking the call. (This is a change in behavior that cannot be preserved without a lot of effort.) * Made not play pbx-parkingfailed if the Park 's' option is used. JIRA AST-660 ........ ................ 2011-09-07 15:37 +0000 [r334683-334792] Stefan Schmidt * /, main/features.c: Merged revisions 334747 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r334747 | schmidts | 2011-09-07 15:10:37 +0000 (Wed, 07 Sep 2011) | 9 lines Merged revisions 334682 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r334682 | schmidts | 2011-09-07 13:26:50 +0000 (Wed, 07 Sep 2011) | 3 lines Adding the Feature to sent a Reason Header in a SIP Cancel message by set the flag AST_FLAG_ANSWERED_ELSEWHERE before doing a masquerade in the pickup function. ........ ................ * main/features.c: clean up wrong merged stuff * /, main/features.c: Merged revisions 334682 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r334682 | schmidts | 2011-09-07 13:26:50 +0000 (Wed, 07 Sep 2011) | 3 lines Adding the Feature to sent a Reason Header in a SIP Cancel message by set the flag AST_FLAG_ANSWERED_ELSEWHERE before doing a masquerade in the pickup function. ........ * main/features.c: Adding the Feature to sent a Reason Header in a SIP Cancel message by set the flag AST_FLAG_ANSWERED_ELSEWHERE before doing a masquerade in the pickup function. 2011-09-07 08:17 +0000 [r334618-334623] Alec L Davis * /, CHANGES, apps/app_queue.c: Merged revisions 334621 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r334621 | alecdavis | 2011-09-07 20:14:50 +1200 (Wed, 07 Sep 2011) | 9 lines Merged revisions 334620 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r334620 | alecdavis | 2011-09-07 20:12:49 +1200 (Wed, 07 Sep 2011) | 2 lines peroid typo ........ ................ * main/logger.c: log Asterisk Version number, Build etc into each log file Allow tracking of previous versions through log file records to be tracked. Each time log file is created or opened, log Asterisk Version, Buildinfo. etc. alecdavis (license 585) Tested by: alecdavis Review: https://reviewboard.asterisk.org/r/1409/ * main/pbx.c, /: Merged revisions 334617 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r334617 | alecdavis | 2011-09-07 19:45:00 +1200 (Wed, 07 Sep 2011) | 17 lines Merged revisions 334616 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r334616 | alecdavis | 2011-09-07 19:33:39 +1200 (Wed, 07 Sep 2011) | 10 lines Prevent segfault if call arrives before Asterisk is fully booted. Prevent ast_pbx_start and ast_run_start from starting a new thread unless asterisk is fully booted. alecdavis (license 585) Tested by: alecdavis Review: https://reviewboard.asterisk.org/r/1407/ ........ ................ 2011-09-07 00:54 +0000 [r334574] Tilghman Lesher * main/frame.c, contrib/realtime/mysql/iaxfriends.sql, contrib/realtime/postgresql/realtime.sql, configs/sip.conf.sample, CHANGES, contrib/realtime/mysql/sipfriends.sql: Implement the '!' negation element to negate codecs directly in the allow keyword. This permits the list of codecs to be specified in one configuration line, instead of two or more, generally with the aim of either allowing all codecs with the exception of a few or disallowing most but permitting a few. Review: https://reviewboard.asterisk.org/r/1411/ 2011-09-06 16:15 +0000 [r334519] Gregory Nietsky * /, apps/app_voicemail.c: Merged revisions 334455 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r334455 | irroot | 2011-09-06 15:58:56 +0200 (Tue, 06 Sep 2011) | 18 lines Merged revisions 334453 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r334453 | irroot | 2011-09-06 15:48:03 +0200 (Tue, 06 Sep 2011) | 13 lines Make SQL query in app_voicemail.c portable LIMIT is not portable. Regression from r312212 (closes issue ASTERISK-18255) Reported by: Leif Madsen Tested by: Leif Madsen Review: https://reviewboard.asterisk.org/r/1415/ ........ ................ 2011-09-06 16:08 +0000 [r334517] Paul Belanger * configs/iax.conf.sample, /, CHANGES, channels/chan_iax2.c: Merged revisions 334514 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r334514 | pabelanger | 2011-09-06 11:47:59 -0400 (Tue, 06 Sep 2011) | 6 lines authdebug is now disabled by default To enable this functionaility again set authdebug = yes in iax.conf Review: https://reviewboard.asterisk.org/r/1414/ ........ 2011-09-06 16:04 +0000 [r334472-334515] Gregory Nietsky * /, apps/app_voicemail.c: Revert r334472 due to properties going missing * /, apps/app_voicemail.c: Merged revisions 334455 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r334455 | irroot | 2011-09-06 15:58:56 +0200 (Tue, 06 Sep 2011) | 18 lines Merged revisions 334453 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r334453 | irroot | 2011-09-06 15:48:03 +0200 (Tue, 06 Sep 2011) | 13 lines Make SQL query in app_voicemail.c portable LIMIT is not portable. Regression from r312212 (closes issue ASTERISK-18255) Reported by: Leif Madsen Tested by: Leif Madsen Review: https://reviewboard.asterisk.org/r/1415/ ........ ................ 2011-09-02 21:09 +0000 [r334304-334358] Richard Mudgett * /, res/res_musiconhold.c: Merged revisions 334357 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r334357 | rmudgett | 2011-09-02 16:08:16 -0500 (Fri, 02 Sep 2011) | 26 lines Merged revisions 334355 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r334355 | rmudgett | 2011-09-02 15:59:49 -0500 (Fri, 02 Sep 2011) | 19 lines MusicOnHold has extra unref which may lead to memory corruption and crash. The problem happens when a call is disconnected and you had started a MOH class that does not use the files mode. If you define REF_DEBUG and recreate the problem, it will announce itself with the following warning: Attempt to unref mohclass 0xb70722e0 (default) when only 1 ref remained, and class is still in a container! * Fixed moh_alloc() and moh_release() functions not handling the state->class reference consistently. (closes issue ASTERISK-18346) Reported by: Mark Murawski Patches: jira_asterisk_18346_v1.8.patch (license #5621) patch uploaded by rmudgett Tested by: rmudgett, Mark Murawski Review: https://reviewboard.asterisk.org/r/1404/ ........ ................ * /, include/asterisk/config.h, main/config.c: Merged revisions 334297 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r334297 | rmudgett | 2011-09-02 12:15:08 -0500 (Fri, 02 Sep 2011) | 46 lines Merged revisions 334296 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r334296 | rmudgett | 2011-09-02 12:10:58 -0500 (Fri, 02 Sep 2011) | 39 lines Fix potential memory allocation failure crashes in config.c. * Added required checks to the returned memory allocation pointers to prevent crashes. * Made ast_include_rename() create a replacement ast_variable list node if the new filename is longer than the available space. Fixes potential crash and memory leak. * Factored out ast_variable_move() from ast_variable_update() so ast_include_rename() can also use it when creating a replacement ast_variable list node. * Made the filename stuffed at the end of the struct a minimum allocated size in ast_variable_new() in case ast_include_rename() changes the stored filename. * Constify struct char pointers pointing to strings stuffed at the end of the struct for: ast_variable, cache_file_mtime, and ast_config_map. * Factored out cfmtime_new() to remove inlined code and allow some struct pointers to become const. * Removed the list lock from struct cache_file_mtime that was never used. * Added doxygen comments to several structure elements and better documented what strings are stuffed at the struct end char array. * Reworked ast_config_text_file_save() and set_fn() to handle allocation failure of the include file scratch pad object tracking blank lines. * Made ast_config_text_file_save() fn[] declared with PATH_MAX to ensure it is long enough for any filename with path. Also reduced the number of container fileset buckets from a rediculus 180,000 to 1023. JIRA AST-618 Review: https://reviewboard.asterisk.org/r/1378/ ........ ................ 2011-09-01 17:41 +0000 [r334231-334236] Tilghman Lesher * main/pbx.c, /: Merged revisions 334235 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r334235 | tilghman | 2011-09-01 12:39:32 -0500 (Thu, 01 Sep 2011) | 9 lines Merged revisions 334234 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r334234 | tilghman | 2011-09-01 12:38:33 -0500 (Thu, 01 Sep 2011) | 2 lines Remove 1.6 compatibility documentation from 1.8, as it no longer applies. ........ ................ * res/res_config_odbc.c, /: Merged revisions 334230 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r334230 | tilghman | 2011-09-01 12:30:19 -0500 (Thu, 01 Sep 2011) | 25 lines Merged revisions 334229 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r334229 | tilghman | 2011-09-01 12:28:09 -0500 (Thu, 01 Sep 2011) | 18 lines Create a local alias for ast_odbc_clear_cache. As a function pointer, the reference has to be resolved at load time irrespective of the RTLD_LAZY flag. Creating a local alias solves this problem, because the structure is initialized with that local function pointer, while the actual function can remain lazily linked until runtime. The reason why this is important is because we lazily load function references during the module loading process, in order to obtain priority values for each module, ensuring that modules are loaded in the correct order. Previous to this change, when this module was initially loaded, the module loader would emit a symbol resolution error, because of the above requirement. Closes ASTERISK-18399 (reported by Mikael Carlsson, fix suggested by Walter Doekes, patch by me) ........ ................ 2011-08-31 18:54 +0000 [r334158] Matthew Nicholson * /, channels/chan_sip.c: Merged revisions 334157 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r334157 | mnicholson | 2011-08-31 13:53:40 -0500 (Wed, 31 Aug 2011) | 11 lines Merged revisions 334156 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r334156 | mnicholson | 2011-08-31 13:50:33 -0500 (Wed, 31 Aug 2011) | 4 lines Disable T.38 when we get a invite with image media port set to 0 ASTERISK-17678 ........ ................ 2011-08-31 18:11 +0000 [r334115] Richard Mudgett * channels/chan_sip.c: Optimize chan_sip.c check_rtp_timeout() function. * Make check_rtp_timeout() remember the values returned by ast_rtp_instance_get_timeout(), ast_rtp_instance_get_hold_timeout(), and ast_rtp_instance_get_keepalive() instead of repeatedly calling them. (closes issue ASTERISK-18319) Reported by: Rob Gagnon Patches: issue-18319-trunk-r333066.diff (License #6159) patch uploaded by Rob Gagnon Review: https://reviewboard.asterisk.org/r/1377/ 2011-08-31 16:31 +0000 [r334067] Matthew Nicholson * /, res/res_fax.c: Merged revisions 334064 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r334064 | mnicholson | 2011-08-31 11:31:00 -0500 (Wed, 31 Aug 2011) | 4 lines only alter the gateway_timeout when attching the gateway to a channel ASTERISK-18219 ........ 2011-08-31 16:02 +0000 [r334011-334014] Richard Mudgett * channels/chan_dahdi.c, /: Merged revisions 334013 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r334013 | rmudgett | 2011-08-31 11:00:49 -0500 (Wed, 31 Aug 2011) | 30 lines Merged revisions 334012 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r334012 | rmudgett | 2011-08-31 10:57:12 -0500 (Wed, 31 Aug 2011) | 23 lines No DAHDI channel available for conference, user introduction disabled. The following error will consistently occur when trying to dial into a MeetMe conference when the server does not have DAHDI hardware installed: app_meetme.c: No DAHDI channel available for conference, user introduction disabled (is chan_dahdi loaded?) While chan_dahdi is loaded correctly during compilation and install of Asterisk/Dahdi, including associated modules, etc., a chan_dahdi.conf configuration file in /etc/asterisk is not created by FreePBX if hardware does not exist, causing MeetMe to be unable to open a DAHDI pseudo channel. * Allow chan_dahdi to create a pseudo channel when there is no chan_dahdi.conf file to load. (closes issue ASTERISK-17398) Reported by: Preston Edwards Patches: jira_asterisk_17398_v1.8.patch (license #5621) patch uploaded by rmudgett Tested by: rmudgett ........ ................ * main/channel.c, /, channels/chan_agent.c: Merged revisions 334010 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r334010 | rmudgett | 2011-08-31 10:23:11 -0500 (Wed, 31 Aug 2011) | 50 lines Merged revisions 334009 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r334009 | rmudgett | 2011-08-31 10:20:31 -0500 (Wed, 31 Aug 2011) | 43 lines Call pickup race leaves orphaned channels or crashes. Multiple users attempting to pickup a call that has been forked to multiple extensions either crashes or fails a masquerade with a "bad things may happen" message. This is the scenario that is causing all the grief: 1) Pickup target is selected 2) target is marked as being picked up in ast_do_pickup() 3) target is unlocked by ast_do_pickup() 4) app dial or queue gets a chance to hang up losing calls and calls ast_hangup() on target 5) SINCE A MASQUERADE HAS NOT BEEN SETUP YET BY ast_do_pickup() with ast_channel_masquerade(), ast_hangup() completes successfully and the channel is no longer in the channels container. 6) ast_do_pickup() then calls ast_channel_masquerade() to schedule the masquerade on the dead channel. 7) ast_do_pickup() then calls ast_do_masquerade() on the dead channel 8) bad things happen while doing the masquerade and in the process ast_do_masquerade() puts the dead channel back into the channels container 9) The "orphaned" channel is visible in the channels list if a crash does not happen. This patch does the following: * Made ast_hangup() set AST_FLAG_ZOMBIE on a successfully hung-up channel and not release the channel lock until that has happened. * Made __ast_channel_masquerade() not setup a masquerade if either channel has AST_FLAG_ZOMBIE set. * Fix chan_agent misuse of AST_FLAG_ZOMBIE since it would no longer work. (closes issue ASTERISK-18222) Reported by: Alec Davis Tested by: rmudgett, Alec Davis, irroot, Karsten Wemheuer (closes issue ASTERISK-18273) Reported by: Karsten Wemheuer Tested by: rmudgett, Alec Davis, irroot, Karsten Wemheuer Review: https://reviewboard.asterisk.org/r/1400/ ........ ................ 2011-08-31 15:20 +0000 [r334008] Kinsey Moore * /, channels/chan_sip.c: Merged revisions 334007 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r334007 | kmoore | 2011-08-31 10:19:30 -0500 (Wed, 31 Aug 2011) | 14 lines Merged revisions 334006 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r334006 | kmoore | 2011-08-31 10:18:37 -0500 (Wed, 31 Aug 2011) | 7 lines Correct an AMI protocol violation with SIPshowpeer The response of SIPshowpeer ends with "\r\n\r\n". Since other commands are ended by using \r\n this confuses any interfacing script. (closes issue ASTERISK-17486) ........ ................ 2011-08-30 22:16 +0000 [r333963] Alexandr Anikin * addons/ooh323c/src/ooh323.c, addons/ooh323c/src/ooGkClient.c, /, addons/ooh323c/src/ooCalls.h, addons/ooh323c/src/oochannels.c, addons/ooh323c/src/ooq931.c, addons/ooh323c/src/ooCalls.c: Merged revisions 333961-333962 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r333961 | may | 2011-08-31 01:21:53 +0400 (Wed, 31 Aug 2011) | 11 lines Merged revisions 333947 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r333947 | may | 2011-08-31 01:16:30 +0400 (Wed, 31 Aug 2011) | 5 lines cleanups in ACF/ARJ GK replies processing fixed long (24 sec) pause if acf/arj proccessed before ast_cond_wait called to wait this ........ ................ r333962 | may | 2011-08-31 01:53:42 +0400 (Wed, 31 Aug 2011) | 3 lines security fix. really drop call if signalling addr is not same as socket addr ................ 2011-08-30 14:03 +0000 [r333896] Matthew Nicholson * /, res/res_fax.c: Merged revisions 333895 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r333895 | mnicholson | 2011-08-30 09:01:31 -0500 (Tue, 30 Aug 2011) | 6 lines Replaced FAXOPT(gwtimeout) with a second parameter to FAXOPT(gateway). Patch by: irroot Review: https://reviewboard.asterisk.org/r/1385/ ASTERISK-18219 ........ 2011-08-29 21:43 +0000 [r333838] Terry Wilson * /, channels/chan_sip.c: Merged revisions 333837 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r333837 | twilson | 2011-08-29 16:41:13 -0500 (Mon, 29 Aug 2011) | 22 lines Merged revisions 333836 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r333836 | twilson | 2011-08-29 16:38:31 -0500 (Mon, 29 Aug 2011) | 15 lines Refresh peer address if DNS unavailable at peer creation If Asterisk starts and no DNS is available, outbound registrations will fail indefinitely. This patch copies the address from the sip_registry struct, which will be updated, to the peer->addr when necessary. If dnsmgr is enabled, the registration fails without the patch because even though the address on the registry is updated via dnsmgr, the address is just copied on the first try. Since we use ast_sockaddr_copy, dnsmgr can't update the address that is copied to the sip_pvt or peers. Closes issue ASTERISK-18000 Review: https://reviewboard.asterisk.org/r/1335/ ........ ................ 2011-08-29 21:17 +0000 [r333789] Richard Mudgett * /, include/asterisk/channel.h, addons/chan_mobile.c: Merged revisions 333786 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r333786 | rmudgett | 2011-08-29 16:12:29 -0500 (Mon, 29 Aug 2011) | 13 lines Merged revisions 333784-333785 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r333784 | rmudgett | 2011-08-29 16:05:43 -0500 (Mon, 29 Aug 2011) | 2 lines Fix deadlock potential of chan_mobile.c:mbl_ast_hangup(). ........ r333785 | rmudgett | 2011-08-29 16:06:16 -0500 (Mon, 29 Aug 2011) | 1 line Add some do not hold locks notes to channel.h ........ ................ 2011-08-29 18:28 +0000 [r333736] Matthew Nicholson * /, res/res_fax_spandsp.c: Merged revisions 333716 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r333716 | mnicholson | 2011-08-29 13:22:58 -0500 (Mon, 29 Aug 2011) | 5 lines It is possible for the gateway to be attached when the channel is still negotiating T.38. This change handles that case. ASTERISK-18329 ........ 2011-08-29 17:31 +0000 [r333689] Terry Wilson * main/channel.c, /, CHANGES: Merged revisions 333681 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r333681 | twilson | 2011-08-29 12:28:59 -0500 (Mon, 29 Aug 2011) | 7 lines Use realtime text when it is negotiated This patch make use of wirte_text() realtime text instead of send_text() if T.140 is in native formats. ASTERISK-17937 Review: https://reviewboard.asterisk.org/r/1356/ ........ 2011-08-29 17:14 +0000 [r333632] Matthew Jordan * apps/app_voicemail.c: Merged revisions 333631 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r333631 | mjordan | 2011-08-29 12:12:55 -0500 (Mon, 29 Aug 2011) | 9 lines Merged revisions 333630 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r333630 | mjordan | 2011-08-29 12:11:15 -0500 (Mon, 29 Aug 2011) | 1 line Fixed improperly formatted TestEvent AMI message in app_voicemail ........ ................ 2011-08-29 15:58 +0000 [r333571] Jonathan Rose * /, res/res_jabber.c: Merged revisions 333570 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r333570 | jrose | 2011-08-29 10:56:56 -0500 (Mon, 29 Aug 2011) | 11 lines Merged revisions 333569 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r333569 | jrose | 2011-08-29 10:55:34 -0500 (Mon, 29 Aug 2011) | 4 lines Accidental use of variable client->status instead of client->state in from ASTERISK-18078 (issue ASTERISK-18078) ........ ................ 2011-08-28 09:57 +0000 [r333509] Tzafrir Cohen * channels/chan_vpb.cc: chan_vpb: remove unused variables (gcc4.6) GCC 4.6 detects variables that get assined to, but never used later. Also removes some remmed-out lines that become invalid. (closes issue ASTERISK-18336) Signed-off-by: Tzafrir Cohen (License #5035) , 2011-08-26 16:38 +0000 [r333428] Jonathan Rose * /, res/res_jabber.c: Merged revisions 333410 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r333410 | jrose | 2011-08-26 11:28:03 -0500 (Fri, 26 Aug 2011) | 19 lines Merged revisions 333378 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r333378 | jrose | 2011-08-26 11:19:07 -0500 (Fri, 26 Aug 2011) | 13 lines [patch] Buddies are always auto-registered when processing the roster Reporter said autoregister flag was ignored for registering 'buddies' which had a subscription to us. Verified that this was the case and observed how the patch addressed this and made sure it didn't break anything. (closes issue ASTERISK-14233) Reported by: Simon Arlott Patches: asterisk-0015229.patch (license #5756) patch uploaded by Simon Arlott Tested by: Jonathan Rose ........ ................ 2011-08-26 16:12 +0000 [r333371] Matthew Jordan * /, apps/app_voicemail.c: Merged revisions 333370 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r333370 | mjordan | 2011-08-26 10:58:37 -0500 (Fri, 26 Aug 2011) | 26 lines Merged revisions 333339 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r333339 | mjordan | 2011-08-26 08:36:36 -0500 (Fri, 26 Aug 2011) | 20 lines Bug fixes for voicemail user emailsubject / emailbody. This code change fixes a few issues with the voicemail user override of emailbody and emailsubject, including escaping the strings, potential memory leaks, and not overriding the voicemail defaults. Revision 325877 fixed this for ASTERISK-16795, but did not fix it for ASTERISK-16781. A subsequent check-in prevented 325877 from being applied to 10. This check-in resolves both issues, and applies the changes to 1.8, 10, and trunk. (closes issue ASTERISK-16781) Reported by: Sebastien Couture Tested by: mjordan (closes issue ASTERISK-16795) Reported by: mdeneen Tested by: mjordan Review: https://reviewboard.asterisk.org/r/1374 ........ ................ 2011-08-25 19:13 +0000 [r333276] Jonathan Rose * /, res/res_jabber.c: Merged revisions 333266 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r333266 | jrose | 2011-08-25 14:00:05 -0500 (Thu, 25 Aug 2011) | 20 lines Merged revisions 333265 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r333265 | jrose | 2011-08-25 13:47:42 -0500 (Thu, 25 Aug 2011) | 14 lines Segfault when publishing device states via XMPP and not connected When using publishing device state with res_jabber, Asterisk will attempt to send a device state using the unconnected client using iks_send_raw and crash. This patch checks the validity of the connection before attempting to send the device state. (closes issue ASTERISK-18078) Reported by: Michael L. Young Patches: res_jabber-segfault-pubsub-not-connected2.patch (license #5026) patch uploaded by Michael L. Young Tested by: Jonathan Rose ........ ................ 2011-08-25 19:01 +0000 [r333159-333269] Jason Parker * Makefile, /: Merged revisions 333268 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r333268 | qwell | 2011-08-25 14:01:18 -0500 (Thu, 25 Aug 2011) | 9 lines Merged revisions 333267 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r333267 | qwell | 2011-08-25 14:00:55 -0500 (Thu, 25 Aug 2011) | 2 lines Fix for DESTDIR spaces patch. ........ ................ * Makefile, build_tools/mkpkgconfig, /, configure, configure.ac, makeopts.in, sounds/Makefile: Merged revisions 333203 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r333203 | qwell | 2011-08-25 10:29:56 -0500 (Thu, 25 Aug 2011) | 15 lines Merged revisions 333201 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r333201 | qwell | 2011-08-25 10:27:06 -0500 (Thu, 25 Aug 2011) | 8 lines Fix installation into directories containing spaces. This also vastly simplifies the logic in sounds/Makefile (Closes issue ASTERISK-18290) Reported by: Paul Belanger Review: https://reviewboard.asterisk.org/r/1379/ ........ ................ * channels/chan_local.c: Fix typo from r333070 2011-08-24 16:52 +0000 [r333117] Matthew Nicholson * /, res/res_fax.c: Merged revisions 333115 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r333115 | mnicholson | 2011-08-24 11:51:42 -0500 (Wed, 24 Aug 2011) | 4 lines Changed the "timeout" option to "gwtimeout". ASTERISK-18219 ........ 2011-08-24 09:17 +0000 [r333070-333075] Olle Johansson * channels/chan_local.c: Formatting changes - Removing some red white space and adding some curly brackets. * CHANGES: Add documentation for new manager event in chan_local AST-17623 * channels/chan_local.c: Add manager event for local channel semi-bridge (issue AST-17623) Review: https://reviewboard.asterisk.org/r/1154 2011-08-23 18:17 +0000 [r332881-333014] Richard Mudgett * /, apps/app_queue.c: Merged revisions 333011 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r333011 | rmudgett | 2011-08-23 13:15:49 -0500 (Tue, 23 Aug 2011) | 19 lines Merged revisions 333010 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r333010 | rmudgett | 2011-08-23 13:14:01 -0500 (Tue, 23 Aug 2011) | 12 lines Memory Leak in app_queue The patch that was committed in the 1.6.x versions of Asterisk for ASTERISK-15862 actually fixed two issues. One was not applicable to 1.8 but the other is. queue_leak.patch fixes the portion applicable to 1.8. (closes issue ASTERISK-18265) Reported by: Fred Schroeder Patches: queue_leak.patch (license #5049) patch uploaded by mmichelson Tested by: Thomas Arimont ........ ................ * /, main/config.c: Merged revisions 332940 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r332940 | rmudgett | 2011-08-22 16:23:40 -0500 (Mon, 22 Aug 2011) | 14 lines Merged revisions 332939 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r332939 | rmudgett | 2011-08-22 16:22:24 -0500 (Mon, 22 Aug 2011) | 7 lines Minor code optimizations. * Simplify ast_category_browse() logic for easier understanding. * Remove dead code in ast_variable_delete() and simplify some of its logic. ........ ................ * /, apps/app_queue.c: Merged revisions 332875,332878 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r332875 | rmudgett | 2011-08-22 14:41:03 -0500 (Mon, 22 Aug 2011) | 1 line Fix merge property. ................ r332878 | rmudgett | 2011-08-22 14:46:25 -0500 (Mon, 22 Aug 2011) | 25 lines Merged revisions 332874 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r332874 | rmudgett | 2011-08-22 14:32:19 -0500 (Mon, 22 Aug 2011) | 18 lines Reference leaks in app_queue. * Fixed load_realtime_queue() leaking a queue reference when it overwrites q when processing a realtime queue. (issue ASTERISK-18265) * Make join_queue() unreference the queue returned by load_realtime_queue() when it is done with the pointer. The load_realtime_queue() returns a reference to the just loaded realtime queue. * Fixed queues container reference leak in queues_data_provider_get(). * queue_unref() should not return q that was just unreferenced. * Made logic in __queues_show() and queues_data_provider_get() when calling load_realtime_queue() easier to understand. ........ ................ 2011-08-22 19:56 +0000 [r332880] Paul Belanger * /, channels/chan_gtalk.c: Merged revisions 332877 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r332877 | pabelanger | 2011-08-22 15:43:33 -0400 (Mon, 22 Aug 2011) | 13 lines Merged revisions 332876 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r332876 | pabelanger | 2011-08-22 15:41:24 -0400 (Mon, 22 Aug 2011) | 6 lines Revert previous commit It seems google is still making changes to the protocol. (issue ASTERISK-18301) ........ ................ 2011-08-22 19:52 +0000 [r332879] Richard Mudgett * /: Fix merge 10 branch merge properties. 2011-08-22 19:19 +0000 [r332844] Matthew Jordan * include/asterisk/test.h, main/manager.c, /, main/file.c, main/test.c, main/app.c, configs/manager.conf.sample, include/asterisk/manager.h, apps/app_voicemail.c: Merged revisions 332817 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r332817 | mjordan | 2011-08-22 13:15:51 -0500 (Mon, 22 Aug 2011) | 4 lines Review: https://reviewboard.asterisk.org/r/1364/ This update adds a new AMI event, TestEvent, which is enabled when the TEST_FRAMEWORK compiler flag is defined. It also adds initial usage of this event to app_voicemail. The TestEvent AMI event is used extensively by the voicemail tests in the Asterisk Test Suite. ........ 2011-08-22 18:33 +0000 [r332762-332831] Richard Mudgett * res/res_config_pgsql.c, res/res_config_odbc.c, /: Merged revisions 332830 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r332830 | rmudgett | 2011-08-22 13:32:09 -0500 (Mon, 22 Aug 2011) | 15 lines Merged revisions 332816 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r332816 | rmudgett | 2011-08-22 13:14:59 -0500 (Mon, 22 Aug 2011) | 8 lines Memory leaks in realtime_multi_xxx() when database access returns error. * Fix realtime_multi_pgsql() configuration memory leak when the database access returns an error. * Fix realtime_multi_odbc() configuration category use after free when the database access returns an error. ........ ................ * /, main/config.c: Merged revisions 332761 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r332761 | rmudgett | 2011-08-22 12:05:35 -0500 (Mon, 22 Aug 2011) | 22 lines Merged revisions 332759 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r332759 | rmudgett | 2011-08-22 12:00:03 -0500 (Mon, 22 Aug 2011) | 15 lines Memory leak reading realtime database variable list. Calling ast_load_realtime() can leak the last list node if the read list only contains empty variable value items. * Fixed list filter loop in ast_load_realtime() to delete the list node immediately instead of the next time through the loop. The next time through the loop may not happen if the node to delete is the last in the list. (issue ASTERISK-18277) (issue ASTERISK-18265) Patches: jira_asterisk_18265_v1.8_config.patch (license #5621) patch uploaded by rmudgett ........ ................ 2011-08-22 17:05 +0000 [r332760] Jonathan Rose * main/cdr.c, main/pbx.c, configs/cdr.conf.sample, include/asterisk/cdr.h, CHANGES: Add option for logging congested calls as CONGESTION instead of NO_ANSWER in CDR This patch adds a CDR option to cdr.conf that will allow CDR files to log calls ending with congestion in a way that is unique from other unanswered calls. (closes issue ASTERISK-14842) Reported by: Alec Davis Patches: cdr_congestion.diff.txt (License #5546) patch uploaded by Alec Davis 2011-08-22 16:31 +0000 [r332757] Matthew Nicholson * /, res/res_fax.c, include/asterisk/res_fax.h: Merged revisions 332756 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r332756 | mnicholson | 2011-08-22 11:29:45 -0500 (Mon, 22 Aug 2011) | 4 lines add a way to disable and/or modify the gateway timeout ASTERISK-18219 ........ 2011-08-21 14:34 +0000 [r332701] Paul Belanger * /, channels/chan_gtalk.c: Merged revisions 332700 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r332700 | pabelanger | 2011-08-21 10:33:23 -0400 (Sun, 21 Aug 2011) | 12 lines Merged revisions 332699 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r332699 | pabelanger | 2011-08-21 10:31:31 -0400 (Sun, 21 Aug 2011) | 5 lines Fix outgoing calls in chan_gtalk (closes issue ASTERISK-18301) Reported by: az1324 ........ ................ 2011-08-19 20:00 +0000 [r332655] Kinsey Moore * /, apps/app_confbridge.c: Merged revisions 332654 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r332654 | kmoore | 2011-08-19 14:59:34 -0500 (Fri, 19 Aug 2011) | 8 lines Make CONFBRIDGE_INFO behave more nicely CONFBRIDGE_INFO doesn't behave as well in edge cases as MEETME_INFO. With this patch, CONFBRIDGE_INFO should behave in a much more reasonable manner when presented with invalid conferences and keywords. Review: https://reviewboard.asterisk.org/r/1359/ ........ 2011-08-19 17:24 +0000 [r332615] Richard Mudgett * res/res_config_ldap.c: Fix infinite loop releasing the same memory in ldap_loadentry(). * Fixed memory leak of vars in ldap_loadentry(). * Fixed potential NULL ptr dereference of vars in ldap_loadentry(). 2011-08-18 21:39 +0000 [r332561] Terry Wilson * main/netsock2.c, /: Merged revisions 332560 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r332560 | twilson | 2011-08-18 16:34:04 -0500 (Thu, 18 Aug 2011) | 12 lines Merged revisions 332559 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r332559 | twilson | 2011-08-18 16:26:01 -0500 (Thu, 18 Aug 2011) | 5 lines Fix possible error on stringification of IPv4-mapped addrs The FreeBSD netsock2 test has been failing for a while. We were pasing sa->len to getnameinfo instead of sa_tmp->len. ASTERISK-18289 ........ ................ 2011-08-18 19:30 +0000 [r332505] Kinsey Moore * channels/chan_dahdi.c, /: Merged revisions 332504 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r332504 | kmoore | 2011-08-18 14:29:15 -0500 (Thu, 18 Aug 2011) | 15 lines Merged revisions 332503 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r332503 | kmoore | 2011-08-18 14:28:00 -0500 (Thu, 18 Aug 2011) | 8 lines CRC4 in "dahdi show status" gives wrong impression to T1 users Change CRC4 to CRC in the output of "dahdi show status" so that it can apply in more situations without confusing users, especially since T1 lines use CRC6 instead of CRC4. (closes issue AST-471) ........ ................ 2011-08-18 14:49 +0000 [r332388-332448] Tilghman Lesher * build_tools/cflags.xml, build_tools/cflags-devmode.xml, /: Merged revisions 332447 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r332447 | tilghman | 2011-08-18 09:48:40 -0500 (Thu, 18 Aug 2011) | 9 lines Merged revisions 332446 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r332446 | tilghman | 2011-08-18 09:46:54 -0500 (Thu, 18 Aug 2011) | 2 lines Move BETTER_BACKTRACES out of development mode, as it's useful when DEBUG_THREADS is enabled. ........ ................ * Makefile, agi/Makefile, utils/Makefile, /, configure, include/asterisk/autoconfig.h.in, configure.ac, Makefile.moddir_rules, makeopts.in, sounds/Makefile: Merged revisions 332369 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r332369 | tilghman | 2011-08-17 14:24:59 -0500 (Wed, 17 Aug 2011) | 17 lines Merged revisions 332355 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r332355 | tilghman | 2011-08-17 14:21:36 -0500 (Wed, 17 Aug 2011) | 10 lines Re-add support for spaces in pathnames, including now spaces in DESTDIR. This was initially added to 1.8 prior to release, primarily to support the standard paths on Mac OS X, but was partially reverted recently in Subversion, due to the lack of support for spaces in DESTDIR. This commit restores support for the standard paths on Mac OS X, and also includes support for spaces in DESTDIR. (closes issue ASTERISK-18290) Reported by: pabelanger Review: https://reviewboard.asterisk.org/r/1326/ ........ ................ 2011-08-17 18:31 +0000 [r332337] Terry Wilson * /, res/res_timing_timerfd.c: Merged revisions 332321 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r332321 | twilson | 2011-08-17 13:09:49 -0500 (Wed, 17 Aug 2011) | 17 lines Merged revisions 332320 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r332320 | twilson | 2011-08-17 12:35:27 -0500 (Wed, 17 Aug 2011) | 10 lines Don't read from a disarmed or invalid timerfd Numerous isues have been reported for deadlocks that are caused by a blocking read in res_timing_timerfd on a file descriptor that will never be written to. This patch adds some checks to make sure that the timerfd is both valid and armed before calling read(). Should fix: ASTERISK-18142, ASTERISK-18166, ASTERISK-18197, AST-486, AST-495, AST-507 and possibly others. Review: https://reviewboard.asterisk.org/r/1361/ ........ ................ 2011-08-17 16:18 +0000 [r332270] Richard Mudgett * channels/sig_pri.h, channels/chan_dahdi.c, configs/chan_dahdi.conf.sample, /, configure, include/asterisk/autoconfig.h.in, configure.ac, channels/sig_pri.c: Merged revisions 332265 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r332265 | rmudgett | 2011-08-17 11:01:29 -0500 (Wed, 17 Aug 2011) | 33 lines Merged revisions 332264 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r332264 | rmudgett | 2011-08-17 10:51:08 -0500 (Wed, 17 Aug 2011) | 26 lines Outgoing BRI calls fail when using Asterisk 1.8 with HA8, HB8, and B410P cards. France Telecom brings layer 2 and layer 1 down on BRI lines when the line is idle. When layer 1 goes down Asterisk cannot make outgoing calls and the HA8 and HB8 cards also get IRQ misses. The inability to make outgoing calls is because the line is in red alarm and Asterisk will not make calls over a line it considers unavailable. The IRQ misses for the HA8 and HB8 card are because the hardware is switching clock sources from the line which just brought layer 1 down to internal timing. There is a DAHDI option for the B410P card to not tell Asterisk that layer 1 went down so Asterisk will allow outgoing calls: "modprobe wcb4xxp teignored=1". There is a similar DAHDI option for the HA8 and HB8 cards: "modprobe wctdm24xxp bri_teignored=1". Unfortunately that will not clear up the IRQ misses when the telco brings layer 1 down. * Add layer 2 persistence option to customize the layer 2 behavior on BRI PTMP lines. The new option has three settings: 1) Use libpri default layer 2 setting. 2) Keep layer 2 up. Bring layer 2 back up when the peer brings it down. 3) Leave layer 2 down when the peer brings it down. Layer 2 will be brought up as needed for outgoing calls. JIRA AST-598 ........ ................ 2011-08-16 20:15 +0000 [r332178] Paul Belanger * tests/test_substitution.c, tests/test_heap.c, /, tests/test_expr.c, tests/test_ast_format_str_reduce.c, tests/test_logger.c, tests/test_gosub.c, tests/test_app.c, tests/test_dlinklists.c, tests/test_event.c, tests/test_db.c, tests/test_linkedlists.c, tests/test_sched.c, tests/test_netsock2.c, tests/test_strings.c, tests/test_pbx.c, tests/test_func_file.c, tests/test_security_events.c, tests/test_stringfields.c, tests/test_time.c, tests/test_skel.c, tests/test_acl.c, tests/test_locale.c, tests/test_utils.c, tests/test_devicestate.c, tests/test_aoc.c, tests/test_astobj2.c, tests/test_poll.c, tests/test_amihooks.c: Merged revisions 332177 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r332177 | pabelanger | 2011-08-16 16:11:49 -0400 (Tue, 16 Aug 2011) | 11 lines Merged revisions 332176 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r332176 | pabelanger | 2011-08-16 16:10:13 -0400 (Tue, 16 Aug 2011) | 4 lines Flag test modules as 'core' Review: https://reviewboard.asterisk.org/r/1369/ ........ ................ 2011-08-16 17:53 +0000 [r332120] Jonathan Rose * /, channels/chan_sip.c: Merged revisions 332119 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r332119 | jrose | 2011-08-16 12:45:38 -0500 (Tue, 16 Aug 2011) | 23 lines Merged revisions 332118 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r332118 | jrose | 2011-08-16 12:38:19 -0500 (Tue, 16 Aug 2011) | 16 lines ASTERISK-18067 ASTERISK-15479 - White Space affects mailbox value, multiple MWI subs Before, having multiple subscriptions to mailboxes on a sip peer set via the mailbox setting in sip.conf would only result in updates being sent on whichever mailbox triggered the mwi event. Now all of them get counted regardless. Also fixes a bug involving parsing of the mailbox option in sip.conf so that trailing and leading spaces before/after commas are trimmed. (closes issue ASTERISK-18067) Reported by: aragon (closes issue ASTERISK-15479) Reported by: Ben Winslow Patches: chan_sip.c-mwi_multi_mailbox_fix-1.6.2.13.diff (License #5288) patch uploaded by Ben Winslow ........ ................ 2011-08-16 17:23 +0000 [r332117] Richard Mudgett * /, main/features.c, CHANGES, configs/features.conf.sample, main/asterisk.c: Merged revisions 332101 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r332101 | rmudgett | 2011-08-16 12:17:28 -0500 (Tue, 16 Aug 2011) | 140 lines Merged revisions 332100 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r332100 | rmudgett | 2011-08-16 11:31:36 -0500 (Tue, 16 Aug 2011) | 133 lines Fix multiple parking issues. JIRA ASTERISK-17183 Multi-parkinglot directs calls to wrong parkinglot. JIRA ASTERISK-17870 Cannot retrieve parked calls. JIRA ASTERISK-17430 ParkedCall() with no extension should pickup first available call and does not. JIRA AST-576 Issues with parking lots * Removed searching for parking lots by extension. Parking lots can only be found by the parking lot name since parking lot access extensions and spaces are not guaranteed to be unique. * Added parking_lot_name option to the Park and ParkedCall applications. Updated documentation for Park and ParkedCall applications. * Add parkext_exclusive configuration option to make parking entry extensions specify which parking lot they access. (closes issue ASTERISK-17183) Reported by: David Cabrejos Tested by: rmudgett, David Cabrejos (closes issue ASTERISK-17870) Reported by: Remi Quezada (closes issue ASTERISK-17430) Reported by: Philippe Lindheimer JIRA ASTERISK-17452 Parking_offset not used JIRA AST-624 'next' setting for findslot does nothing * Reimplemented since findslot feature option broken by -r114655. (closes issue ASTERISK-17452) Reported by: David Woolley Tested by: rmudgett JIRA ASTERISK-15792 Dialplan continues execution after transfer to park. This happens for DTMF attended transfer, DTMF blind transfer, and DTMF one-touch-parking if the party initiating these features also initiated the call. * Fixed the return code from the affected builtin features when parking a call. (closes issue ASTERISK-15792) Reported by: Mat Murdock Tested by: rmudgett, twilson JIRA AST-607 The courtesytone is not playing to the expected call when picking up a parked call. This is mostly a documentation problem. However, the option is not reset to the default when features.conf is reloaded. * Updated features.conf.sample documentation for courtesytone and parkedplay options. * Reset the parkedplay option to default when features.conf is reloaded. JIRA AST-615 AMI Park action followed by features reload results in orphaned channels in parking lot. * Reloading features.conf will not touch parking lots that have calls still parked in them. Reload again at a later time. Misc additional fixes: * Added unit test for parking lot dialplan usage checking. * Made update connected line when a parked call is retrieved from a parking lot. * Made retrieved parked call stop ringing or MOH depending upon how the call was waiting in the parking lot. * Made CLI "features show" indicate if the parking lot is enabled for use. * Added PARKINGDYNEXTEN channel variable to allow dynamic parking lots to specify the parking lot access extension. * Made AMI ParkedCalls action ParkedCall events have a Parkinglot header. * Made AMI ParkedCalls action ParkedCallsComplete event have a Total header. * Fixed potential deadlock from AMI Park action holding channel locks while calling masq_park_call(). * Fixed several places where ast_strdupa() were used inside of loops. (Mostly fixed by refactoring the loop body into its own function.) * Fixed copy_parkinglot() copying too much from the source parking lot. Extracted the parking lot configuration settings into struct parkinglot_cfg. * Refactored courtesytone playing code to put the channel not playing the tone in autoservice. * Fix when pbx-parkingfailed is played that the other channel is put in autoservice if it exists. * Fixed parkinglot reference leak in parked_call_exec() error paths. * Fixed parkinglot_unref() use of parkinglot after it was unreffed. * Made destroy the struct ast_parkinglot parkings lock when done. * Refactored the features.conf parking lot configuration code to eliminate redundancy. * Fixed feature reload to better protect parking lots. * Fixed parking lot container reference leak in handle_parkedcalls(). * Fixed the total count in handle_parkedcalls(). Review: https://reviewboard.asterisk.org/r/1358/ ........ ................ 2011-08-16 15:21 +0000 [r332028-332044] Matthew Nicholson * /, channels/sip/include/sip.h: Merged revisions 332042 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r332042 | mnicholson | 2011-08-16 10:20:48 -0500 (Tue, 16 Aug 2011) | 2 lines fix a code comment AST-580 ........ * /, UPGRADE.txt, CHANGES: Merged revisions 332029 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r332029 | mnicholson | 2011-08-16 10:17:16 -0500 (Tue, 16 Aug 2011) | 2 lines Moved notes about 'storesipcause' to UPGRADE.txt from CHANGES AST-580 ........ * /, channels/chan_sip.c, channels/sip/include/sip.h: Merged revisions 332027 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r332027 | mnicholson | 2011-08-16 10:08:40 -0500 (Tue, 16 Aug 2011) | 9 lines Merged revisions 332026 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r332026 | mnicholson | 2011-08-16 10:06:31 -0500 (Tue, 16 Aug 2011) | 2 lines use DEFAULT_STORE_SIP_CAUSE to set the default value for the 'storesipcause' option AST-580 ........ ................ 2011-08-16 14:47 +0000 [r332024] Olle Johansson * channels/chan_local.c: Formatting changes while working with DTMF... 2011-08-16 14:41 +0000 [r332023] Matthew Nicholson * /, channels/chan_sip.c, configs/sip.conf.sample, CHANGES: Merged revisions 332022 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r332022 | mnicholson | 2011-08-16 09:40:37 -0500 (Tue, 16 Aug 2011) | 16 lines In 10 and trunk this option is disabled by default. Merged revisions 332021 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r332021 | mnicholson | 2011-08-16 09:20:43 -0500 (Tue, 16 Aug 2011) | 7 lines Added the 'storesipcause' option to sip.conf to allow the user to disable the setting of HASH(SIP_CAUSE,) on the channel. Having chan_sip set HASH(SIP_CAUSE,) on the channel carries a significant performance penalty because of the usage of the MASTER_CHANNEL() dialplan function. AST-580 ........ ................ 2011-08-15 17:36 +0000 [r331957] Richard Mudgett * channels/chan_dahdi.c, /: Merged revisions 331956 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r331956 | rmudgett | 2011-08-15 12:35:03 -0500 (Mon, 15 Aug 2011) | 20 lines Merged revisions 331955 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r331955 | rmudgett | 2011-08-15 12:24:08 -0500 (Mon, 15 Aug 2011) | 13 lines Fix some minor chan_dahdi config load issues. * Address chan_dahdi.conf dahdichan option todo item about needing line number. * Make ignore_failed_channels option also apply to dahdichan option. * Don't attempt to create a default pseudo channel if the chan_dahdi.conf channel/channels option is not allowed. * Add a similar check for dahdichan in normal chan_dahdi.conf sections as is done in users.conf. ........ ................ 2011-08-15 15:24 +0000 [r331903] Paul Belanger * main/rtp_engine.c, /: Merged revisions 331894 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r331894 | pabelanger | 2011-08-15 11:22:45 -0400 (Mon, 15 Aug 2011) | 12 lines Merged revisions 331886 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r331886 | pabelanger | 2011-08-15 11:21:16 -0400 (Mon, 15 Aug 2011) | 5 lines Fix noisy message when briding channels (closes issue ASTERISK-18270) Reported by: Federico Alves ........ ................ 2011-08-15 15:15 +0000 [r331869] David Vossel * /, channels/chan_sip.c: Merged revisions 331868 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r331868 | dvossel | 2011-08-15 10:14:13 -0500 (Mon, 15 Aug 2011) | 12 lines Merged revisions 331867 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r331867 | dvossel | 2011-08-15 10:12:16 -0500 (Mon, 15 Aug 2011) | 6 lines Fixes locking inversion issues present in the handling of the sip REFER method. (closes issue ASTERISK-18082) Reported by: James Van Vleet ........ ................ 2011-08-15 13:27 +0000 [r331830] Olle Johansson * channels/chan_sip.c: Formatting guideline fixes 2011-08-12 19:06 +0000 [r331776] Matthew Nicholson * /, apps/app_queue.c: Merged revisions 331775 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r331775 | mnicholson | 2011-08-12 14:03:31 -0500 (Fri, 12 Aug 2011) | 17 lines Merged revisions 331774 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r331774 | mnicholson | 2011-08-12 14:01:27 -0500 (Fri, 12 Aug 2011) | 11 lines Unlock the channel before calling update_queue. Holding the channel lock when calling update_queue which attempts to lock the queue lock can cause a deadlock. This deadlock involves the following chain: 1. hold chan lock -> wait queue lock 2. hold queue lock -> wait agent list lock 3. hold agent list lock -> wait chan list lock 4. hold chan list lock -> wait chan lock ........ ................ 2011-08-12 19:01 +0000 [r331773] Richard Mudgett * channels/chan_dahdi.c, /: Merged revisions 331772 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r331772 | rmudgett | 2011-08-12 13:59:45 -0500 (Fri, 12 Aug 2011) | 15 lines Merged revisions 331771 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r331771 | rmudgett | 2011-08-12 13:58:40 -0500 (Fri, 12 Aug 2011) | 8 lines Suppress warning message when using DAHDITransfer or DAHDIHangup. * The fake event should only be processed by the channel that currently owns the private and not the associated call waiting or 3-way channel. JIRA AST-620 JIRA SWP-3616 ........ ................ 2011-08-12 18:03 +0000 [r331717] Jonathan Rose * apps/app_dial.c, /, apps/app_meetme.c: Merged revisions 331644 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r331644 | jrose | 2011-08-12 11:18:57 -0500 (Fri, 12 Aug 2011) | 9 lines Merged revisions 331635 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r331635 | jrose | 2011-08-12 10:49:17 -0500 (Fri, 12 Aug 2011) | 1 line Fixes 32bit compilation warnings brought on by 331634 in app_dial and app_meetme ........ ................ 2011-08-12 17:56 +0000 [r331716] Richard Mudgett * channels/chan_dahdi.c, /: Merged revisions 331715 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r331715 | rmudgett | 2011-08-12 12:54:47 -0500 (Fri, 12 Aug 2011) | 29 lines Merged revisions 331714 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r331714 | rmudgett | 2011-08-12 12:47:57 -0500 (Fri, 12 Aug 2011) | 22 lines AMI actions DAHDIHangup and DAHDITransfer have no effect. The AMI actions DAHDIHangup and DAHDITransfer have no effect on a DAHDI channel. These two AMI actions are highly specialized to analog channels and appear to make the channel behave like a jack port for headsets. * Made the faked DAHDI event get processed before a normal media stream read in dahdi_read() instead of trying to trigger an exception read by setting the AST_FLAG_EXCEPTION flag. Apparently a change was made long ago that changed how AST_FLAG_EXCEPTION is processed in the core. Unfortunately, the faked DAHDI events no longer worked when that happened. * Updated the DAHDI AMI action documentation for the following actions: DAHDITransfer, DAHDIHangup, DAHDIDialOffhook, DAHDIDNDon, DAHDIDNDoff, DAHDIShowChannels, and DAHDIRestart. * Made use sscanf() instead of atoi() for better error checking of the DAHDIChannel header string. JIRA AST-620 JIRA SWP-3616 ........ ................ 2011-08-12 16:32 +0000 [r331660] Terry Wilson * /, tests/test_netsock2.c: Merged revisions 331659 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r331659 | twilson | 2011-08-12 11:31:21 -0500 (Fri, 12 Aug 2011) | 11 lines Merged revisions 331658 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r331658 | twilson | 2011-08-12 11:30:26 -0500 (Fri, 12 Aug 2011) | 4 lines Fix netsock2 multiple zero-expansion test Remove erroneous single bracket. ........ ................ 2011-08-12 16:22 +0000 [r331657] Kinsey Moore * /, main/logger.c: Merged revisions 331654 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r331654 | kmoore | 2011-08-12 11:21:37 -0500 (Fri, 12 Aug 2011) | 19 lines Merged revisions 331649 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r331649 | kmoore | 2011-08-12 11:20:25 -0500 (Fri, 12 Aug 2011) | 12 lines Logger does not warn of failure to open logging channels Currently, logger only prints an error message to stderr when it fails to open a logger channel where many users will not see it because the logger lock is held. The alternative provided by this patch is to log the error to all attached consoles in the hopes that it will be easier to see. Additionally, this patch prevents the failed logger channel from being added to the list where it would silently fail on each call to the Asterisk logger. (closes issue ASTERISK-16231) Review: https://reviewboard.asterisk.org/r/1338 ........ ................ 2011-08-11 21:55 +0000 [r331580] Jason Parker * apps/app_dial.c, /, apps/app_meetme.c: Merged revisions 331579 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r331579 | qwell | 2011-08-11 16:54:54 -0500 (Thu, 11 Aug 2011) | 13 lines Merged revisions 331578 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r331578 | qwell | 2011-08-11 16:46:39 -0500 (Thu, 11 Aug 2011) | 6 lines Use proper values for 64-bit option flags. Also, reusing bits es no bueno, so change the value of a duplicate. (issue ASTERISK-18239) ........ ................ 2011-08-11 21:44 +0000 [r331577] Richard Mudgett * /, funcs/func_shell.c: Merged revisions 331576 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r331576 | rmudgett | 2011-08-11 16:42:21 -0500 (Thu, 11 Aug 2011) | 16 lines Merged revisions 331575 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r331575 | rmudgett | 2011-08-11 16:39:58 -0500 (Thu, 11 Aug 2011) | 9 lines Segfault in shell_helper in func_shell.c. The return value of popen() was not checked for failure to open. (closes issue ASTERISK-18109) JIRA SWP-3633 Reported by: Michael Myles Tested by: rmudgett ........ ................ 2011-08-10 22:24 +0000 [r331519] Kinsey Moore * /, channels/chan_sip.c: Merged revisions 331518 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r331518 | kmoore | 2011-08-10 17:23:49 -0500 (Wed, 10 Aug 2011) | 17 lines Merged revisions 331517 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r331517 | kmoore | 2011-08-10 17:23:08 -0500 (Wed, 10 Aug 2011) | 10 lines SIP Notify via AMI or CLI leaks SIP PVTs Any SIP notify sent via AMI or CLI leaks a SIP PVT with ref count +2. Removing the additional ref just before the invite and adding an unref following it corrects the issue as seen via REF_DEBUG. The unref existed in a distant revision and it appears as though the wrong ref operation was removed. (closes issue ASTERISK-18091) Review: https://reviewboard.asterisk.org/r/1332/ ........ ................ 2011-08-10 20:51 +0000 [r331419-331463] Richard Mudgett * /, main/logger.c: Merged revisions 331462 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r331462 | rmudgett | 2011-08-10 15:41:35 -0500 (Wed, 10 Aug 2011) | 37 lines Merged revisions 331461 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r331461 | rmudgett | 2011-08-10 15:29:59 -0500 (Wed, 10 Aug 2011) | 30 lines Output of queue log not started until logger reloaded. ASTERISK-15863 caused a regression with queue logging. The output of the queue log is not started until the logger configuration is reloaded. * Queue log initialization is completely delayed until the first message is posted to the queue log system. Including the initial opening of the queue log file. * Fixed rotate_file() ROTATE strategy to give the file just rotated out to the configured exec function after rotate. Just like the other strategies. * Fixed logger reload to always post the queue reload entry instead of just if there is a queue log file. * Refactored some code to eliminate some redundancy and to reduce stack utilization. (closes issue ASTERISK-17036) JIRA SWP-2952 Reported by: Juan Carlos Valero Patches: jira_asterisk_17036_v1.8.patch (license #5621) patch uploaded by rmudgett Tested by: rmudgett (closes issue ASTERISK-18208) Reported by: Christian Pinedo Review: https://reviewboard.asterisk.org/r/1333/ ........ ................ * /, main/features.c: Merged revisions 331420 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r331420 | rmudgett | 2011-08-10 14:07:53 -0500 (Wed, 10 Aug 2011) | 2 lines Make sure feature_request_and_dial() initializes outstate if passed in. ........ * /, main/features.c, CHANGES: Merged revisions 331418 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r331418 | rmudgett | 2011-08-10 13:25:08 -0500 (Wed, 10 Aug 2011) | 6 lines Revert -r318141. It was a band-aid that only partially fixed parking. A better fix is on reviewboard review 1358. (issue ASTERISK-17374) ........ 2011-08-10 15:45 +0000 [r331371] Jonathan Rose * channels/chan_sip.c, CHANGES: SIP display-name needed to be empty for Avaya IP500 In order to address a compatability issue with certain features on certain devices which rely on display name content to change behavior, initreqprep in chan_sip.c has been changed to no longer substitute cid_number into the display name when cid_name isn't present. Instead, it will send no display name in that case. (closes issue ASTERISK-16198) Reported by: Walter Doekes Review: https://reviewboard.asterisk.org/r/1341/ 2011-08-10 13:49 +0000 [r331317] Kinsey Moore * main/manager.c, /: Merged revisions 331316 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r331316 | kmoore | 2011-08-10 08:48:41 -0500 (Wed, 10 Aug 2011) | 15 lines Merged revisions 331315 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r331315 | kmoore | 2011-08-10 08:47:46 -0500 (Wed, 10 Aug 2011) | 8 lines AMI action ModuleReload returns Error if Module: missing or empty An empty string was not being checked for properly causing identification of the module to be reloaded to fail and return an Error with message "No such module." (closes issue AST-616) ........ ................ 2011-08-09 23:17 +0000 [r331266] Richard Mudgett * main/pbx.c, /, channels/chan_sip.c, main/features.c, channels/chan_iax2.c, apps/app_parkandannounce.c: Merged revisions 331265 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r331265 | rmudgett | 2011-08-09 18:12:49 -0500 (Tue, 09 Aug 2011) | 22 lines Merged revisions 331248 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r331248 | rmudgett | 2011-08-09 17:12:59 -0500 (Tue, 09 Aug 2011) | 15 lines Misc minor items found in code. * Add some reentrancy protection in pbx.c when creating the contexts_table hash table. * Fix inverted test in chan_sip.c conditional code. * Fix uninitialized variable and use of the wrong variable in chan_iax2.c. * Fix test of return value in app_parkandannounce.c. Explicitly testing for -1 is bad if the function does not actually return that value when it fails. * Fixup some comments and add some curly braces in features.c. ........ ................ 2011-08-09 17:12 +0000 [r331202] Alexandr Anikin * addons/ooh323c/src/ooGkClient.c, addons/chan_ooh323.c, /, addons/ooh323c/src/ooLogChan.c, addons/ooh323c/src/ooq931.c: Merged revisions 331147,331200 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r331147 | may | 2011-08-09 20:16:55 +0400 (Tue, 09 Aug 2011) | 11 lines Merged revisions 331146 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r331146 | may | 2011-08-09 20:13:09 +0400 (Tue, 09 Aug 2011) | 4 lines move ast_cond_signal for admitted call after all data filled/freed clear all log channels by pointed number not only first free allocated callToken in ooh323_answer ........ ................ r331200 | may | 2011-08-09 20:36:39 +0400 (Tue, 09 Aug 2011) | 9 lines Setup IP proto version for call in GK mode Added additional check for IP semantics before parse destination by ast_parse_args due to it can parse numeric as IP. (closes issue ASTERISK-18218) Reported by: slesru Patch: ASTERISK-18218.patch ................ 2011-08-09 17:08 +0000 [r331201] Kinsey Moore * funcs/func_enum.c, UPGRADE.txt, main/enum.c: Allow ENUM query functions to report lookup errors The ENUM dialplan functions do not report DNS query errors properly. It is useful to differentiate between failed query (e.g. non-existent domain) vs. no data records of the appropriate type. This is required to make overlapped dialing work. (closes issue ASTERISK-13769) Review: https://reviewboard.asterisk.org/r/1355/ Patch-by: Timo Teras 2011-08-09 16:02 +0000 [r331140-331144] Jason Parker * /, doc/asterisk.8: Merged revisions 331143 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r331143 | qwell | 2011-08-09 10:59:54 -0500 (Tue, 09 Aug 2011) | 9 lines Merged revisions 331142 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r331142 | qwell | 2011-08-09 10:58:16 -0500 (Tue, 09 Aug 2011) | 1 line Regenerate asterisk man page from sgml. ........ ................ * /, doc/asterisk.8, configs/asterisk.conf.sample, configs/voicemail.conf.sample, doc/asterisk.sgml: Merged revisions 331139 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r331139 | qwell | 2011-08-09 10:50:07 -0500 (Tue, 09 Aug 2011) | 19 lines Merged revisions 306999 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r306999 | lathama | 2011-02-08 14:22:35 -0600 (Tue, 08 Feb 2011) | 12 lines Documentation Updates Note default polling setting in voicemail.conf Add missing config to asterisk.conf Update manpage (issue #16505) Reported by: tzafrir Patches: asterisk_sgml_fixes_demo.diff uploaded by tzafrir (license 46) Tested by: lathama, tzafrir ........ ................ * doc/asterisk.8, configs/asterisk.conf.sample, configs/voicemail.conf.sample, doc/asterisk.sgml: Merged revisions 331138 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r331138 | qwell | 2011-08-09 10:47:20 -0500 (Tue, 09 Aug 2011) | 1 line Revert merge of r306999, due to merge conflict. ........ 2011-08-08 22:59 +0000 [r331042-331098] Terry Wilson * /, UPGRADE.txt, CHANGES, include/asterisk/manager.h: Merged revisions 331097 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r331097 | twilson | 2011-08-08 17:59:01 -0500 (Mon, 08 Aug 2011) | 5 lines Bump the AMI protocol version to 1.2 As a result of converting Unlink events that were missed in the AMI 1.1 update to Bridge events, the AMI protocol version is being incremented. ........ * main/channel.c, /, CHANGES: Merged revisions 331041 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r331041 | twilson | 2011-08-08 16:12:51 -0500 (Mon, 08 Aug 2011) | 6 lines Replace AMI Unlink events with Bridge events A previous update converted some of the Link and Unlink events to Bridge events, but a couple of Unlink events were missed. This patch rectifies the situation. (closes issues ASTERISK-17455) ........ 2011-08-08 20:54 +0000 [r331000-331040] Kinsey Moore * /, res/res_musiconhold.c: Merged revisions 331039 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r331039 | kmoore | 2011-08-08 15:53:30 -0500 (Mon, 08 Aug 2011) | 18 lines Merged revisions 331038 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r331038 | kmoore | 2011-08-08 15:52:45 -0500 (Mon, 08 Aug 2011) | 11 lines In-queue MOH stops after a periodic announcement If the seek value is past the end of file when resuming G.722 MOH, MOH will cease to function for the duration of the MOH session through all starts and stops until saved state is cleared. Adjusting the code to guarantee a single valid read (which is already assumed) fixes the bug. (closes issue ASTERISK-18077) Review: https://reviewboard.asterisk.org/r/1328/ Tested-by: Jonathan Rose ........ ................ * configs/queues.conf.sample, apps/app_queue.c: Log queue member name when state_interface is set for ADDMEMBER and REMOVEMEMBER events app_queue logs the events ADDMEMBER and REMOVEMEMBER with the agent field set to the interface value rather than the membername value when a member is added with a state_interface value set. However all other member related queue events are logged with the membername when a state_interface is set. This patch makes these fields optionally more consistent and correct. (closes issue ASTERISK-14769) Review: https://reviewboard.asterisk.org/r/1286 Patch-by: Jamuel Starkey Tested-by: Kinsey Moore * apps/app_queue.c: app_queue: Add StateInterface to output of "queue show" and "QueueStatus" This patch adds the state_interface of the queue member struct to the output of "queue show" (CLI command) and "QueueStatus" (AMI action) when displaying relevant queue member information. For the AMI event message the variable StateInterface has been added. (closes issue ASTERISK-18071) Review: https://reviewboard.asterisk.org/r/1300/ Patch-by: Jamuel Starkey 2011-08-05 15:57 +0000 [r330941] David Vossel * /, codecs/codec_resample.c: Merged revisions 330940 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r330940 | dvossel | 2011-08-05 10:53:49 -0500 (Fri, 05 Aug 2011) | 2 lines The slin resampler is no longer dependent on an external library, but the dependency was not removed correctly. ........ 2011-08-05 08:47 +0000 [r330903] Alexandr Anikin * addons/ooh323c/src/ooGkClient.c, /, addons/ooh323c/src/ooCmdChannel.c: Merged revisions 330899 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r330899 | may | 2011-08-05 11:38:28 +0400 (Fri, 05 Aug 2011) | 11 lines Merged revisions 330827 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r330827 | may | 2011-08-04 23:37:16 +0400 (Thu, 04 Aug 2011) | 4 lines change gk client behaivour on rrq/grq failures to setup timers and next tries after timeout instead of complete failure in the ooh323 stack ........ ................ 2011-08-04 20:53 +0000 [r330845] Terry Wilson * /, configure, configure.ac: Merged revisions 330844 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r330844 | twilson | 2011-08-04 15:51:23 -0500 (Thu, 04 Aug 2011) | 11 lines Merged revisions 330843 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r330843 | twilson | 2011-08-04 15:29:19 -0500 (Thu, 04 Aug 2011) | 4 lines Make libsrtp instructions more explicit when linking fails (closes issue ASTERISK-18139) ........ ................ 2011-08-03 15:16 +0000 [r330707-330764] Kinsey Moore * /, main/Makefile: Merged revisions 330763 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r330763 | kmoore | 2011-08-03 10:15:26 -0500 (Wed, 03 Aug 2011) | 16 lines Merged revisions 330762 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r330762 | kmoore | 2011-08-03 10:14:36 -0500 (Wed, 03 Aug 2011) | 9 lines editing files in main/editline does not ensure rebuild of libedit.a When editing a source file in main/editline, the build system does not rebuild libedit.a and uses the already existing one instead. Adding a PHONY to CHECK_SUBDIR fixes this problem. (closes issue ASTERISK-16221) Patch-by: Walter Doekes ........ ................ * channels/chan_dahdi.c, channels/sig_analog.c, /: Merged revisions 330706 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r330706 | kmoore | 2011-08-03 08:39:06 -0500 (Wed, 03 Aug 2011) | 17 lines Merged revisions 330705 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r330705 | kmoore | 2011-08-03 08:38:17 -0500 (Wed, 03 Aug 2011) | 10 lines Call pickup broken for DAHDI channels when beginning with # The call pickup feature did not work on DAHDI devices for anything other than feature codes beginning with * since all feature codes in chan_dahdi were originally hard-coded to begin with *. This patch is also applied to chan_dahdi.c to fix this bug with radio modes. (closes issue AST-621) Review: https://reviewboard.asterisk.org/r/1336/ ........ ................ 2011-08-02 20:54 +0000 [r330650] Kevin P. Fleming * /, res/res_jabber.c: Merged revisions 330649 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r330649 | kpfleming | 2011-08-02 15:52:44 -0500 (Tue, 02 Aug 2011) | 9 lines Merged revisions 330648 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r330648 | kpfleming | 2011-08-02 15:51:56 -0500 (Tue, 02 Aug 2011) | 2 lines Convert an error message to actually be helpful. ........ ................ 2011-08-02 16:19 +0000 [r330577-330593] David Vossel * /, channels/chan_iax2.c: Merged revisions 330586 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r330586 | dvossel | 2011-08-02 11:17:59 -0500 (Tue, 02 Aug 2011) | 15 lines Merged revisions 330581 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r330581 | dvossel | 2011-08-02 11:15:08 -0500 (Tue, 02 Aug 2011) | 8 lines Fixes crash in chan_iax2. Fixes crash in chan_iax2 resulting from an edge case in the way control frames are queued during calltoken negotiation is complete. (closes issue ASTERISK-17610) Reported by: mgrobecker ........ ................ * /, channels/chan_sip.c: Merged revisions 330579 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r330579 | dvossel | 2011-08-02 11:08:57 -0500 (Tue, 02 Aug 2011) | 9 lines Merged revisions 330578 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r330578 | dvossel | 2011-08-02 11:07:02 -0500 (Tue, 02 Aug 2011) | 2 lines Optimization to buffer initialization fix. ........ ................ * /, channels/chan_sip.c: Merged revisions 330576 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r330576 | dvossel | 2011-08-02 10:55:36 -0500 (Tue, 02 Aug 2011) | 12 lines Merged revisions 330575 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r330575 | dvossel | 2011-08-02 10:53:21 -0500 (Tue, 02 Aug 2011) | 5 lines Fixes uninitialized string buffer in log message. (closes issue ASTERISK-17200) Reported by: lmadsen ........ ................ 2011-08-01 15:24 +0000 [r330435] Kinsey Moore * /, main/say.c: Merged revisions 330434 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r330434 | kmoore | 2011-08-01 10:23:29 -0500 (Mon, 01 Aug 2011) | 16 lines Merged revisions 330433 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r330433 | kmoore | 2011-08-01 10:22:10 -0500 (Mon, 01 Aug 2011) | 9 lines Incorrect playback for Spanish in some circumstances When you say the time in spanish and it is 01:00 - 01:59 or 13:00 - 13:59 you must use female pronunciation "1F". The function "say_date_with_format_es" does not take this in account. (closes ASTERISK-15016) Patch-by: Luis Jimenez ........ ................ 2011-07-31 00:19 +0000 [r330370-330379] Richard Mudgett * main/astobj2.c: Fixed compiler warning and a couple prototype mismatches. * main/channel.c, /: Merged revisions 330369 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r330369 | rmudgett | 2011-07-30 18:57:56 -0500 (Sat, 30 Jul 2011) | 11 lines Merged revisions 330368 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r330368 | rmudgett | 2011-07-30 18:56:29 -0500 (Sat, 30 Jul 2011) | 4 lines Remove some redundant locking code in ast_do_masquerade(). Also updated some comments. ........ ................ 2011-07-30 15:54 +0000 [r330313] Gregory Nietsky * main/channel.c, /: Merged revisions 330312 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r330312 | irroot | 2011-07-30 17:34:41 +0200 (Sat, 30 Jul 2011) | 15 lines Merged revisions 330311 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r330311 | irroot | 2011-07-30 17:25:16 +0200 (Sat, 30 Jul 2011) | 9 lines prevent double masqurading channels when one is been hung up and deadlock avoidance is used. There is a race condition in ast_do_masquerade / ast_hangup (at least) Reported by me signed off by schmidts with input from David Vossel Review: https://reviewboard.asterisk.org/r/1323/ ........ ................ 2011-07-29 19:34 +0000 [r330273] Russell Bryant * include/asterisk/astobj2.h, tests/test_astobj2.c, channels/chan_iax2.c, main/astobj2.c: astobj2: Avoid using temporary objects + ao2_find() with OBJ_POINTER. There is a fairly common pattern making its way through the code base where we put a temporary object on the stack so we can call ao2_find() with OBJ_POINTER. The purpose is so that it can be passed into the object hash function. However, this really seems like a hack and potentially error prone. This patch is a first stab at approach to avoid having to do that. It adds a new flag, OBJ_KEY, which can be used instead of OBJ_POINTER in these situations. Then, the hash function can know whether it was given an object or some custom data to hash. The patch also changes some uses of ao2_find() for iax2_user and iax2_peer objects to reflect how OBJ_KEY would be used. So long, and thanks for all the fish. Review: https://reviewboard.asterisk.org/r/1184/ 2011-07-29 17:20 +0000 [r330205-330221] Sean Bright * /, formats/format_wav.c: Merged revisions 330217 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r330217 | seanbright | 2011-07-29 13:19:42 -0400 (Fri, 29 Jul 2011) | 9 lines Merged revisions 330213 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r330213 | seanbright | 2011-07-29 13:18:56 -0400 (Fri, 29 Jul 2011) | 2 lines Correct the check for O_RDONLY. ........ ................ * /, formats/format_wav.c: Merged revisions 330204 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r330204 | seanbright | 2011-07-29 12:58:40 -0400 (Fri, 29 Jul 2011) | 9 lines Merged revisions 330203 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r330203 | seanbright | 2011-07-29 12:58:08 -0400 (Fri, 29 Jul 2011) | 2 lines Only write to wav files that were opened to be written to. ........ ................ 2011-07-29 05:27 +0000 [r330163] Paul Belanger * /, apps/app_confbridge.c: Merged revisions 330162 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r330162 | pabelanger | 2011-07-29 01:25:18 -0400 (Fri, 29 Jul 2011) | 4 lines Fix typo pointed out on #asterisk Thanks notten ........ 2011-07-28 21:46 +0000 [r330109] Terry Wilson * /, main/term.c: Merged revisions 330108 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r330108 | twilson | 2011-07-28 16:44:31 -0500 (Thu, 28 Jul 2011) | 9 lines Merged revisions 330107 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r330107 | twilson | 2011-07-28 16:42:41 -0500 (Thu, 28 Jul 2011) | 2 lines Make console colors work for TERM=xterm-256color ........ ................ 2011-07-28 17:16 +0000 [r330052] Richard Mudgett * /, channels/sig_pri.c: Merged revisions 330051 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r330051 | rmudgett | 2011-07-28 12:10:37 -0500 (Thu, 28 Jul 2011) | 29 lines Merged revisions 330050 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r330050 | rmudgett | 2011-07-28 12:04:24 -0500 (Thu, 28 Jul 2011) | 22 lines Merged revisions 330033 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier .......... r330033 | rmudgett | 2011-07-28 11:26:38 -0500 (Thu, 28 Jul 2011) | 15 lines Datacalls with B410P fail. Incoming and outgoing call legs of a data call are using different formats: a-law, u-law. When the call is bridged, the media stream is run through translation to convert the media formats. The translation is bad for data calls. * Make incoming call that does not explicitly specify u-law or a-law use the DAHDI channel's default law. The outgoing call always uses the default law from the DAHDI channel. (closes issue ABE-2800) Patches: jira_abe_2800_companding.patch (license #5621) patch uploaded by rmudgett .......... ................ ................ 2011-07-28 15:46 +0000 [r329996] Jason Parker * /, channels/chan_sip.c: Merged revisions 329995 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r329995 | qwell | 2011-07-28 10:45:49 -0500 (Thu, 28 Jul 2011) | 13 lines Merged revisions 329994 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r329994 | qwell | 2011-07-28 10:45:24 -0500 (Thu, 28 Jul 2011) | 6 lines Fix a SIP transfer deadlock. The locking in this function is very scary. There are like 6 structs involved. (closes issue AST-470) ........ ................ 2011-07-28 15:30 +0000 [r329993] Matthew Nicholson * /, res/res_fax.c: Merged revisions 329992 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r329992 | mnicholson | 2011-07-28 10:28:21 -0500 (Thu, 28 Jul 2011) | 13 lines Merged revisions 329991 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r329991 | mnicholson | 2011-07-28 10:26:56 -0500 (Thu, 28 Jul 2011) | 6 lines check for CONFIG_STATUS_FILE_INVALID when loading the res_fax config file Patch by: tzafrir Reported by: tzafrir (closes issue ASTERISK-18161) ........ ................ 2011-07-28 13:04 +0000 [r329897-329953] Sean Bright * configs/confbridge.conf.sample, /: Merged revisions 329952 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r329952 | seanbright | 2011-07-28 09:03:58 -0400 (Thu, 28 Jul 2011) | 4 lines The default conf-usermenu says that '8' can be used to leave the conference, so put that in the sample user menu. '5' is supposed to extend the conference, but there doesn't appear to be a concept of that in the menu actions. ........ * /, apps/app_confbridge.c: Merged revisions 329950 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r329950 | seanbright | 2011-07-28 08:43:55 -0400 (Thu, 28 Jul 2011) | 1 line Correct the spelling of 'conference.' ........ * /, channels/chan_sip.c: Merged revisions 329896 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r329896 | seanbright | 2011-07-28 07:35:27 -0400 (Thu, 28 Jul 2011) | 9 lines Merged revisions 329895 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r329895 | seanbright | 2011-07-28 07:34:33 -0400 (Thu, 28 Jul 2011) | 2 lines Make the output of Externhost in 'sip show settings' more consistent. ........ ................ 2011-07-27 21:22 +0000 [r329835-329856] Jonathan Rose * main/cdr.c, main/pbx.c, include/asterisk/cdr.h, CHANGES: reverting 329840 due to failing tests. Going to change this feature to be purely optional. * main/cdr.c, main/pbx.c, include/asterisk/cdr.h, CHANGES: Adds cdr logging of calls resulting in CONGESTION Applies a patch made a long time ago by alecdavis which adds a CDR feature for logging calls that failed due to congestion. (closes issue #15907) Reported by: alecdavis Patches: cdr_congestion.diff.txt uploaded by alecdavis (license #5546) Review: https://reviewboard.asterisk.org/r/454/ 2011-07-27 19:19 +0000 [r329775] Sean Bright * /, Makefile.moddir_rules: Merged revisions 329771 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r329771 | seanbright | 2011-07-27 15:18:47 -0400 (Wed, 27 Jul 2011) | 15 lines Merged revisions 329767 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r329767 | seanbright | 2011-07-27 15:17:46 -0400 (Wed, 27 Jul 2011) | 8 lines Explicitly sort the module list so that the menuselect lists are sorted. (closes ASTERISK-18141) Reported by: Richard Miller Patches: sort-order.diff uploaded by seanbright (License #5060) Tested by: leifmadsen ........ ................ 2011-07-27 18:12 +0000 [r329711] Jonathan Rose * /, configs/indications.conf.sample: Merged revisions 329710 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r329710 | jrose | 2011-07-27 13:11:07 -0500 (Wed, 27 Jul 2011) | 14 lines Merged revisions 329709 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r329709 | jrose | 2011-07-27 13:10:30 -0500 (Wed, 27 Jul 2011) | 8 lines Fix New Zealand indications profile based on http://www.telepermit.co.nz/TNA102.pdf (closes issue ASTERISK-16263) Reported by: richardf Patches: nz-indications.patch uploaded by richardf (License #6015) ........ ................ 2011-07-27 15:26 +0000 [r329671] Sean Bright * /, main/loader.c: Merged revisions 329670 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r329670 | seanbright | 2011-07-27 11:25:53 -0400 (Wed, 27 Jul 2011) | 2 lines Sort the module list so that 'module show' is alphabetical. ........ 2011-07-27 04:27 +0000 [r329615] Tilghman Lesher * /, cdr/cdr_odbc.c: Merged revisions 329614 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r329614 | tilghman | 2011-07-26 23:25:26 -0500 (Tue, 26 Jul 2011) | 13 lines Merged revisions 329613 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r329613 | tilghman | 2011-07-26 23:23:46 -0500 (Tue, 26 Jul 2011) | 6 lines Duration and billsec are swapped in high resolution time. Closes ASTERISK-18024 Patches: 20110726__ASTERISK-18024.diff by Tilghman Lesher (License 5003) ........ ................ 2011-07-26 14:27 +0000 [r329530-329564] Jonathan Rose * /, apps/app_voicemail.c: Merged revisions 329538 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r329538 | jrose | 2011-07-26 09:19:34 -0500 (Tue, 26 Jul 2011) | 11 lines Merged revisions 329529 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r329529 | jrose | 2011-07-26 09:04:55 -0500 (Tue, 26 Jul 2011) | 5 lines Changes sound file for prepend "then-press-pound" to "vm-then-pound" which is the same prompt, only it turned out "then-press-pound" was part of extra sounds. Also, vm is more appropriate anyway. ........ ................ * include/asterisk/app.h, /, configs/voicemail.conf.sample, main/app.c, apps/app_voicemail.c: Merged revisions 329528 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r329528 | jrose | 2011-07-26 08:52:34 -0500 (Tue, 26 Jul 2011) | 24 lines Merged revisions 329527 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r329527 | jrose | 2011-07-26 08:25:35 -0500 (Tue, 26 Jul 2011) | 17 lines Fixes some voicemail forwarding behavior based around prepend mode. Formerly, prepend forwarding would have the user record a message with no useful prompt and an expectation for the user to push a button on the phone when finished recording. If a length of silence was detected instead, the recording would be canceled and the user would re-enter the voicemail forwarding menu. Subsequent time-outs in prepend recording would also bug out in the sense that they would write over the original message and get sent to the recipient regardless of whether they timed out or were accepted. This patch fixes this issue and adds a prompt which will be played after a timeout informing the user that they needed to press a button. Currently, the sound files that we have are somewhat inadquate for this, so after the call we simply have Allison say "Please try again. Then press pound." which actually relies on two separate sound files. Just one would be more appropriate. reporter: Vlad Povorozniuc Review: https://reviewboard.asterisk.org/r/1327/ ........ ................ 2011-07-25 19:57 +0000 [r329473] Paul Belanger * /, main/enum.c: Merged revisions 329472 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r329472 | pabelanger | 2011-07-25 15:55:33 -0400 (Mon, 25 Jul 2011) | 9 lines Merged revisions 329471 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r329471 | pabelanger | 2011-07-25 15:49:40 -0400 (Mon, 25 Jul 2011) | 2 lines Decrease verbose messages to debug, to help clean up CLI. ........ ................ 2011-07-25 14:07 +0000 [r329391-329432] Gregory Nietsky * include/asterisk/dsp.h, main/dsp.c: dsp_process was enhanced to work with alaw and ulaw in addition to slin. noticed that some functions could be refactored here it is. Reported by: irroot Tested by: irroot, mnicholson Review: https://reviewboard.asterisk.org/r/1304/ * channels/chan_sip.c, channels/sip/include/sip.h: Remove lastmsgssent from sip it has not been working since 1.6 Clean up the return values to be consistant not currently used Add doxygen returns MWI Event is sent on Register (closes issue ASTERISK-17866) Reported by: one47 Tested by: irroot, mvanbaak Review: https://reviewboard.asterisk.org/r/1172/ 2011-07-22 21:15 +0000 [r329332-329335] Richard Mudgett * main/pbx.c, /: Merged revisions 329334 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r329334 | rmudgett | 2011-07-22 16:14:22 -0500 (Fri, 22 Jul 2011) | 1 line Make use less redundant loop construct for iterating over hints. ........ * main/pbx.c, /: Merged revisions 329331 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r329331 | rmudgett | 2011-07-22 15:43:07 -0500 (Fri, 22 Jul 2011) | 55 lines Merged revisions 329299 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r329299 | rmudgett | 2011-07-22 10:44:58 -0500 (Fri, 22 Jul 2011) | 48 lines Deadlocks dealing with dialplan hints during reload. There are two remaining different deadlocks reported dealing with dialplan hints. The deadlock in ASTERISK-17666 is caused by invalid locking order in ast_remove_hint(). The hints container must be locked before the hint object. The deadlock in ASTERISK-17760 is caused by a catch-22 situation in handle_statechange(). The deadlock is caused by not having the conlock before calling the watcher callbacks. Unfortunately, having that lock causes a different deadlock as reported in ASTERISK-16961. * Fixed ast_remove_hint() locking order. * Made handle_statechange() no longer call the watcher callbacks holding any locks that matter. * Made hint ao2 destructor do the watcher callbacks for extension deactivation to guarantee that they get called. * Fixed hint reference leak in ast_add_hint() if the callback container constructor failed. * Fixed hint reference leak in complete_core_show_hint() for every hint it found for CLI tab completion. * Adjusted locking in ast_merge_contexts_and_delete() for safety. * Added context_merge_lock to prevent ast_merge_contexts_and_delete() and handle_statechange() from interfering with each other. * Fixed ast_change_hint() not taking into account that the extension is used for the hash key. (closes issue ASTERISK-17666) Reported by: irroot Tested by: irroot JIRA SWP-3318 (closes issue ASTERISK-17760) Reported by: Byron Clark Tested by: irroot JIRA SWP-3393 Review: https://reviewboard.asterisk.org/r/1313/ ........ ................ 2011-07-21 20:26 +0000 [r329258] Russell Bryant * channels/chan_dahdi.c, /, main/features.c, include/asterisk/netsock2.h, CHANGES, channels/sig_pri.c, include/asterisk/rtp_engine.h: Merged revisions 329257 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r329257 | russell | 2011-07-21 15:22:36 -0500 (Thu, 21 Jul 2011) | 2 lines s/1.10/10.0/ ........ 2011-07-21 18:06 +0000 [r329146-329205] Richard Mudgett * channels/chan_dahdi.c, configs/chan_dahdi.conf.sample, /: Merged revisions 329204 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r329204 | rmudgett | 2011-07-21 13:05:18 -0500 (Thu, 21 Jul 2011) | 13 lines Merged revisions 329203 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r329203 | rmudgett | 2011-07-21 13:04:09 -0500 (Thu, 21 Jul 2011) | 6 lines Document parkinglot in chan_dahdi.conf.sample. * Document existing feature in chan_dahdi.conf.sample. * Remove some dead code related to the parkinglot option. ........ ................ * /, apps/app_directed_pickup.c: Merged revisions 329200 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r329200 | rmudgett | 2011-07-21 12:32:02 -0500 (Thu, 21 Jul 2011) | 24 lines Merged revisions 329199 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r329199 | rmudgett | 2011-07-21 12:30:57 -0500 (Thu, 21 Jul 2011) | 17 lines Update PickupChan documentation. The PickupChan uses the ampersand as the argument separator. Was documented as: PickupChan(channel[,channel2[,...][,options]]) Fixed documentation to: PickupChan(Technology/Resource[&Technology2/Resource2[&...]][,options]) This is a continuation of ASTERISK-17494 for v1.8 and later. (closes issue ASTERISK-18144) Reported by: Erik Smith Patches: pickupchan_ducumentation-v2.patch (License #6263) patch uploaded by Erik Smith Tested by: Erik Smith ........ ................ * /, main/features.c: Merged revisions 329145 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ................ r329145 | rmudgett | 2011-07-21 11:52:17 -0500 (Thu, 21 Jul 2011) | 16 lines Merged revisions 329144 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r329144 | rmudgett | 2011-07-21 11:46:21 -0500 (Thu, 21 Jul 2011) | 9 lines Dialplan bridge() app mutex 'current_dest_chan' freed more times than we've locked! This appears to be a leftover from when ast_channel was converted to ao2 objects. Simply removed the extraneous unlock. (closes issue ASTERISK-17772) ........ ................ 2011-07-21 16:22 +0000 [r329106-329130] Jason Parker * UPGRADE-1.10.txt (removed), UPGRADE-10.txt (added), UPGRADE.txt: Fix UPGRADE.txt files for Asterisk 10. * /: Remove another 2.0 property. 2011-07-21 16:05 +0000 [r329105] Russell Bryant * /: Fix merge properties to reflect Asterisk 10 branch