2014-06-13 Asterisk Development Team * Asterisk 1.8.15-cert7 Released. * AST-2014-007: Fix of fix to allow AMI and SIP TCP to send messages. The original fix for AST-2014-007 inadvertently introduced a regression in Asterisk's TCP and TLS handling that prevented Asterisk from sending data over these transports. This patch fixes that regression. 2014-06-12 Asterisk Development Team * Asterisk 1.8.15-cert6 Released. * 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 2014-03-10 Asterisk Development Team * Certified Asterisk 1.8.15-cert5 Released. * AST-2012-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) * 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 2013-12-16 Asterisk Development Team * Certified Asterisk 1.8.15-cert4 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-08-27 Asterisk Development Team * Certified Asterisk 1.8.15-cert3 Released. * AST-2013-005: Remote crash from 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 ifnormation 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 providng the solution to this problem. * AST-2013-004: Fix crash when handling ACK on dialog that has no channel A remotely 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. 2013-03-27 Asterisk Development Team * Certified Asterisk 1.8.15-cert2 Released. 2013-03-27 18:31 +0000 [r383991-384108] Matthew Jordan * 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) * channels/sip/include/sip.h, channels/chan_sip.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) 2013-03-04 20:54 +0000 [r382389] 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-02-28 16:49 +0000 [r382228] Matthew Jordan * UPGRADE.txt, /, apps/app_meetme.c: Let channels joining a MeetMe conference opt out of the denoiser For some channel drivers, specifically those that have a varying rate in the number of audio samples, the audio quality for a MeetMe conference can be exceedingly poor. This is due to a unilateral application of the DENOISE function in func_speex to channels joining the conference. The denoiser function in the speex library is initialized with the number of audio samples in each sample that will be provided to it. If the number of audio samples changes, the denoiser has to be thrown away and re-initialized. While this could be worked around by removing func_speex, that doesn't help if you actually use the denoiser with other channels on the system. This patches does the following: * Checks for the presence of func_speex as opposed to codec_speex when determining if the DENOISE function is present (which is where the function is actually implemented) * Adds an option to MeetMe 'n' that causes the denoiser to not be applied to a channel when it joins. This keeps the current behavior the default, but let's users disable the denoiser if it causes problems on their system. Review: https://reviewboard.asterisk.org/r/2358 (closes issue AST-1062) Reported by: Thomas Arimont ........ Merged revisions 382227 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2013-02-20 19:10 +0000 [r381834] 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-01-14 15:17 +0000 [r379002] 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-12 07:02 +0000 [r378936] David M. Lee * main/utils.c, include/asterisk/utils.h, /, channels/chan_sip.c, tests/test_xml_escape.c (added): 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-09 Asterisk Development Team * Asterisk 1.8.15-cert1 Released. 2013-01-02 Asterisk Development Team * Asterisk 1.8.15-cert1-rc3 Released. * AST-2012-015: 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. * AST-2012-014: 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. 2012-11-19 Asterisk Development Team * Asterisk 1.8.15-cert1-rc2 Released. * 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. * 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. * app_queue: Fix a lock that was being held forever caused by a merging mistake r375591 merged with conflicts and an oversight resulted in an unlock being missed which resulted in a deadlock when updating realtime members in queues. This patch adds that unlock back in. 2012-11-02 Asterisk Development Team * Asterisk 1.8.15-cert1-rc1 Released. 2012-11-02 18:59 +0000 [r375630-375631] 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 * channels/misdn/isdn_lib.c, channels/misdn/isdn_lib.h, /: Multiple revisions 375519-375524 ........ r375519 | rmudgett | 2012-10-30 16:06:15 -0500 (Tue, 30 Oct 2012) | 11 lines chan_misdn: Timer primitives must be handled first. The frm->addr is a different "address space" than the stack/instance address of other Lx primitives. The test for B channel instance address could fail. Patches: patch01_timers.diff (license #6372) patch uploaded by Guenther Kelleter JIRA ABE-2888 ........ r375520 | rmudgett | 2012-10-30 16:14:58 -0500 (Tue, 30 Oct 2012) | 10 lines chan_misdn: Free memory in error paths and other memory leaks. The one line commented with BUG is not easily fixable because there is no de-init function one can call. Patches: patch02_memory.diff (license #6372) patch uploaded by Guenther Kelleter JIRA ABE-2888 ........ r375521 | rmudgett | 2012-10-30 16:38:41 -0500 (Tue, 30 Oct 2012) | 14 lines chan_misdn: ISDN NT L2 de-establish/establish * An NT-PTMP cannot de/establish L2 since it doesn't know the TEIs. * On NT-PTP L2 is started when L1 is finally active in handle_l1. * L2 deactivation logging cleanup. * L2 aggregate link status is unknown for NT-PTMP, show as "UNKN". * Removed unused functions and code for L2 handling. Patches: patch03_L2estab.diff (license #6372) patch uploaded by Guenther Kelleter Modified JIRA ABE-2888 ........ r375522 | rmudgett | 2012-10-30 16:56:14 -0500 (Tue, 30 Oct 2012) | 22 lines chan_misdn: Fix broken upper_id/lower_id usage. Sending PH prim via lower_id layer (3 or 1) simply does not work. For TE (3) it returns an error (len=-6) which is not evaluated by handle_l1(), so the L1 layer status ends up wrong. Instead PH must be sent via L4, only then does it reach L1 without an error message. And NT PH prims only reach L1 when they are sent to layer 2 id. --> use upper_id to send PH primitives. * Check for errors in PH_(DE)ACTIVATE | CONFIRM. * Debug messages are improved. * The lower_id is now not used for anything, except: Why is lower_id layer deleted when it wasn't created? I removed this code since it looks very wrong. Patches: patch04_l1activation.diff (license #6372) patch uploaded by Guenther Kelleter JIRA ABE-2888 ........ r375523 | rmudgett | 2012-10-30 17:29:15 -0500 (Tue, 30 Oct 2012) | 31 lines chan_misdn: Fix loss of B channels if L1 is down. If you make 2 calls out an NT PTMP port which is not connected to any phone, the B channel associated with that call becomes unusable until Asterisk is restarted. The problem is the EVENT_SETUP is queued when L1 is not up in misdn_lib_send_event(). If L1 cannot be activated the event won't be dequeued. It gets even worse when the call is hung up. The queued EVENT_SETUP will be overwritten by an EVENT_DISCONNECT. The reserved B channel then will never be freed. If later someone connects a phone to the port, L1 will eventually activate and the queued EVENT_DISCONNECT is sent down the stack. However, it is ignored because it is the wrong call state. The real fix would be that activation and queueing for a new SETUP is done by the NT stack. But since it doesn't, the workaround must be removed because it doesn't always work. Fix: The event is no longer queued but immediately sent to the stack. If L1 cannot be activated, the L3 state machine that was started by the EVENT_SETUP will do its work, i.e. a timeout will release the B channel properly. The SETUP possibly cannot be sent the first time but is resent by T303 in case L1 could be activated. Patches: patch05_bchan-loss.diff (license #6372) patch uploaded by Guenther Kelleter Modified JIRA ABE-2888 ........ r375524 | rmudgett | 2012-10-30 18:26:05 -0500 (Tue, 30 Oct 2012) | 13 lines chan_misdn: Remove some calls to exit(). Try proper cleanup when something goes wrong in misdn_lib_init(). Especially do not call exit()! * Fix memory leak because stack_destroy() does not free the stack struct. Patches: patch06_cleanup-init.diff (license #6372) patch uploaded by Guenther Kelleter Modified JIRA ABE-2888 ........ Merged revisions 375519-375524 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier ........ Merged revisions 375625 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2012-11-02 17:38 +0000 [r375584-375615] Matthew Jordan * 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 * 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 * UPGRADE.txt, apps/app_queue.c, /: Multiple revisions 375216,375242 ........ r375216 | jrose | 2012-10-18 15:58:07 -0500 (Thu, 18 Oct 2012) | 12 lines 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/ ........ r375242 | jrose | 2012-10-18 16:30:13 -0500 (Thu, 18 Oct 2012) | 8 lines app_queue: add upgrade notes for 375216 Adds notes describing behavioral changes to rrmemory strategy caused by 375216 (issue AST-989) Reported by: Thomas Arimont ........ Merged revisions 375216,375242 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * configs/sip.conf.sample, channels/sip/include/sip.h, channels/sip/sdp_crypto.c, /, channels/chan_sip.c: Multiple revisions 372709,373165,373532,373652,374456 ........ r372709 | mjordan | 2012-09-08 20:19:21 -0500 (Sat, 08 Sep 2012) | 38 lines Only re-create an SRTP session when needed; respond with correct crypto policy 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. In addition, in Asterisk 1.8 only, it was found that phones that offer AES_CM_128_HMAC_SHA1_32 will end up with no audio if the phone is the initiator of the call. The phone will send an INVITE request specifying that AES_CM_128_HMAC_SHA1_32 be used for the cryptographic policy; Asterisk will set its policy to that value. Unfortunately, when the call is Answered and a 200 OK is sent back to the UA, the policy sent in the response's SDP will be the hard coded value AES_CM_128_HMAC_SHA1_80. This potentially results in Asterisk using the INVITE request's policy of AES_CM_128_HMAC_SHA1_32, while the phone uses Asterisk's response of AES_CM_128_HMAC_SHA1_80. Hilarity ensues as both endpoints think the other is crazy. This patch fixes that by caching the policy from the request and responding with it. Note that this is not a problem in Asterisk 10 and later, as the ability to configure the policy was added in that version. (issue ASTERISK-20194) Reported by: Nicolo Mazzon Tested by: Nicolo Mazzon Review: https://reviewboard.asterisk.org/r/2099 ........ r373165 | file | 2012-09-19 11:02:18 -0500 (Wed, 19 Sep 2012) | 10 lines Fix a regression where direct media was not permitted for calls using SIP INFO DTMF. A change was committed to fix direct media ACL support. This change wrongly assumed that only a single channel technology structure exists for chan_sip. This is in fact false as a second exists for calls using SIP INFO DTMF. The code which performs direct media ACL checking now checks for both the non-INFO DTMF and INFO DTMF channel technology structures. (closes issue ASTERISK-20409) Reported by: michele cicciotti privatewave ........ r373532 | file | 2012-09-24 19:09:46 -0500 (Mon, 24 Sep 2012) | 5 lines Add missing checks that I neglected. The SIP technology and SIP info technology should be considered equal. (closes issue ASTERISK-20409) Reported by: michele cicciotti privatewave ........ r373652 | twilson | 2012-09-25 12:21:19 -0500 (Tue, 25 Sep 2012) | 18 lines 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/ ........ r374456 | file | 2012-10-04 12:39:18 -0500 (Thu, 04 Oct 2012) | 14 lines Fix a regression from direct media ACLs where the directrtpsetup option no longer works. A check was added for direct media ACLs that immediately forbid remote bridging if there was no bridged channel. This caused directrtpsetup to no longer function as it needs this information before bridging actually occurs. Logic has now been adjusted so if there is no bridged channel a remote bridge will still be attempted. (closes issue ASTERISK-20511) Reported by: kristoff Review: https://reviewboard.asterisk.org/r/2146/ ........ Merged revisions 372709,373165,373532,373652,374456 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * funcs/func_math.c, main/xmldoc.c, apps/app_dial.c, /, channels/chan_sip.c: Multiple revisions 371357,371469,371860,372628 ........ r371357 | jrose | 2012-08-16 13:57:27 -0500 (Thu, 16 Aug 2012) | 8 lines 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 ........ r371469 | mjordan | 2012-08-17 13:51:43 -0500 (Fri, 17 Aug 2012) | 14 lines 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 ........ r371860 | rmudgett | 2012-08-29 13:22:24 -0500 (Wed, 29 Aug 2012) | 12 lines 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 ........ r372628 | rmudgett | 2012-09-07 17:06:29 -0500 (Fri, 07 Sep 2012) | 5 lines Remove annoying unconditional debug message from INC/DEC functions. (closes issue AST-1001) Reported by: Guenther Kelleter ........ Merged revisions 371357,371469,371860,372628 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * /, 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 * main/cel.c, main/channel.c, /: Multiple revisions 370205,370273,370360 ........ r370205 | kpfleming | 2012-07-18 14:12:03 -0500 (Wed, 18 Jul 2012) | 18 lines 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/ ........ r370273 | mjordan | 2012-07-19 17:00:14 -0500 (Thu, 19 Jul 2012) | 14 lines 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 ........ r370360 | kpfleming | 2012-07-23 09:41:03 -0500 (Mon, 23 Jul 2012) | 10 lines Free any datastores attached to dummy channels. Revision 370205 added the use of a datastore attached to a dummy channel to resolve a memory leak, but ast_dummy_channel_destructor() in this branch did not free datastores, resulting in a continued (but slightly smaller) memory leak. This patch backports the change to free said datastores from the Asterisk trunk. (related to issue AST-916) ........ Merged revisions 370205,370273,370360 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * configs/sip.conf.sample, channels/sip/include/sip.h, /, channels/chan_sip.c: 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. For those who are having some deja vu, that's because this patch was originally committed to trunk since there is a new configuration option added. After seeing a bug report about audio being slow to set up on SIP calls, it became apparent that this patch would be the best solution for resolving the issue. The patch is unintrusive and will have no effect unless the option is explicitly enabled. (closes issue AST-896) reported by Thomas Arimont (closes issue ASTERISK-19857) reported by Matt Jordan ........ Merged revisions 370618 from http://svn.asterisk.org/svn/asterisk/branches/1.8 * main/ssl.c, main/tcptls.c, /, channels/chan_sip.c: Resolve memory leaks in TLS initialization and TLS client connections This patch resolves two sources of memory leaks when using TLS in Asterisk: 1) It removes improper initialization (and multiple re-initializations) of portions of the SSL library. Asterisk calls SSL_library_init and SSL_load_error_strings during SSL initialization; collectively this obviates the need for calling any of the following during initialization or client connection handling: * ERR_load_crypto_strings (handled by SSL_load_error_strings) * OpenSSL_add_all_algorithms (synonym for SSL_library_init) * SSLeay_add_ssl_algorithms (synonym for SSL_library_init) 2) Failure to completely clean up all memory allocated by Asterisk and by the SSL library for TLS clients. This included not freeing the SSL_CTX object in the SIP channel driver, as well as not clearing the error stack when the TLS client exited. Note that these memory leaks were found by Thomas Arimont, and this patch was essentially written by him with some minor tweaks. (closes issue AST-889) Reported by: Thomas Arimont Tested by: Thomas Arimont patches: (bugAST-889.patch) by Thomas Arimont (license 5525) Review: https://reviewboard.asterisk.org/r/2105 ........ Merged revisions 373061 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2012-10-11 15:46 +0000 [r374848] 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 2012-10-10 21:16 +0000 [r374807] 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 2012-10-05 20:12 +0000 [r374569] dlee : * main/manager.c: 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/ 2012-10-05 19:02 +0000 [r374541] Richard Mudgett * channels/misdn/isdn_msg_parser.c, channels/misdn/isdn_lib.c, channels/misdn/isdn_lib.h, channels/chan_misdn.c, /: Multiple revisions 370563,374536 ........ r370563 | rmudgett | 2012-07-30 11:47:19 -0500 (Mon, 30 Jul 2012) | 2 lines Release B channel allocation on error path in chan_misdn. ........ r374536 | rmudgett | 2012-10-05 13:20:01 -0500 (Fri, 05 Oct 2012) | 159 lines 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 370563,374536 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2012-10-04 15:11 +0000 [r374424] dlee : * res/res_agi.c, main/db.c: Fix DBDelTree error codes for AMI, CLI and AGI The AMI DBDelTree command will return Success/Key tree deleted successfully even if the given key does not exist. The CLI command 'database deltree' had a similar problem, but was saved because it actually responded with '0 database entries removed'. AGI had a slightly different error, where it would return success if the database was unavailable. This came from confusion about the ast_db_deltree retval, which is -1 in the event of a database error, or number of entries deleted (including 0 for deleting nothing). * Adds a Doxygen comment to process_db_keys explaining its retval * 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/ 2012-09-25 22:59 +0000 [r373772] Mark Michelson * channels/chan_agent.c, configs/agents.conf.sample, /: 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 2012-09-20 19:13 +0000 [r373243] 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 2012-09-11 21:02 +0000 [r372884] Mark Michelson * include/asterisk/_private.h, main/message.c, main/asterisk.c: Fix inability to shutdown gracefully due to an unending channel reference. message.c makes use of a special message queue channel that exists in thread storage. This channel never goes away due to the fact that the taskprocessor used by message.c does not get shut down, meaning that it never ends the thread that stores the channel. This patch fixes the problem by shutting down the taskprocessor when Asterisk is shut down. In addition, the thread storage has a destructor that will release the channel reference when the taskprocessor is destroyed. (closes issue AST-937) Reported by Jason Parker Patches: AST-937.patch uploaded by Mark Michelson (License #5049) Tested by Jason Parker 2012-08-30 18:48 +0000 [r372052] Matthew Jordan * channels/chan_iax2.c, 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 reported 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 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 2012-08-29 21:29 +0000 [r371948] 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 ........ 2012-08-27 21:48 +0000 [r371752-371788] 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 * 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 * 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 2012-08-17 16:02 +0000 [r371397-371440] 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 * 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 2012-08-13 20:42 +0000 [r371229] 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 2012-08-10 21:42 +0000 [r371145] 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 2012-08-07 15:49 +0000 [r370844] Mark Michelson * channels/sip/config_parser.c, channels/sip/include/sip.h, /, channels/chan_sip.c: 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 ........ Merged revisions 370769 from http://svn.asterisk.org/svn/asterisk/branches/1.8 2012-08-07 15:16 +0000 [r370840] Jason Parker * /: Fix merge prop 2012-07-31 20:59 +0000 [r370665-370667] Jason Parker * main/callerid.c, main/file.c, pbx/pbx_dundi.c, channels/chan_nbs.c, apps/app_voicemail.c, cel/cel_pgsql.c, cel/cel_radius.c, apps/app_dahdibarge.c, apps/app_readfile.c, res/res_snmp.c, apps/app_dictate.c, apps/app_test.c, apps/app_ices.c, cdr/cdr_radius.c, res/res_jabber.c, main/config.c, main/presencestate.c (added), main/channel.c, main/manager.c, apps/app_setcallerid.c, apps/app_osplookup.c, funcs/func_pitchshift.c, include/asterisk/event_defs.h, configure, include/asterisk/custom_control_frame.h (added), funcs/func_frame_trace.c, cdr/cdr_sqlite.c, tests/test_voicemail_api.c (added), apps/app_mp3.c, main/features.c, pbx/pbx_ael.c, main/app.c, configs/sip.conf.sample, include/asterisk/frame.h, formats/format_jpeg.c, main/message.c (added), channels/chan_mgcp.c, res/res_config_pgsql.c, res/res_ais.c, cel/cel_tds.c, apps/app_dahdiras.c, res/res_ael_share.c, apps/app_talkdetect.c, apps/app_queue.c, channels/chan_jingle.c, channels/chan_misdn.c, formats/format_vox.c, res/res_timing_pthread.c, include/asterisk/jabber.h, channels/chan_h323.c, cel/cel_sqlite3_custom.c, main/event.c, apps/app_sms.c, tests/test_config.c, include/asterisk/pbx.h, apps/app_zapateller.c, res/res_timing_kqueue.c, res/res_fax_spandsp.c, apps/app_mixmonitor.c, main/custom_control_frame.c (added), main/asterisk.c, tests/test_custom_control.c (added), channels/chan_unistim.c, cdr/cdr_sqlite3_custom.c, res/res_phoneprov.c, apps/app_alarmreceiver.c, apps/app_image.c, apps/app_chanisavail.c, channels/chan_gtalk.c, cdr/cdr_pgsql.c, res/res_config_sqlite.c, cdr/cdr_csv.c, include/asterisk/callerid.h, include/asterisk/file.h, channels/chan_phone.c, channels/chan_skinny.c, apps/app_minivm.c, pbx/pbx_realtime.c, apps/app_amd.c, channels/chan_alsa.c, apps/app_url.c, apps/app_confbridge.c, apps/app_externalivr.c, cdr/cdr_odbc.c, res/res_config_ldap.c, channels/sip/include/sip.h, apps/app_jack.c, apps/app_adsiprog.c, apps/app_nbscat.c, main/pbx.c, channels/chan_sip.c, apps/app_festival.c, apps/app_waitforsilence.c, include/asterisk/presencestate.h (added), include/asterisk/config.h, apps/app_morsecode.c, pbx/pbx_lua.c, configs/manager.conf.sample, include/asterisk/channel.h, include/asterisk/_private.h, channels/chan_console.c, include/asterisk/manager.h, apps/app_getcpeid.c, channels/chan_oss.c, cdr/cdr_tds.c, include/asterisk/app.h, funcs/func_presence_state.c (added), apps/app_waitforring.c, configs/jabber.conf.sample, include/asterisk/message.h (added): Merge changes for Digium phone support, and default module building. All of these changes are merged from certified/branches/1.8.11/ * / (added): Create branch for Certified Asterisk 1.8.15. 2012-07-30 Asterisk Development Team * Asterisk 1.8.15.0 Released. 2012-07-11 Asterisk Development Team * Asterisk 1.8.15.0-rc1 Released. 2012-07-10 13:33 +0000 [r369869] Kinsey Moore * apps/app_stack.c, main/pbx.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 2012-07-09 17:05 +0000 [r369818] 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) 2012-07-09 14:38 +0000 [r369792] 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. 2012-07-06 20:54 +0000 [r369750] 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) 2012-07-06 18:40 +0000 [r369708-369731] 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 * 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 2012-07-05 19:01 +0000 [r369652] 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) 2012-07-05 17:01 +0000 [r369626] 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) 2012-07-03 16:58 +0000 [r369557-369579] 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) * channels/sip/include/sip.h, channels/chan_sip.c: 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/ 2012-06-29 16:52 +0000 [r369471-369490] Joshua Colp * channels/chan_sip.c: With some configurations a transport is not actually specified so assume UDP in these cases. * 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/ 2012-06-27 20:58 +0000 [r369436] Terry Wilson * channels/sip/include/sip.h, channels/chan_sip.c: 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 2012-06-26 13:21 +0000 [r369366-369390] 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. * main/cdr.c: Tweak CDR change in r369351 As Tilghman pointed out on review 1996, the check to see if a CDR end time has been set is sufficient to know whether or not the duration value can be used. The check-in done for r369351 forgot to include this change. 2012-06-25 19:13 +0000 [r369352] Mark Michelson * channels/sip/include/sip.h, channels/chan_sip.c: 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 2012-06-25 19:12 +0000 [r369351] Matthew Jordan * 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/ 2012-06-25 15:57 +0000 [r369327] 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 2012-06-25 15:50 +0000 [r369302-369324] Mark Michelson * main/adsi.c (added): Forgot to svn add this file in my last commit. * res/res_adsi.exports.in (removed), include/asterisk/adsi.h, main/Makefile, res/res_adsi.c: 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 * 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) 2012-06-23 00:04 +0000 [r369235-369282] Richard Mudgett * 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. * apps/app_queue.c: Explicitly check caller hangup in app Queue rather than a polluted res2 value. * apps/app_dial.c: Check if PBX was started and fix F and F(x) action logic in Dial application. * main/ccss.c: Check if PBX was started for generic CCSS recall. * channels/chan_sip.c: Change incorrect chan_sip zombie hangup debug message. They are all zombies now. 2012-06-22 19:28 +0000 [r369214] 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 2012-06-22 17:14 +0000 [r369195] Kinsey Moore * 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. 2012-06-20 17:33 +0000 [r369130-369146] 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 * addons/chan_ooh323.c: fix compile error (1.8 don't have ast_channel_name macro) 2012-06-20 02:03 +0000 [r369108] Michael L. Young * include/asterisk/netsock2.h, main/netsock2.c: 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/ 2012-06-19 23:28 +0000 [r369090] 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-2.patch 2012-06-19 15:30 +0000 [r369066] 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) 2012-06-18 18:07 +0000 [r369043] 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 2012-06-15 15:57 +0000 [r369001-369002] Kevin P. Fleming * build_tools/find_missing_support_level (added): Add a script to enable finding source files without support-levels defined. * main/devicestate.c, main/astfd.c, main/ssl.c, main/taskprocessor.c, main/astobj2.c, main/indications.c, main/config.c, main/loader.c, main/term.c, main/cli.c, channels/sig_analog.c, main/framehook.c, main/strcompat.c, main/plc.c, res/ais/evt.c, main/fskmodem_int.c, main/syslog.c, main/stdtime/localtime.c, main/db.c, main/bridging.c, channels/sig_ss7.c, main/datastore.c, main/sched.c, channels/sip/sdp_crypto.c, main/pbx.c, main/strings.c, channels/vcodecs.c, channels/iax2-provision.c, main/aoc.c, pbx/dundi-parser.c, main/cel.c, channels/iax2-parser.c, main/chanvars.c, main/netsock.c, main/data.c, main/srv.c, channels/chan_misdn.c, main/privacy.c, channels/sip/dialplan_functions.c, main/fixedjitterbuf.c, main/test.c, main/audiohook.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, channels/misdn/isdn_msg_parser.c, main/utils.c, main/xml.c, main/autochan.c, main/enum.c, channels/misdn/isdn_lib.c, main/fskmodem.c, channels/misdn_config.c, main/io.c, res/ael/pval.c, main/channel.c, main/cdr.c, main/ulaw.c, main/dial.c, main/tdd.c, main/heap.c, channels/console_gui.c, channels/misdn/ie.c, main/logger.c, channels/console_board.c, main/app.c, main/image.c, main/dns.c, main/lock.c, main/stun.c, main/dnsmgr.c, channels/sip/srtp.c, main/translate.c, main/slinfactory.c, main/jitterbuf.c, main/acl.c, channels/sig_pri.c, main/tcptls.c, main/hashtab.c, main/abstract_jb.c, main/callerid.c, main/file.c, res/snmp/agent.c, main/astmm.c, channels/misdn/portinfo.c, main/event.c, channels/sip/config_parser.c, channels/vgrabbers.c, main/xmldoc.c, main/dsp.c, main/udptl.c, main/netsock2.c, main/autoservice.c, main/rtp_engine.c, main/frame.c, main/security_events.c, res/ais/clm.c, main/threadstorage.c, main/say.c, channels/console_video.c: 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. 2012-06-14 15:23 +0000 [r368898-368927] 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. * 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) 2012-06-13 20:26 +0000 [r368894] 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 2012-06-13 19:00 +0000 [r368873] 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 2012-06-13 14:27 +0000 [r368830-368852] Matthew Jordan * 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. * 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) 2012-06-12 15:36 +0000 [r368807] 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 2012-06-11 17:03 +0000 [r368759] Richard Mudgett * include/asterisk/channel.h, channels/chan_iax2.c, main/channel.c, channels/chan_dahdi.c, channels/sig_analog.c, channels/chan_sip.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 2012-06-11 15:13 +0000 [r368719-368738] Kinsey Moore * apps/app_queue.c, main/loader.c, channels/chan_dahdi.c, res/res_config_odbc.c, channels/sip/dialplan_functions.c, pbx/pbx_config.c, apps/app_directory.c, res/res_odbc.c, res/res_speech.c, apps/app_voicemail.c, main/udptl.c, channels/sip/sdp_crypto.c, channels/chan_sip.c, res/res_fax.c, main/say.c, funcs/func_strings.c, channels/sip/reqresp_parser.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) * main/md5.c: 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. 2012-07-10 Asterisk Development Team * Asterisk 1.8.14.0 Released. 2012-07-06 Asterisk Development Team * Asterisk 1.8.14.0-rc2 Released. * AST-2012-010: Possible Resource Leak on Uncompleted Re-INVITE transactions * AST-2012-011: Remote Crash Vulnerability in VoiceMail Application * Fix 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 is is allowed. (closes issue ASTERISK-20040) * 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 esnt, 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) * 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) 2012-06-08 Asterisk Development Team * Asterisk 1.8.14.0-rc1 Released. 2012-06-06 21:27 +0000 [r368644] 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 2012-06-06 19:13 +0000 [r368625] 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 2012-06-06 17:20 +0000 [r368604] 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". 2012-06-06 16:07 +0000 [r368586] 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 2012-06-06 01:08 +0000 [r368567] 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 2012-06-05 15:26 +0000 [r368520-368533] Kinsey Moore * apps/app_minivm.c: Resolve some build warnings My newly upgraded compiler caught these usages of uninitialized values. They weren't actually used. * 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) 2012-06-04 21:56 +0000 [r368498] 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) 2012-06-04 21:10 +0000 [r368405-368469] Richard Mudgett * UPGRADE.txt: Document BLINDTRANSFER behavior change. (issue ASTERISK-19322) (closes issue ASTERISK-19875) Reported by: call * 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/ 2012-06-01 23:21 +0000 [r368308] 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 2012-06-01 18:18 +0000 [r368218] Kevin P. Fleming * 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/ 2012-06-01 03:25 +0000 [r368092] 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/ 2012-05-31 18:00 +0000 [r367906-368039] Richard Mudgett * main/db1-ast/btree/bt_open.c, apps/app_queue.c, channels/chan_iax2.c, pbx/pbx_config.c, 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: 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 * channels/sig_pri.c, channels/sig_ss7.c: Use the DEADLOCK_AVOIDANCE() macro instead. (issue ASTERISK-19854) * 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 * 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 2012-05-29 18:30 +0000 [r367843] 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 dereferenced 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 (license 6283) 2012-05-25 16:28 +0000 [r367781] 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 2012-05-25 02:27 +0000 [r367730] 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/ 2012-05-24 22:21 +0000 [r367469-367678] Richard Mudgett * apps/app_queue.c, apps/app_dial.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/ * 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. 2012-05-23 20:27 +0000 [r367416] Mark Michelson * main/tcptls.c: Only call SSL_CTX_free if DO_SSL is defined. Thanks to Paul Belanger for pointing out this error. 2012-05-23 13:06 +0000 [r367362] Matthew Jordan * channels/chan_sip.c: Update a peer's LastMsgsSent when the peer is notified of waiting messages 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. However, the value was still presented when, either by AMI or CLI, a 'sip show peer [peer]' command was executed. The output of the command would always display the erroneous value of 32767/65535 for 'LastMsgsSent'. This patch 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 2012-05-22 17:14 +0000 [r367266-367292] Terry Wilson * include/asterisk/channel.h, main/cel.c, main/asterisk.c, main/channel.c, include/asterisk/cel.h: 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/ * 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/ 2012-05-18 17:47 +0000 [r367002-367027] 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 * include/asterisk/tcptls.h, main/tcptls.c, channels/chan_sip.c: 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) 2012-05-18 15:42 +0000 [r366944] Matthew Jordan * main/cli.c, channels/chan_sip.c, funcs/func_odbc.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 (issue ASTERISK-19665) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1922/ 2012-05-18 14:16 +0000 [r366882] 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. 2012-05-18 13:58 +0000 [r366880] Matthew Jordan * res/res_calendar_caldav.c, res/res_musiconhold.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/editline/tokenizer.c, main/cli.c, channels/chan_dahdi.c, main/data.c, funcs/func_odbc.c, apps/app_minivm.c, main/features.c, main/editline/readline.c, channels/sip/config_parser.c, main/xmldoc.c, res/res_calendar.c, apps/app_voicemail.c, res/res_rtp_asterisk.c, main/netsock2.c, res/res_calendar_icalendar.c, res/res_calendar_exchange.c, main/pbx.c, apps/app_page.c, channels/chan_sip.c, funcs/func_dialgroup.c, apps/app_record.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 2012-05-17 14:40 +0000 [r366791] Jonathan Rose * channels/chan_sip.c: chan_sip: Fix missed locking of opposing pvt for directmedia acl from r366547 It also required deadlock avoidance since two sip_pvts structs needed to be locked simultaneously. Trunk handles it differently, so this is a 1.8 and 10 patch only. (issue AST-876) 2012-05-17 12:51 +0000 [r366740] Matthew Jordan * res/res_calendar_ews.c, channels/chan_dahdi.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 2012-05-16 15:52 +0000 [r366597-366650] Mark Michelson * main/http.c: Fix incorrect default port number for HTTP server. Thanks to Tzafrir Cohen for bringing this up on the Asterisk developers mailing list. * 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. 2012-05-15 20:14 +0000 [r366547] Jonathan Rose * channels/chan_sip.c: chan_sip: Check the right channel's host address for directmediapermit/deny Prior to this patch, when checking the addresses for directmediapermit and directmediadeny, Asterisk would check the host address of the channel permit/deny was specified, which differs from the expectations of both our users and the development team. Instead, directmediapermit/deny now checks against the address of the channel that the peer with the ACL is connected to. (issue AST-876) Review: https://reviewboard.asterisk.org/r/1899/ 2012-05-14 19:57 +0000 [r366389-366409] 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 * 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 2012-05-11 23:53 +0000 [r366296] Russell Bryant * addons/format_mp3.c: format_mp3: Fix a possible crash 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 2012-05-10 23:38 +0000 [r366240] 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(). 2012-05-10 20:50 +0000 [r366167] Kinsey Moore * 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, 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: 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) 2012-05-10 16:47 +0000 [r366094] Jonathan Rose * channels/iax2-provision.c, apps/app_queue.c, channels/chan_iax2.c, res/ael/ael.flex, funcs/func_devstate.c, main/asterisk.c, main/db.c, main/xmldoc.c, apps/app_voicemail.c, main/pbx.c, channels/sig_analog.c, channels/chan_sip.c, funcs/func_lock.c, main/features.c, main/acl.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/ 2012-05-10 16:10 +0000 [r366052] 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 2012-05-10 15:35 +0000 [r365989-366048] Jonathan Rose * apps/app_chanspy.c, apps/app_page.c, funcs/func_cdr.c, main/features.c, apps/app_disa.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/ * 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) 2012-05-09 16:11 +0000 [r365896] 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 2012-05-08 20:14 +0000 [r365631-365692] Richard Mudgett * 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 call_followme.moh[] and struct fm_args.namerecloc[]. This fixes unexpected namerecloc filename length restriction. * 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. * Fix FollowMe n option documentation. 2012-05-08 15:48 +0000 [r365574] 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 2012-05-07 18:40 +0000 [r365476] Richard Mudgett * tests/test_config.c: Fix type punned compiler warning in test_config.c 2012-05-07 18:36 +0000 [r365474] Matthew Jordan * apps/app_voicemail.c, main/pbx.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 2012-05-07 16:01 +0000 [r365460] Mark Michelson * main/audiohook.c, res/res_speech.c, channels/sig_analog.c, main/abstract_jb.c, res/res_agi.c: Fix findings 0-3, 5, and 8 for Coverity MISSING_BREAK errors. (Issue ASTERISK-19662) 2012-05-04 22:12 +0000 [r365398] Kinsey Moore * 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, channels/chan_sip.c, funcs/func_aes.c, main/features.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) 2012-05-04 16:24 +0000 [r365313] 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/ 2012-05-04 15:48 +0000 [r365298] 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) 2012-05-03 14:54 +0000 [r365143-365159] Alexandr Anikin * addons/ooh323c/src/h323/H323-MESSAGES.h, addons/ooh323c/src/h323/H323-MESSAGESEnc.c, addons/ooh323c/src/ooh323.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) * 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) 2012-06-04 Asterisk Development Team * Asterisk 1.8.13.0 Released. 2012-05-30 Asterisk Development Team * Asterisk 1.8.13.0-rc2 Released. * 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/ * AST-2012-007 * AST-2012-008 2012-05-03 Asterisk Development Team * Asterisk 1.8.13.0-rc1 Released. 2012-05-02 17:02 +0000 [r365006-365068] Terry Wilson * main/cel.c, channels/chan_local.c: 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/ * main/cel.c, channels/chan_local.c: 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/ 2012-05-01 23:11 +0000 [r364902] 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 2012-05-01 23:08 +0000 [r364899] 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) 2012-05-01 21:37 +0000 [r364841] Jason Parker * main/manager.c: Prevent a potential crash when using manager hooks. Found by me while poking at DPMA-127. 2012-05-01 21:36 +0000 [r364840] Richard Mudgett * channels/chan_local.c: * Fix error path resouce leak in local_request(). * Restructure local_request() to reduce indentation. 2012-05-01 19:03 +0000 [r364786] 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 2012-05-01 18:16 +0000 [r364769] 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) 2012-04-30 19:39 +0000 [r364706] Mark Michelson * channels/chan_sip.c: Revert improved identities sent in dialog-info NOTIFY requests in r360862 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) 2012-04-30 16:37 +0000 [r364649] 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) 2012-04-30 15:51 +0000 [r364635] Mark Murawki * main/logger.c: 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 2012-04-29 19:31 +0000 [r364578] Matthew Jordan * formats/format_g723.c, formats/format_h263.c, formats/format_h264.c, formats/format_sln16.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, formats/format_ilbc.c, formats/format_sln.c, formats/format_vox.c, formats/format_wav.c, formats/format_pcm.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 2012-04-27 21:48 +0000 [r364341] 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) 2012-04-27 21:45 +0000 [r364340] Terry Wilson * tests/test_config.c (added), main/config.c: 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/ 2012-04-27 19:26 +0000 [r364277] 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/ 2012-04-27 18:57 +0000 [r364258] 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. (related to issue ASTERISK-19579) 2012-04-27 14:42 +0000 [r364203] 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/ 2012-04-26 21:10 +0000 [r364060-364108] Richard Mudgett * apps/app_directed_pickup.c: Update Pickup application documentation. (With feeling this time.) * 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 2012-04-26 19:24 +0000 [r364046] 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/ 2012-04-26 13:24 +0000 [r363986] 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) 2012-04-26 09:44 +0000 [r363934] 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/ 2012-04-26 03:11 +0000 [r363375-363875] Richard Mudgett * apps/app_directed_pickup.c: Update Pickup application documentation. (Even better) * apps/app_directed_pickup.c: Update Pickup application documentation. * channels/sig_pri.c, channels/chan_dahdi.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 * channels/sig_pri.c, channels/sig_pri.h, channels/chan_dahdi.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) * 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 * main/features.c: Hangup affected channel in error paths of bridge_call_thread(). 2012-04-23 16:02 +0000 [r363209] 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. 2012-04-23 14:33 +0000 [r363141] 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 2012-04-23 14:05 +0000 [r363102-363106] 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) * /, 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 2012-04-21 01:44 +0000 [r362997] Richard Mudgett * apps/app_dial.c: Update app_dial M and U option GOTO return value documentation. 2012-04-20 16:09 +0000 [r362815-362868] 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) * 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) 2012-04-19 21:58 +0000 [r362729] Walter Doekes * funcs/func_version.c: Fix documentation for ${VERSION(ASTERISK_VERSION_NUM)}. 2012-04-19 21:05 +0000 [r362680] 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. 2012-04-19 20:59 +0000 [r362677] Richard Mudgett * configs/queues.conf.sample: Update membermacro and membergosub documentation in queues.conf.sample. 2012-04-19 15:53 +0000 [r362586] 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 2012-04-19 14:26 +0000 [r362536] 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/ 2012-04-19 02:08 +0000 [r362485] Matthew Jordan * apps/app_sms.c, main/stdtime/localtime.c, utils/extconf.c, addons/chan_mobile.c, main/asterisk.c, channels/chan_unistim.c, main/frame.c, main/tdd.c, main/jitterbuf.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. * frame: 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 2012-04-18 16:20 +0000 [r362428] Richard Mudgett * channels/sig_pri.c, channels/sig_pri.h, channels/chan_dahdi.c, configs/chan_dahdi.conf.sample: 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 2012-04-17 21:18 +0000 [r362355-362368] Matthew Jordan * main/frame.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/ * res/res_musiconhold.c, res/res_rtp_asterisk.c, res/res_agi.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/ * main/asterisk.c, main/manager.c, main/translate.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. * translate.c: Note in the appropriate locations where powerof cannot return a negative value, due to proper checks placed on the inputs to that function. (issue ASTERISK-19655) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1863/ * 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/ 2012-04-17 20:43 +0000 [r362354] Jonathan Rose * main/utils.c, 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/ 2012-04-17 18:25 +0000 [r362304] Matthew Jordan * formats/format_sln16.c, formats/format_wav_gsm.c, formats/format_siren14.c, formats/format_gsm.c, formats/format_g719.c, formats/format_siren7.c, formats/format_sln.c, formats/format_vox.c, formats/format_wav.c, formats/format_pcm.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 2012-04-17 02:37 +0000 [r362253] 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) 2012-04-16 21:56 +0000 [r362151-362204] 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/ * 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 * formats/format_g723.c, formats/format_h263.c, formats/format_h264.c, formats/format_sln16.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, formats/format_ilbc.c, formats/format_sln.c, formats/format_vox.c, formats/format_wav.c, formats/format_pcm.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/ 2012-04-13 15:54 +0000 [r362079-362082] 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) * 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/ 2012-04-12 16:18 +0000 [r361955-361972] 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 * Makefile.rules, makeopts.in, codecs/lpc10/Makefile, Makefile, build_tools/cflags.xml, build_tools/menuselect-deps.in, codecs/gsm/src/k6opt.s, configure, codecs/gsm/Makefile, configure.ac: 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) 2012-04-10 21:43 +0000 [r361854] 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. 2012-04-10 19:57 +0000 [r361657-361803] 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. * 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. * 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. * 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. 2012-04-06 21:50 +0000 [r361558-361606] 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. * 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. 2012-04-06 18:09 +0000 [r361471] Kinsey Moore * 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, funcs/func_channel.c, channels/console_gui.c, apps/app_sms.c, apps/app_chanspy.c, addons/chan_mobile.c, channels/chan_mgcp.c, main/xmldoc.c, apps/app_voicemail.c, res/res_clioriginate.c, channels/chan_unistim.c, main/pbx.c, channels/chan_sip.c, res/res_fax.c, funcs/func_strings.c, channels/console_video.c, formats/format_ogg_vorbis.c: Add missing newlines to CLI logging 2012-04-06 16:27 +0000 [r361403-361412] Paul Belanger * funcs/func_sysinfo.c: Fix typo in svn:keywords * bridges/bridge_multiplexed.c, bridges/bridge_builtin_features.c: Fix typo in svn:keywords 2012-04-06 15:47 +0000 [r361380] Russell Bryant * apps/rpt_flow.pdf (removed), configs/rpt.conf.sample (removed), configs/usbradio.conf.sample (removed): Remove a few more files related to chan_usbradio and app_rpt. 2012-04-06 14:01 +0000 [r361332] 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 2012-04-06 13:30 +0000 [r361329] 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) 2012-04-05 16:36 +0000 [r361201-361269] 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/ * 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) * 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) 2012-05-02 Asterisk Development Team * Asterisk 1.8.12.0 Released. 2012-05-01 Asterisk Development Team * Asterisk 1.8.12.0-rc3 Released. * 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) 2012-04-24 Asterisk Development Team * Asterisk 1.8.12.0-rc2 Released. * AST-2012-004 * AST-2012-005 * AST-2012-006 2012-04-04 Asterisk Development Team * Asterisk 1.8.12.0-rc1 Released. 2012-04-04 16:29 +0000 [r361090-361142] Jonathan Rose * main/app.c, pbx/pbx_realtime.c, apps/app_externalivr.c, channels/chan_iax2.c, apps/app_milliwatt.c, main/channel.c, pbx/pbx_loopback.c, addons/chan_ooh323.c, channels/chan_sip.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) * 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/ 2012-04-03 20:08 +0000 [r360987-361040] 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) * 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) 2012-03-30 21:26 +0000 [r360933] 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 2012-03-29 23:32 +0000 [r360862-360884] 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) * 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) 2012-03-28 19:06 +0000 [r360712] Terry Wilson * cdr/cdr_adaptive_odbc.c, addons/cdr_mysql.c, channels/chan_gtalk.c, channels/chan_jingle.c, addons/chan_ooh323.c: Destroy configs when they are no longer used https://reviewboard.asterisk.org/r/1834/ 2012-03-27 16:59 +0000 [r360625] 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. 2012-03-27 14:32 +0000 [r360488-360574] Jonathan Rose * configure: Updates config with bootstrap where I changed configure.ac in r360488 (issue ASTERISK-17842) Reported by: Bryon Clark * 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) 2012-03-26 18:37 +0000 [r360471-360474] Paul Belanger * CHANGES: Update CHANGES for r360471 * CHANGES: Fix Asterisk version typo * main/dnsmgr.c: Increase verbosity level for ast_verb messages While this does not fix the issue of the CLI being flooded by 'doing dnsmgr_lookup' messages, increasing the verbosity level above 5 should help minimize it. 2012-03-24 23:46 +0000 [r360356-360413] Russell Bryant * funcs/func_curl.c: func_curl: Fix leak of an ast_str in error handling code path. * 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. * apps/app_jack.c: app_jack: fix datastore memory leak in error handling path. * res/ael/ael.tab.h, main/ast_expr2.c, main/ast_expr2.h, res/ael/ael.tab.c, main/ast_expr2f.c, res/ael/ael_lex.c: 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. * main/ast_expr2.y: 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. 2012-03-24 00:35 +0000 [r360262-360309] Richard Mudgett * channels/sig_pri.c, main/channel.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. * channels/chan_sip.c: Add missing initialization of update_redirecting in chan_sip.c 2012-03-21 14:51 +0000 [r360138] 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) 2012-03-21 13:19 +0000 [r360087] 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) 2012-03-21 13:19 +0000 [r360086] 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 2012-03-20 20:32 +0000 [r360033] 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. 2012-03-20 17:21 +0000 [r359979] Richard Mudgett * include/asterisk/manager.h, main/manager.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/ 2012-03-16 20:13 +0000 [r359892] 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/ 2012-03-16 08:22 +0000 [r359809] Alec L Davis * channels/sip/include/sip.h: Missed lastinvite CSeq int to uint32_t change from Review: https://reviewboard.asterisk.org/r/1699/ 2012-03-15 19:01 +0000 [r359656-359706] 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 * 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 2012-03-15 18:17 +0000 [r359609] Richard Mudgett * apps/app_queue.c, apps/app_dial.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/ 2012-03-15 00:52 +0000 [r359452-359558] 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. * channels/chan_gtalk.c: chan_gtalk: Fix use of uninitialized vars in config handling. Fix potential use of context, parkinglot, and prefs before they are initialized. * 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. * 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. * 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). * 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. 2012-03-14 22:20 +0000 [r359451] Richard Mudgett * include/asterisk/channel.h, main/channel.c, channels/chan_agent.c: 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. 2012-03-14 17:32 +0000 [r359356] 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) 2012-03-14 17:17 +0000 [r359344] 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/ 2012-03-14 10:52 +0000 [r359050-359259] 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. * 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. * main/sched.c: Fix inaccurate sizeof() in sched.c. This code just needed sizeof(int), not sizeof(int *). * utils/astman.c: Fix incorrect sizeof() in astman. * 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. * res/res_adsi.c: Fix broken usage of sizeof() in res_adsi. * 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. * main/md5.c: Fix incorrect sizeof() on a pointer in MD5Final(). * 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. * res/ais/ais.h, res/res_ais.c, res/ais/clm.c, res/ais/evt.c: Dump cache of published events when a node joins the cluster. Also use a more reliable method for stopping the poll() thread. * makeopts.in, apps/app_rpt.c (removed), channels/chan_usbradio.c (removed), channels/xpmr (removed), build_tools/menuselect-deps.in, configure, include/asterisk/autoconfig.h.in, configure.ac: 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/ 2012-03-13 20:31 +0000 [r358943-358978] 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/ * main/devicestate.c, include/asterisk/devicestate.h, channels/chan_sip.c, tests/test_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/ 2012-03-13 16:54 +0000 [r358810-358859] Tilghman Lesher * UPGRADE.txt, CHANGES: Requested changes documenting the fixed AEL functionality. * utils/ael_main.c, apps/app_stack.c, utils/conf2ael.c, res/ael/pval.c, funcs/func_dialplan.c, tests/test_gosub.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/ 2012-03-08 16:39 +0000 [r358643] 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 2012-03-07 18:25 +0000 [r358530] Richard Mudgett * channels/sig_ss7.c: Change directly setting _softhangup in sig_ss7.c to use ast_softhangup_nolock(). Update to: (issue ASTERISK-19372) 2012-03-07 16:11 +0000 [r358484] 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 2012-03-07 15:16 +0000 [r358435-358438] Terry Wilson * configs/cdr_adaptive_odbc.conf.sample: Set snarkiness = 0 in cdr_adaptive_odbc.conf.sample * cdr/cdr_adaptive_odbc.c, cel/cel_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. 2012-03-06 17:44 +0000 [r358260-358377] 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. * 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 * channels/sig_ss7.c, channels/chan_dahdi.c, channels/sig_ss7.h: 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 2012-03-05 18:49 +0000 [r358214] 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/ 2012-03-05 16:41 +0000 [r358162] 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) 2012-03-05 15:54 +0000 [r358115] 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) Patch-by: Jeremiah Gowdy 2012-03-02 23:27 +0000 [r357986-358029] Terry Wilson * channels/xpmr/xpmr.c, channels/chan_usbradio.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. * channels/misdn/isdn_msg_parser.c, channels/misdn/isdn_lib.c, channels/chan_misdn.c: Correct some set-but-unused variable warnings in the mISDN library. (from kpfleming's commit to trunk r356292) * channels/xpmr/xpmr.c: Make chan_usbradio compile under dev mode x=++x and x=x=1? Really? 2012-03-02 21:02 +0000 [r357940] Kinsey Moore * main/event.c, include/asterisk/strings.h, main/ccss.c, tests/test_event.c: 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/ 2012-03-02 18:34 +0000 [r357894] Richard Mudgett * channels/sig_pri.c, main/channel.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 2012-03-02 15:58 +0000 [r357811] 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." 2012-03-02 15:45 +0000 [r357809] 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) 2012-03-02 00:59 +0000 [r357760-357761] 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 * main/translate.c: Second attempt to get optimal translation paths when codec_resample is used. This borrows code heavily from changes made in translation code in Asterisk 10. This uses the quality and sample rate change of translation in order to pick paths rather than the computational cost of translations. Computational cost is used solely in determining if a single translation step from a specific translator is better than the same translation step provided by a different translator. (closes issue ASTERISK-16821) reported by Andrew Lindh Review: https://reviewboard.asterisk.org/r/1772 2012-03-01 14:18 +0000 [r357665] 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) 2012-02-29 19:41 +0000 [r357575] 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) Patches: accountcode.patch (License #6033) by jamicque Review: https://reviewboard.asterisk.org/r/1775/ Reviewed by: Richard Mudgett 2012-02-28 22:27 +0000 [r357455-357490] Jonathan Rose * UPGRADE.txt, configs/sip.conf.sample: 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) * 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) 2012-02-28 21:19 +0000 [r357416] 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. 2012-02-28 20:57 +0000 [r357407] 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 2012-02-28 20:26 +0000 [r357356-357386] Jonathan Rose * UPGRADE.txt: Moves UPGRADE.txt notes from r357356 to a new section specific to 1.8.12 (issue ASTERISK-19352) reported by: jamicque * UPGRADE.txt: Adds UPGRADE.txt notes to r357266 indicating changes to transport option (issue ASTERISK-19352) Reported by: jamicque 2012-02-28 19:32 +0000 [r357352] 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 2012-02-28 18:00 +0000 [r357266] 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 2012-02-28 14:45 +0000 [r357212] 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. 2012-02-27 23:34 +0000 [r357093] Richard Mudgett * main/channel.c: Fix callerid of Originated calls. Thanks to Matt Riddell for tracking this down. (closes issue ASTERISK-19385) Reported by: ornix 2012-03-29 Asterisk Development Team * Asterisk 1.8.11.0 Released. 2012-03-26 Asterisk Development Team * Asterisk 1.8.11.0-rc3 Released. * AST-2012-003 * AST-2012-002 * /main/manager.c, /include/asterisk/manager.h: Fix AMI deadlock regression by allowing AMI action callback to be reentrant Fix AMI module reload deadlock 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/ 2012-03-06 Asterisk Development Team * Asterisk 1.8.11.0-rc2 Released. * 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. 2012-01-30 21:57 +0000 [r353368-353320] Alec L Davis * channels/sip/include/sip.h, channels/sip/include/dialog.h, channels/chan_sip.c: 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/ * channels/chan_sip.c: prevent debug messsges displaying -ve Cseq numbers. Missed in R353320 2012-01-30 23:17 +0000 [r353371] Terry Wilson * include/asterisk/dnsmgr.h, main/dnsmgr.c, channels/chan_sip.c: 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/ 2012-01-31 16:51 +0000 [r353454] Richard Mudgett * include/asterisk/channel.h, main/manager.c: 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/ 2012-01-31 23:41 +0000 [r353502] 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/ 2012-02-01 15:02 +0000 [r353550] 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 2012-02-01 15:50 +0000 [r353598] 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 2012-02-01 21:05 +0000 [r353769-353720] Jonathan Rose * 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) * 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) 2012-02-02 16:58 +0000 [r353770] Mark Michelson * UPGRADE.txt, configs/manager.conf.sample, include/asterisk/manager.h, configs/http.conf.sample, main/manager.c, main/http.c: 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 2012-02-02 18:31 +0000 [r353818] Jonathan Rose * funcs/func_curl.c: Backports some documentation for func_curl from 10 to 1.8 For some reason this function was completely undocumented in 1.8. I copied the 10 docs over to 1.8 and removed references to an enumerator that was added in the Asterisk 10 version of func_curl. That was the only change I noted. (closes issue ASTERISK-19186) Reported by: Olivier Krief 2012-02-02 20:01 +0000 [r353867] Richard Mudgett * channels/sig_pri.c, channels/sig_pri.h, channels/chan_dahdi.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 2012-02-02 22:26 +0000 [r353915] 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 2012-02-03 21:24 +0000 [r353999] 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/ 2012-02-06 17:28 +0000 [r354216-354116] 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 * 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 2012-02-07 15:04 +0000 [r354263] 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/ 2012-02-07 20:53 +0000 [r354348] Terry Wilson * contrib/realtime/postgresql/realtime.sql, channels/chan_sip.c: 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/ 2012-02-09 02:23 +0000 [r354492] 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/ 2012-02-09 02:52 +0000 [r354495] Richard Mudgett * 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 2012-02-09 16:30 +0000 [r354542] Matthew Jordan * 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 2012-02-09 16:56 +0000 [r354545] Mark Michelson * CHANGES, 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 2012-02-09 17:07 +0000 [r354547] 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/ 2012-02-09 17:32 +0000 [r354640-354594] Mark Michelson * main/translate.c: Fix translation path choices. This change makes it so computational cost is not taken into account when deciding if a multistep path is better than a single-step path. This means that the only time a multistep path will be chosen is if no single-step path exists. This ensures a better quality translation even if it turns out to be slightly slower. (closes issue ASTERISK-16821) reported by Andrew Lindh Review: https://reviewboard.asterisk.org/r/1715 * main/translate.c: Remove outdated comment. 2012-02-09 19:52 +0000 [r354702-354655] Kinsey Moore * 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/ * 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/ 2012-02-09 22:01 +0000 [r354749] 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/ 2012-02-10 18:03 +0000 [r354835] 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) 2012-02-10 21:45 +0000 [r354889] 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. 2012-02-13 17:22 +0000 [r354953] 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/ 2012-02-13 19:49 +0000 [r355009] 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) 2012-02-13 22:02 +0000 [r355056] 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/ 2012-02-14 09:41 +0000 [r355136] 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) 2012-02-14 13:33 +0000 [r355182] 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. 2012-02-14 15:50 +0000 [r355228] Jason Parker * configs/cdr_sqlite3_custom.conf.sample: Don't enable sqlite3 CDRs by default in sample configs. 2012-02-14 16:26 +0000 [r355268] 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) 2012-02-14 18:12 +0000 [r355365-355319] Richard Mudgett * 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/ * 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 2012-02-15 17:24 +0000 [r355529-355448] Sean Bright * 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. * channels/chan_iax2.c: Only use maxtrunkcall and maxnontrunkcall in chan_iax2 if IAX_OLD_FIND is specified. These variables are only accessed from the IAX_OLD_FIND path, so there is no reason to keep them updated otherwise. * channels/chan_iax2.c: When IAX2 debugging is enabled, make sure to log 'apathetic' messages too. 2012-02-16 18:26 +0000 [r355608-355574] Richard Mudgett * 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. * 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 2012-02-16 20:01 +0000 [r355622] 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. 2012-02-16 23:53 +0000 [r355711-355700] Paul Belanger * addons/ooh323cDriver.c, addons/ooh323c/src/ooSocket.c, addons/ooh323c/src/ooq931.c, addons/ooh323c/src/ooTimer.c, addons/ooh323c/src/ooCapability.c, addons/ooh323c/src/perutil.c: Fix -Werror=unused-but-set-variable compiler error (gcc 4.6.2) * addons/ooh323c/src/ooSocket.c: Missed a variable * addons/ooh323cDriver.c, addons/ooh323c/src/ooSocket.c, addons/ooh323c/src/ooq931.c, addons/ooh323c/src/ooTimer.c, addons/ooh323c/src/ooCapability.c, addons/ooh323c/src/perutil.c: Revert 355700 and 355701 2012-02-17 16:04 +0000 [r355732-355721] Mark Michelson * main/translate.c: Revert change to translate.c as it has caused an infinite loop to occur in circumstances. * 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 2012-02-17 19:32 +0000 [r355793-355746] 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. * channels/chan_iax2.c, configs/iax.conf.sample: Don't allow trunkfreq to be greater than 1000ms. 2012-02-18 03:59 +0000 [r355839] Paul Belanger * res/res_pktccops.c: Fix -Werror=unused-but-set-variable compiler error (gcc 4.6.2) 2012-02-18 07:55 +0000 [r355850] Alec L Davis * channels/sig_pri.c, channels/sig_ss7.c, channels/sig_pri.h, channels/chan_dahdi.c, channels/sig_analog.c, channels/sig_ss7.h, channels/sig_analog.h: 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/ 2012-02-19 17:49 +0000 [r356107-355901] Sean Bright * 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. * channels/chan_iax2.c: Add some boilerplate documentation for IAXVAR and IAXPEER. * channels/chan_dahdi.c: Change some debug messages from LOG_DEBUG to ast_debug. * channels/chan_dahdi.c: This was a LOG_NOTICE, so roll it back. * 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) * channels/chan_iax2.c: Make 'iax2 show callnumber usage' output make sense when an IP is passed in. 2012-02-22 14:50 +0000 [r356214] Matthew Jordan * channels/chan_sip.c: 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 20:20 +0000 [r356290] Paul Belanger * apps/app_rpt.c: Fix -Werror=unused-but-set-variable compiler error (gcc 4.6.2) Review: https://reviewboard.asterisk.org/r/1763/ 2012-02-22 21:08 +0000 [r356291] 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/ 2012-02-22 21:29 +0000 [r356430-356335] Paul Belanger * apps/app_rpt.c: Add back strsep() function for previous commit * apps/app_rpt.c: Missed one strsep() function * addons/chan_ooh323.c: Fix -Werror=unused-but-set-variable compiler error (gcc 4.6.2) 2012-02-23 15:37 +0000 [r356475] 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) 2012-02-23 19:49 +0000 [r356521] 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 2012-02-24 15:07 +0000 [r356650-356604] Matthew Jordan * include/asterisk/rtp_engine.h, res/res_srtp.c, channels/sip/sdp_crypto.c, include/asterisk/res_srtp.h, main/rtp_engine.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) * 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. 2012-02-24 18:23 +0000 [r356677] Richard Mudgett * include/asterisk/tcptls.h, channels/sip/include/sip.h, channels/chan_sip.c: 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/ 2012-02-25 17:21 +0000 [r356797] 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. 2012-02-27 15:14 +0000 [r356917] 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/ 2012-02-27 16:03 +0000 [r356963] 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/ 2012-02-27 23:34 +0000 [r357093] Richard Mudgett * main/channel.c: Fix callerid of Originated calls. Thanks to Matt Riddell for tracking this down. (closes issue ASTERISK-19385) Reported by: ornix 2012-03-06 Asterisk Development Team * Asterisk 1.8.11.0-rc2 Released. 2012-03-05 Asterisk Development Team * Asterisk 1.8.10.0 Released. 2012-03-01 Asterisk Development Team * Asterisk 1.8.10.0-rc4 Released. * 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. 2012-02-28 Asterisk Development Team * Asterisk 1.8.10.0-rc3 Released. * main/channel.c: Fix callerid of Originated calls. The callerid of originated calls (independent of mechanism) was not being passed to the outbound channel. This patch fixes that. Thanks to Matt Riddell for tracking this down. (closes issue ASTERISK-19385) Reported by: ornix * 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) * 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 2012-02-10 Asterisk Development Team * Asterisk 1.8.10.0-rc2 Released. * channels/chan_sip.c: Fix SIP INFO DTMF handling for non-numeric codes. In ASTERISK-18924, SIP INFO DTMF handling was 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 against '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 * apps/app_parkandannounce.c: Fix crash in ParkAndAnnounce from uninitialized caller_id storage (closes issue ASTERISK-19311) Reported by: tootai Tested by: rmudgett * 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/ * 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 * channels/chan_sip.c,include/asterisk/dnsmgr.h,main/dnsmgr.c: 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. 2012-02-01 Asterisk Development Team * Asterisk 1.8.10.0-rc1 Released. * Test results: http://bamboo.asterisk.org/browse/TESTING-ASTERISK18100RCS-2 2012-01-30 12:42 +0000 [r353260] Kevin P. Fleming * 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). 2012-01-29 02:42 +0000 [r353175] 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(). 2012-01-28 14:49 +0000 [r353126] 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. 2012-01-28 04:25 +0000 [r353077] 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 2012-01-27 19:12 +0000 [r352959] 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) 2012-01-27 18:22 +0000 [r352955] Richard Mudgett * 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, main/pbx.c, channels/chan_sip.c, include/asterisk/indications.h: 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/ 2012-01-27 00:05 +0000 [r352862] Alec L Davis * channels/sip/include/sip.h, channels/chan_sip.c: 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:14 +0000 [r352807] 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) 2012-01-26 19:06 +0000 [r352755] 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 2012-01-26 06:27 +0000 [r352704] Alec L Davis * channels/chan_sip.c: 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:21 +0000 [r352643] Paul Belanger * apps/app_voicemail.c: Fix -Werror=unused-but-set-variable compiler error (gcc 4.6.2) 2012-01-25 21:16 +0000 [r352612] Kevin P. Fleming * main/test.c: Avoid unnecessary rebuilds of main/test.c. main/test.c includes "asterisk/version.h", when it should include "asterisk/ast_version.h" instead (and it should use the ast_get_version() and ast_get_version_num() functions). This commit modifies it to extract the Asterisk version information using the proper APIs, and as a result means that main/test.c no longer needs to be rebuilt when a Subversion checkout is updated or modified. 2012-01-25 17:28 +0000 [r352514-352551] Terry Wilson * channels/chan_sip.c: Remove some extraneous debugging from registry memleak fix * 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/ 2012-01-25 16:39 +0000 [r352511] 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 2012-01-24 22:17 +0000 [r352424] 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 2012-01-24 20:33 +0000 [r352367] 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 2012-01-24 16:59 +0000 [r352291] 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/ 2012-01-24 16:30 +0000 [r352287] Joshua Colp * channels/chan_sip.c: Move RTP timeout check to before bridged channel check so it is actually executed. (issue ASTERISK-19179) Reported by: TSAREGORODTSEV Yury (closes issue ASTERISK-14534) Reported by: kriborgen Patches: chan_sip.patch uploaded by kriborgen (license 6138) 2012-01-23 20:30 +0000 [r352199-352230] Mark Michelson * main/features.c: Fix grammar of comment. * 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 2012-01-23 19:12 +0000 [r352144] 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) 2012-01-23 17:33 +0000 [r352090] 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 2012-01-21 00:20 +0000 [r352029] Richard Mudgett * main/app.c, funcs/func_timeout.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 2012-01-21 00:08 +0000 [r352014-352016] Mark Michelson * channels/chan_sip.c: Remove XXX comment that is not necessary. * 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/ 2012-01-20 19:34 +0000 [r351858-351860] 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. * codecs/ilbc/LPCencode.c, codecs/ilbc/iLBC_decode.c: Allow ilbc code to build under dev mode GCC 4.6.3 found some set/unused variables in the ILBC code. 2012-01-20 16:01 +0000 [r351765] Jonathan Rose * channels/chan_sip.c: Accidentally left off a semicolon only in 1.8 somehow for previous patch. 2012-01-20 15:48 +0000 [r351760] 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. 2012-01-20 15:42 +0000 [r351759] 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) 2012-01-20 12:59 +0000 [r351707] Stefan Schmidt * contrib/asterisk-ng-doxygen: enable doxygen build for files in the channels/sip folder like reqresp_parser.c 2012-01-19 23:17 +0000 [r351618] 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. 2012-01-19 22:36 +0000 [r351611] 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) 2012-01-19 21:46 +0000 [r351559] Jonathan Rose * include/asterisk/netsock2.h, channels/chan_sip.c: 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/ 2012-01-19 21:11 +0000 [r351504] 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 2012-01-18 20:54 +0000 [r351450] Matthew Jordan * 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/enhancer.h (added), codecs/ilbc/FrameClassify.c (added), codecs/ilbc/iLBC_define.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/hpInput.c (added), codecs/ilbc/gainquant.c (added), codecs/ilbc/iCBSearch.h (added), codecs/ilbc/hpOutput.c (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/codec_ilbc.c, codecs/ilbc/PATENTS (added), codecs/ilbc/StateSearchW.c (added), codecs/ilbc/hpOutput.h (added), 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), codecs/ilbc/syntFilter.c (added), codecs/ilbc/iCBConstruct.h (added), codecs/ilbc/iLBC_test.c (added), codecs/ilbc/syntFilter.h (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 2012-01-18 14:57 +0000 [r351396] 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 2012-01-17 17:22 +0000 [r351306] Mark Michelson * res/res_rtp_asterisk.c: Eliminate odd initialization of probation variable. 2012-01-17 16:55 +0000 [r351287] Jonathan Rose * CHANGES, res/res_rtp_asterisk.c, configs/rtp.conf.sample: 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/ 2012-01-17 16:41 +0000 [r351284] 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) 2012-01-17 16:06 +0000 [r351233] 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. 2012-01-17 01:37 +0000 [r351182] Russell Bryant * channels/chan_sip.c: 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:12 +0000 [r351080-351130] 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/ * 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) 2012-01-16 19:09 +0000 [r351027] 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/ 2012-01-16 17:04 +0000 [r350975] Joshua Colp * main/rtp_engine.c: Add missing code to set direct RTP setup information during dialing. 2012-01-15 20:07 +0000 [r350885-350888] 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/ * 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) 2012-01-14 16:40 +0000 [r350788-350837] Kevin P. Fleming * autoconf/libcurl.m4, configure, autoconf/ast_gcc_attribute.m4, configure.ac: 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. * addons/chan_mobile.c, channels/chan_h323.c: Correct some 'set-but-not-used' variable warnings. * contrib/scripts/install_prereq: 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. 2012-01-13 22:05 +0000 [r350736] Kinsey Moore * configure, 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. 2012-01-13 21:51 +0000 [r350733] Richard Mudgett * configs/cel_pgsql.conf.sample, configs/cel_odbc.conf.sample: Correct eventtype names in cel_odbc and cel_pgsql sample files 2012-01-13 21:40 +0000 [r350730] Kinsey Moore * bootstrap.sh, main/asterisk.c, configure.ac: 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 2012-01-13 20:29 +0000 [r350679] Mark Michelson * channels/sip/config_parser.c: Set port to a default sane value if a bogus one is provided when parsing hostnames. 2012-01-13 17:23 +0000 [r350555-350571] Richard Mudgett * configs/cel_pgsql.conf.sample, configs/cel_odbc.conf.sample, cel/cel_pgsql.c, cel/cel_odbc.c, cel/cel_manager.c: 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) * configs/cel_pgsql.conf.sample, configs/cel_odbc.conf.sample, main/cel.c, configs/cel_custom.conf.sample, cel/cel_pgsql.c, configs/cel_sqlite3_custom.conf.sample, cel/cel_odbc.c, configs/cel.conf.sample, cel/cel_manager.c: 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 2012-01-13 16:57 +0000 [r350552] 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) 2012-01-12 15:57 +0000 [r350501] 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) 2012-01-11 22:50 +0000 [r350311-350452] 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 * CHANGES, apps/app_followme.c, apps/app_dial.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. (closes issue ASTERISK-18969) Reported by: rmudgett Tested by: rmudgett Review: https://reviewboard.asterisk.org/r/1656/ * 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) 2012-01-09 21:54 +0000 [r350075-350220] 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 * contrib/scripts/live_ast: 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 * contrib/scripts/live_ast, contrib/scripts/valgrind_compare (added): 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 * 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 2012-01-09 15:37 +0000 [r350023] 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) 2012-01-06 23:17 +0000 [r349968] 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/ 2012-01-06 16:46 +0000 [r349819-349872] Richard Mudgett * apps/app_followme.c: Fix memory leaks in app_followme find_realtime(). (closes issue ASTERISK-19055) Reported by: Matt Jordan * 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 2012-01-05 22:06 +0000 [r349731] 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 2012-01-05 21:46 +0000 [r349672-349728] 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/ * 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) 2012-01-04 20:46 +0000 [r349558] 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 2012-01-04 20:23 +0000 [r349504-349529] 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 * contrib/scripts/autosupport, contrib/scripts/autosupport.8: 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) 2012-01-04 19:27 +0000 [r349450-349482] 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) * 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 2012-01-27 Asterisk Development Team * Asterisk 1.8.9.0 Released. * Test results: http://bamboo.asterisk.org/browse/TESTING-ASTERISK1890RCS-6 2012-01-24 Asterisk Development Team * Asterisk 1.8.9.0-rc3 Released. * Test results: http://bamboo.asterisk.org/browse/TESTING-ASTERISK1890RCS-4 * 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. (closes issue ASTERISK-18994) Patch-by: Timo Teras * channels/chan_sip.c: AST-2012-001: 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 * 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 leak for the RTP instance of the transferer. (closes issue ASERISK-19192) Reported by: Tyuta Vitali * 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 issue ASTERISK-19173) Reported by: Ross Beer Tested by: Kristjan Vrban Patches: ASTERISK-19173 by Mark Michelson (license 5049) 2012-01-13 Asterisk Development Team * Asterisk 1.8.9.0-rc2 Released. * Test results: http://bamboo.asterisk.org/browse/TESTING-ASTERISK1890RCS-3 * apps/app_queue.c: Realtime queues failed to load queue information without queue member table. Revision 342223 broke this when it changed the return value for realtime_multientry to return NULL when no results are returned. (closes issue ASTERISK-19170) Reported by: Rene Mendoza Tested by: Rene Mendoza 2011-12-30 Asterisk Development Team * Asterisk 1.8.9.0-rc1 Released. * Test results: http://bamboo.asterisk.org/browse/TESTING-ASTERISK1890RCS-2 2011-12-29 15:13 +0000 [r349339] 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/ 2011-12-28 21:30 +0000 [r349289] Sean Bright * main/audiohook.c: Use ast_audiohook_write_list_empty to determine if our lists are empty instead of duplicating that logic. 2011-12-27 20:48 +0000 [r349194] Matthew Jordan * res/res_musiconhold.c, res/res_timing_pthread.c, include/asterisk/module.h, res/res_timing_dahdi.c, res/res_timing_timerfd.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/ 2011-12-27 17:09 +0000 [r349144] 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. 2011-12-23 17:25 +0000 [r349044] Sean Bright * apps/app_chanspy.c: 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:24 +0000 [r348992] Kinsey Moore * apps/app_dial.c: Fix missing doc tags found while fixing ASTERISK-18689 Add missing tags in app_dial documentation. 2011-12-23 02:09 +0000 [r348940] Richard Mudgett * include/asterisk/pbx.h, main/pbx.c, channels/chan_sip.c: 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/ 2011-12-22 22:31 +0000 [r348888] 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/ 2011-12-22 18:38 +0000 [r348833] Terry Wilson * include/asterisk/frame.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/ 2011-12-20 23:08 +0000 [r348735] Richard Mudgett * 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 2011-12-19 21:31 +0000 [r348647] 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/ 2011-12-18 18:27 +0000 [r348516] 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 2011-12-16 23:51 +0000 [r348310-348464] 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. * main/channel.c: Fix cut and past error in ast_call_forward(). (issue ASTERISK-18836) * include/asterisk/cdr.h, apps/app_followme.c, apps/app_queue.c, res/res_monitor.c, main/channel.c, main/pbx.c, apps/app_authenticate.c, funcs/func_cdr.c, main/features.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/ * 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. 2011-12-14 22:01 +0000 [r348212] Matthew Nicholson * res/res_fax.c: Don't clear LOCALSTATIONID before sending or receiving. The user may set that variable. ASTERISK-18921 2011-12-14 20:34 +0000 [r348154-348157] Jonathan Rose * configs/features.conf.sample: Fix accidental use of tabs instead of spaces from previous features.conf.sample change * configs/features.conf.sample: Document PARKINGSLOT variable in features.conf.sample (issue ASTERISK-16239) 2011-12-13 23:00 +0000 [r348101] Richard Mudgett * apps/app_followme.c, bridges/bridge_builtin_features.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/ 2011-12-13 15:16 +0000 [r348048] 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 2011-12-12 19:22 +0000 [r347995] 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) 2011-12-09 01:19 +0000 [r347811] 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 2011-12-08 21:28 +0000 [r347718] 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 2011-12-08 17:50 +0000 [r347595] 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 2011-12-08 16:19 +0000 [r347531] 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 2011-12-07 21:36 +0000 [r347438] 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 2011-12-07 20:23 +0000 [r347369] 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) 2011-12-06 23:47 +0000 [r347292] Richard Mudgett * channels/chan_sip.c: Make SIP INFO messages for dtmf-relay signals case insensitive. (closes issue ASTERISK-18924) Reported by: Kevin Taylor 2011-12-06 21:44 +0000 [r347239] 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) 2011-12-06 19:39 +0000 [r347111-347166] 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 * apps/app_voicemail.c: Add regression tests for issue ASTERISK-18838. Review: https://reviewboard.asterisk.org/r/1572 Reviewed by: Matt Jordan * apps/app_voicemail.c: Move setting of voicemail zonetag and locale up a bit. 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 2011-12-06 17:05 +0000 [r347058] Matthew Jordan * channels/sip/include/sip.h, 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/ 2011-12-05 17:39 +0000 [r347006] 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 2011-12-05 14:56 +0000 [r346954] 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) 2011-12-05 14:45 +0000 [r346951] 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 2011-12-04 09:57 +0000 [r346899] 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) 2011-12-02 16:19 +0000 [r346762] Alexandr Anikin * addons/chan_ooh323.c, channels/chan_h323.c: 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:11 +0000 [r346700] Richard Mudgett * configs/res_stun_monitor.conf.sample, include/asterisk/stun.h, main/stun.c, res/res_stun_monitor.c: 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/ 2011-12-01 20:36 +0000 [r346564-346697] 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) * include/asterisk/tcptls.h, main/tcptls.c, channels/chan_sip.c: 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/ 2011-11-30 19:36 +0000 [r346472] 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) 2011-11-28 14:30 +0000 [r346292] 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 2011-11-23 22:52 +0000 [r346239] Richard Mudgett * channels/chan_iax2.c, include/asterisk/acl.h, channels/chan_skinny.c, channels/chan_h323.c, main/acl.c: Fix calls to ast_get_ip() not initializing the address family. 2011-11-23 20:15 +0000 [r346144-346147] 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 * include/asterisk/strings.h: Fix ast_str_truncate signedness warning and documentation. Review: https://reviewboard.asterisk.org/r/1594 2011-11-23 17:12 +0000 [r346086] Kinsey Moore * channels/chan_gtalk.c, res/res_jabber.c, channels/chan_jingle.c, include/asterisk/jabber.h: 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 2011-11-23 16:09 +0000 [r346030] 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/ 2011-11-22 22:55 +0000 [r345976] Richard Mudgett * include/asterisk/dnsmgr.h, main/dnsmgr.c: 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. 2011-11-22 20:29 +0000 [r345923] Walter Doekes * include/asterisk/logger.h: Clarify why the AST_LOG_* macros exist next to the LOG_* macros. (issue ASTERISK-17973) 2011-11-21 21:03 +0000 [r345828-345829] Terry Wilson * CHANGES: Change nat=yes to nat=force_rport in CHANGES Fix a small documentation merge issue ASTERISK-18862 * configs/sip.conf.sample, CHANGES, /, channels/chan_sip.c: 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 2011-11-19 15:08 +0000 [r345682] Tilghman Lesher * main/db.c: Update the documentation to better clarify how the existing commands work. Review: https://reviewboard.asterisk.org/r/1593/ 2011-11-17 17:06 +0000 [r345546] 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. 2011-11-17 17:04 +0000 [r345545] Jason Parker * apps/app_confbridge.c: Fix documentation of 's' option. The menu key is #, not *. Reported by p3nguin on #asterisk. 2011-11-16 14:42 +0000 [r345487] 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/ 2011-11-15 20:09 +0000 [r345219-345431] 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 * 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 * 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/ * UPGRADE.txt, configs/sip.conf.sample, channels/sip/include/sip.h, channels/chan_sip.c: 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/ * 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 2011-11-14 19:05 +0000 [r345163] 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/ 2011-11-14 19:00 +0000 [r345160] 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) 2011-11-14 15:08 +0000 [r345063] 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. 2011-11-14 15:00 +0000 [r345062] 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/ 2011-11-12 16:05 +0000 [r344965] Gregory Nietsky * channels/chan_misdn.c: mISDN Round Robin break when no channel is available Prevent channels been parsed repetitively. 2011-11-12 00:24 +0000 [r344899] 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/ 2011-11-11 21:54 +0000 [r344835-344843] Walter Doekes * main/utils.c, include/asterisk/stringfields.h, include/asterisk/utils.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 * 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. * 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 2011-11-11 20:42 +0000 [r344823] 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/ 2011-11-11 20:10 +0000 [r344769] 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. 2011-11-11 18:35 +0000 [r344661-344715] Richard Mudgett * channels/chan_sip.c: Check sip.conf maxforwards parameter for range 1 <= x <= 255. JIRA AST-710 * 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 2011-11-11 15:21 +0000 [r344608] 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 2011-11-10 22:59 +0000 [r344536-344539] Richard Mudgett * 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. * 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 2011-11-10 21:14 +0000 [r344385-344439] 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) * channels/sip/include/sip.h, channels/chan_sip.c: 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/ 2011-11-10 16:18 +0000 [r344330] 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 2011-11-09 20:37 +0000 [r344268] 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 2011-11-09 19:57 +0000 [r344215] Terry Wilson * channels/sip/include/sip.h, channels/sip/include/reqresp_parser.h, channels/chan_sip.c, channels/sip/reqresp_parser.c: 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/ 2011-11-09 18:42 +0000 [r344158] Alexandr Anikin * addons/ooh323c/src/ootypes.h, addons/ooh323c/src/oochannels.c, addons/ooh323c/src/ooq931.c, addons/ooh323c/src/ooh323.c, addons/ooh323c/src/ooh245.c, addons/ooh323c/src/ooq931.h: (closes issue ASTERISK-18748) Reported by: Fabrizio Lazzaretti Patches: ASTERISK-18748-5.patch (License #5415) patch uploaded by may213 Tested by: Fabrizio Lazzaretti 2011-11-09 18:38 +0000 [r344157] Terry Wilson * tests/test_netsock2.c: Add a unit test for ast_sockaddr_split_hostport Review: https://reviewboard.asterisk.org/r/1575/ 2011-11-09 17:13 +0000 [r344102] 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) 2011-11-09 15:25 +0000 [r344048] Matthew Nicholson * formats/format_wav.c: don't call ltohl() twice on the same value ASTERISK-18739 Patch by: pawel (modified) 2011-11-08 19:25 +0000 [r343936] 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 2011-11-08 17:58 +0000 [r343851] 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 2011-11-08 13:26 +0000 [r343791] 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. 2011-11-07 21:40 +0000 [r343690] Matthew Nicholson * channels/chan_sip.c: respect case changes in peer names on sip reload ASTERISK-18669 2011-11-07 21:13 +0000 [r343637] 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. 2011-11-07 20:27 +0000 [r343621] 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/ 2011-11-07 19:36 +0000 [r343577] 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. (closes issue ASTERISK-18747) Reported by: Gregory Hinton Nietsky Review: https://reviewboard.asterisk.org/r/1564/ 2011-11-03 20:26 +0000 [r343375] 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 2011-11-03 19:56 +0000 [r343336] Richard Mudgett * funcs/func_dialgroup.c: Remove invalid flag given to iterator in func_dialgroup.c 2011-11-03 16:15 +0000 [r343281] Alexandr Anikin * addons/ooh323c/src/printHandler.c, addons/ooh323c/src/ooq931.c, addons/ooh323c/src/ooGkClient.c, addons/ooh323c/src/ooTimer.c, addons/ooh323c/src/dlist.c, addons/ooh323c/src/dlist.h: 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. 2011-11-03 15:33 +0000 [r343220-343276] 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. * channels/sip/include/sip.h, contrib/realtime/mysql/sippeers.sql, channels/chan_sip.c: 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/ 2011-11-02 22:21 +0000 [r343157-343181] 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 * main/utils.c, include/asterisk/stringfields.h, include/asterisk/utils.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 2011-11-02 19:32 +0000 [r343047-343102] Leif Madsen * apps/app_authenticate.c: Add note about how Authenticate() application with option 'd' works. (closes issue ASTERISK-17422) Reported by: Leif Madsen * 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) 2011-11-02 13:44 +0000 [r342990] 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. 2011-11-01 20:53 +0000 [r342869-342927] Walter Doekes * main/config.c, channels/chan_sip.c, configs/extconfig.conf.sample, include/asterisk/config.h: 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 * UPGRADE.txt, configs/res_ldap.conf.sample, res/res_realtime.c, configs/dbsep.conf.sample, main/config.c, contrib/realtime/mysql/sipfriends.sql (removed), contrib/realtime/mysql/sippeers.sql (added), configs/res_config_mysql.conf.sample, configs/extconfig.conf.sample: 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 2011-10-31 15:58 +0000 [r342769] Matthew Jordan * channels/chan_iax2.c, main/pbx.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 2011-10-29 04:19 +0000 [r342661] Richard Mudgett * tests/test_linkedlists.c, include/asterisk/linkedlists.h: 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(). 2011-10-27 19:34 +0000 [r342545-342602] 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/ * 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/ 2011-10-25 22:04 +0000 [r342484-342487] 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/ * 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!". 2011-10-25 21:08 +0000 [r342380-342435] Terry Wilson * apps/app_queue.c: Use int for storing ao2_container_count instad of size_t AST-676 * 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/ * 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/ 2011-10-25 19:08 +0000 [r342276-342328] 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. * pbx/pbx_spool.c: 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:23 +0000 [r342223] Terry Wilson * main/config.c, include/asterisk/config.h: 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/ 2011-10-24 19:49 +0000 [r342061] 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) 2011-10-23 11:36 +0000 [r341906-341921] Gregory Nietsky * apps/app_queue.c: Revert Janitor patch 341906 For now * apps/app_queue.c: Whitespace Fixups / Add Braces This janitorial patch is related to work on RB1538 2011-10-21 16:41 +0000 [r341806-341809] Matthew Nicholson * pbx/pbx_lua.c: only process args that exist ASTERISK-18395 * pbx/pbx_lua.c: don't limit the length of app and function arguments ASTERISK-18395 2011-10-20 21:54 +0000 [r341717] Richard Mudgett * include/asterisk/features.h, main/features.c, res/res_agi.c: 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) 2011-10-20 21:26 +0000 [r341664-341704] Paul Belanger * funcs/func_callerid.c: Fixed typo from previous commit * funcs/func_callerid.c: Updated documentation for the optional CID parameter with CALLERID 2011-10-20 15:11 +0000 [r341529] 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. 2011-10-19 18:59 +0000 [r341435] 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) 2011-10-19 07:38 +0000 [r341379] Terry Wilson * include/asterisk/strings.h, channels/chan_sip.c: 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 2011-10-19 07:15 +0000 [r341366] 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 2011-10-18 23:37 +0000 [r341314] 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/ 2011-10-18 23:20 +0000 [r341312] Alexandr Anikin * addons/chan_ooh323.c: fix issue on channel numbering (calls could have same channel number on heavy loaded system) 2011-10-18 21:03 +0000 [r341254] Richard Mudgett * channels/chan_iax2.c, channels/sip/include/sip.h, channels/chan_mgcp.c, include/asterisk/features.h, channels/chan_dahdi.c, channels/sig_analog.c, channels/chan_sip.c, main/features.c: 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. 2011-10-17 17:35 +0000 [r341189] 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) 2011-10-17 16:23 +0000 [r341108-341112] Paul Belanger * apps/app_voicemail.c: Fix previous commit * apps/app_voicemail.c: Voicemail compiler flags are 'core' support 2011-10-17 15:35 +0000 [r341088] Terry Wilson * channels/chan_sip.c: Don't try to remove peers without IPs from peers_by_ip (closes issue ASTERISK-18696) 2011-10-17 15:08 +0000 [r341074] 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. 2011-10-14 21:36 +0000 [r341022] 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. 2011-10-14 20:49 +0000 [r340970] Kinsey Moore * res/res_rtp_asterisk.c, channels/chan_sip.c: 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 16:33 +0000 [r340878] 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 2011-10-14 15:58 +0000 [r340863] Jonathan Rose * codecs/codec_dahdi.c, apps/app_system.c, res/res_curl.c, funcs/func_realtime.c, build_tools/cflags.xml, utils/utils.xml, res/res_fax.c, apps/app_celgenuserevent.c: Fixes some support level info so that it can be read by menuselect. (issue ASTERISK-18268) Review: https://reviewboard.asterisk.org/r/1525/ 2011-10-13 22:48 +0000 [r340809] 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 2011-10-13 06:58 +0000 [r340717] Stefan Schmidt * channels/chan_sip.c: storing the route-set also on a 181 response not only on 180,182 or 183. 2011-10-13 06:52 +0000 [r340662-340715] Terry Wilson * channels/chan_sip.c: Initialize ast_sockaddr before calling ast_sockaddr_resolve Avoid possible jump based on unitialized value * 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. 2011-10-12 20:30 +0000 [r340576] Stefan Schmidt * channels/chan_sip.c: Store route-set from provisional SIP responses so early-dialog requests can be routed properly 2011-10-12 20:19 +0000 [r340534] Terry Wilson * channels/chan_sip.c: 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:07 +0000 [r340470-340522] 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 * 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 2011-10-12 16:27 +0000 [r340418] Paul Belanger * channels/chan_sip.c: Fix verbose messages when IPv6 logic was added (closes issue ASTERISK-18612) Reported by: Tim Osman 2011-10-11 21:03 +0000 [r340279-340365] Richard Mudgett * channels/sig_ss7.c, channels/chan_dahdi.c, channels/sig_ss7.h: 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 * 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. * include/asterisk/manager.h, main/manager.c: 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 2011-10-11 00:43 +0000 [r340263] Tzafrir Cohen * include/asterisk/sha1.h, main/channel.c, main/sha1.c: 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/ 2011-10-10 20:23 +0000 [r340164] Matthew Jordan * channels/chan_sip.c: 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:14 +0000 [r340108] Matthew Nicholson * doc/appdocsxml.dtd, main/loader.c, main/xmldoc.c, 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: 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-09 01:16 +0000 [r339830-339938] Igor Goncharovskiy * channels/chan_unistim.c: Fix compilation issue, caused by missed session structure (closes issue ASTERISK-18694) Reported by: alex70 * channels/chan_unistim.c: Fix segfault in Unistim channel (closes issue ASTERISK-18638) Reported by: jonnt * channels/chan_unistim.c: 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:34 +0000 [r339625-339776] Richard Mudgett * apps/app_url.c: Initialize option flags for SendURL application. (closes issue ASTERISK-18574) Reported by: marcelloceschia * autoconf/ast_ext_lib.m4, configure, include/asterisk/autoconfig.h.in, configure.ac: 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 * main/udptl.c, channels/chan_sip.c: 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-05 21:30 +0000 [r339566] Leif Madsen * build_tools/prep_tarball: 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-12-15 Asterisk Development Team * Asterisk 1.8.8.0 Released. 2011-12-09 Asterisk Development Team * Asterisk 1.8.8.0-rc5 Released. * 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) Review: https://reviewboard.asterisk.org/r/1610/ * 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) * Default to nat=yes; warn when nat in general and peer differ AST-2011-013. 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/ 2011-11-16 Asterisk Development Team * Asterisk 1.8.8.0-rc4 Released. * 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. (closes issue ASTERISK-18663) 2011-11-09 Asterisk Development Team * Asterisk 1.8.8.0-rc3 Released. * 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/ * 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. (closes issue ASTERISK-18747) Reported by: Gregory Hinton Nietsky Review: https://reviewboard.asterisk.org/r/1564/ * Fix issue with setting defaultenabled on categories that are already enabled by default. (closes issue ASTERISK-18738) Reported by: Paul Belanger 2011-10-18 Asterisk Development Team * Asterisk 1.8.8.0-rc2 Released. * AST-2011-012 * menuselect/menuselect.c: Fix --enable/--enable-category. ------------------------------------------------------------------------ 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 ------------------------------------------------------------------------ r340878 | twilson | 2011-10-14 11:33:28 -0500 (Fri, 14 Oct 2011) | 8 lines 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 ------------------------------------------------------------------------ r341088 | twilson | 2011-10-17 10:35:05 -0500 (Mon, 17 Oct 2011) | 4 lines Don't try to remove peers without IPs from peers_by_ip (closes issue ASTERISK-18696) ------------------------------------------------------------------------ 2011-10-05 Asterisk Development Team * Asterisk 1.8.8.0-rc1 Released. 2011-10-05 21:30 +0000 [r339566] Leif Madsen * build_tools/prep_tarball: 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:01 +0000 [r339506-339511] Richard Mudgett * apps/app_dial.c: Fix Dial F option notes formatting. * main/manager.c: Fix XML error in AMI action Challenge. 2011-10-05 16:31 +0000 [r339505] Matthew Nicholson * res/res_fax.c: The app name in the documentation must match what we register the application as. 2011-10-05 16:26 +0000 [r339406-339504] Richard Mudgett * main/manager.c: 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 * Makefile: 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:33 +0000 [r339297-339352] Jonathan Rose * main/say.c: 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: 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 11:44 +0000 [r339244] Alexandr Anikin * addons/ooh323c/src/memheap.c: fix forget declaration in previous change 2011-10-03 20:12 +0000 [r339144-339147] Leif Madsen * channels/chan_sip.c: 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: 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 18:42 +0000 [r339087] Alexandr Anikin * addons/ooh323c/src/memheap.c: destroy memheap mutex properly before memheap deleted (fix memory leak occured after r304950 changes with DEBUG_THREAD compile option) 2011-10-03 18:40 +0000 [r339086] Terry Wilson * channels/chan_sip.c, main/file.c: 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-09-30 22:05 +0000 [r338800] Richard Mudgett * channels/chan_dahdi.c: 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 18:54 +0000 [r338718] Jonathan Rose * configs/queues.conf.sample: Adds documentation for QueueMemberStatus event generation 2011-09-30 16:27 +0000 [r338663] 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 2011-09-30 09:31 +0000 [r338609] TransNexus OSP Development * apps/app_osplookup.c, configure.ac: Remove r338137 and r338138. 2011-09-29 21:12 +0000 [r338555] Paul Belanger * tests/test_linkedlists.c, tests/test_amihooks.c, tests/test_security_events.c, tests/test_locale.c, tests/test_logger.c, tests/test_dlinklists.c: Test modules should depend on the TEST_FRAMEWORK flag 2011-09-29 20:54 +0000 [r338551] Jason Parker * tests/test_db.c, tests/test_netsock2.c: Test modules have a support level of core. 2011-09-29 18:31 +0000 [r338492] Leif Madsen * channels/chan_sip.c: Update documentation for SIP_HEADER. The SIP_HEADER function only works on the the initial SIP INVITE. The documentation was updated in trunk, but not in 1.8 or 10, so I'm making them match. (Closes issue ASTERISK-18640) 2011-09-29 12:13 +0000 [r338416] Gregory Nietsky * channels/sip/include/sip.h, channels/chan_sip.c: 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-28 22:35 +0000 [r338235-338322] Richard Mudgett * channels/sig_pri.c: 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: 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:52 +0000 [r338227] Jason Parker * tests/test_db.c, tests/test_netsock2.c, build_tools/cflags.xml, channels/chan_usbradio.c, build_tools/cflags-devmode.xml, agi/agi.xml, utils/utils.xml, build_tools/embed_modules.xml: Add support levels to non-module sections of menuselect (cflags, utils, etc). 2011-09-28 20:24 +0000 [r338224] Richard Mudgett * channels/chan_dahdi.c: 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 07:28 +0000 [r338137-338138] 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:10 +0000 [r338084] Paul Belanger * apps/app_macro.c: Upgrade app_macro to core 2011-09-26 19:30 +0000 [r337973] Richard Mudgett * 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_manager.c, cdr/cdr_custom.c, apps/app_voicemail.c, apps/app_dial.c, main/pbx.c, cdr/cdr_sqlite3_custom.c, cdr/cdr_syslog.c, tests/test_gosub.c, include/asterisk/cel.h: 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:14 +0000 [r337839-337898] Gregory Nietsky * contrib/init.d/rc.archlinux.asterisk: Spelling fix * apps/app_queue.c: 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:44 +0000 [r337774] Russell Bryant * configs/res_pktccops.conf.sample: 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:29 +0000 [r337720] Richard Mudgett * channels/sig_pri.c: 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 11:39 +0000 [r337430-337541] Gregory Nietsky * res/res_srtp.c: 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: 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: 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:18 +0000 [r337325-337353] Tilghman Lesher * apps/app_voicemail.c: More silly spacing changes * apps/app_voicemail.c: Dumb little spacing fix. * 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 2011-09-20 22:38 +0000 [r337118] Matthew Jordan * main/app.c, apps/app_followme.c, apps/app_voicemail.c, apps/app_dial.c, include/asterisk/app.h, apps/app_meetme.c, apps/app_minivm.c: 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:18 +0000 [r337115] Leif Madsen * contrib/init.d/rc.redhat.asterisk: 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:04 +0000 [r337061] Kinsey Moore * tests/test_pbx.c, main/pbx.c: 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:10 +0000 [r336977-337007] Richard Mudgett * channels/sig_ss7.c: 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: 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 00:56 +0000 [r336877] Russell Bryant * res/res_rtp_asterisk.c: 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:07 +0000 [r336791] Terry Wilson * channels/chan_sip.c: Don't interfere with T.38 reinvites This is an update to the fix for ASTERISK-18340 and ASTERISK-17725 2011-09-19 20:27 +0000 [r336733] Tilghman Lesher * Makefile.rules, include/asterisk/optional_api.h, Makefile, configure, include/asterisk/autoconfig.h.in, main/Makefile, codecs/gsm/Makefile, configure.ac: 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:07 +0000 [r336716] Jonathan Rose * res/res_musiconhold.c, apps/app_queue.c, apps/app_mixmonitor.c, apps/app_echo.c, apps/app_saycounted.c, apps/app_mp3.c, apps/app_morsecode.c: 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 18:46 +0000 [r336658] Richard Mudgett * UPGRADE.txt, apps/app_dial.c: 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 2011-09-19 16:21 +0000 [r336591] Jason Parker * contrib/realtime/postgresql/realtime.sql, configs/cel_odbc.conf.sample, sounds/Makefile, contrib/realtime/mysql/sipfriends.sql, contrib/realtime/mysql/voicemail.sql, cel/cel_odbc.c, /, contrib/realtime/mysql/iaxfriends.sql, contrib/realtime/mysql/meetme.sql: Remove weird mergeinfo props that make merges annoying sometimes. 2011-09-19 15:41 +0000 [r336572] Leif Madsen * contrib/scripts/get_ilbc_source.sh: 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:25 +0000 [r336569] Richard Mudgett * channels/sig_pri.c: Rework sig_pri_hangup() to be simpler and clearer. JIRA AST-675 2011-09-19 13:33 +0000 [r336501] Olle Johansson * channels/chan_sip.c: Add diversion header to a 302 redirect response if we have diversion data (closes issue ASTERISK-18143) patch by oej 2011-09-19 13:27 +0000 [r336499] Gregory Nietsky * channels/chan_h323.c: 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:06 +0000 [r336378-336440] Olle Johansson * main/manager.c: Make sure manager_debug option is reset at reload * Makefile: Revert accidental change that fixes OS/X Lion support * Makefile, channels/chan_sip.c: 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:10 +0000 [r336312-336314] Terry Wilson * funcs/func_frame_trace.c: Whitespace fix * funcs/func_frame_trace.c: 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 19:53 +0000 [r336294] Jonathan Rose * include/asterisk/frame.h, main/channel.c, main/rtp_engine.c, channels/chan_sip.c: 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:06 +0000 [r336234] Sean Bright * UPGRADE.txt: Make a note that inotify won't work with an NFS mounted spooler directory. 2011-09-16 10:09 +0000 [r335978-336166] Gregory Nietsky * channels/chan_misdn.c: 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: 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/ * channels/chan_agent.c: 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:21 +0000 [r335851-335911] Richard Mudgett * configure, include/asterisk/autoconfig.h.in, configure.ac: 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: 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:28 +0000 [r335790] Matthew Nicholson * main/manager.c: The tech and data members of fast_originate_helper are not string fields. ASTERISK-17709 2011-09-13 22:10 +0000 [r335720] Richard Mudgett * apps/app_directed_pickup.c: Remove obsolete todo comment about PICKUPRESULT. 2011-09-13 21:33 +0000 [r335716] 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) 2011-09-13 21:30 +0000 [r335714] Paul Belanger * apps/app_meetme.c: Meetme should have 'core' support level (closes issue ASTERISK-18542) 2011-09-13 18:52 +0000 [r335655] Tilghman Lesher * configure, configure.ac: 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:20 +0000 [r335618] Matthew Nicholson * main/pbx.c, main/manager.c: Don't limit the size of appdata for manager originate actions. ASTERISK-17709 Patch by: tilghman (with modifications) 2011-09-13 07:11 +0000 [r335497] Russell Bryant * main/event.c, include/asterisk/event.h, res/ais/evt.c: 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:54 +0000 [r335431-335433] Matthew Nicholson * main/channel.c: Properly set caller_warning and callee_warning before we try to use them. ASTERISK-18199 Patch by: elguero Testing by: rtang * bridges/bridge_multiplexed.c: Prevent a race condition when the bridge technology changes. This change was ported from asterisk 10. ASTERISK-18155 2011-09-12 14:21 +0000 [r335320-335341] Kinsey Moore * apps/app_dial.c: 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) * channels/chan_iax2.c: 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 13:25 +0000 [r335319] Olle Johansson * channels/chan_sip.c: 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 11:09 +0000 [r335259] Stefan Schmidt * channels/chan_sip.c: 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-09 16:09 +0000 [r335064] Matthew Jordan * 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, apps/app_dial.c, channels/chan_unistim.c, main/pbx.c, addons/chan_ooh323.c, channels/chan_sip.c: 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-08 22:27 +0000 [r334953] Richard Mudgett * main/logger.c: 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-07 19:35 +0000 [r334843] Paul Belanger * channels/chan_iax2.c: Cleanup chan_iax2.c log messages Review: https://code.asterisk.org/code/cru/CR-AST-11 2011-09-07 19:31 +0000 [r334840] Richard Mudgett * main/features.c: 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 13:26 +0000 [r334682] Stefan Schmidt * 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:12 +0000 [r334616-334620] Alec L Davis * CHANGES, apps/app_queue.c: peroid typo * main/pbx.c: 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-06 13:48 +0000 [r334453] Gregory Nietsky * apps/app_voicemail.c: 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-23 Asterisk Development Team * Asterisk 1.8.7.0 Released. 2011-09-19 Asterisk Development Team * Asterisk 1.8.7.0-rc2 Released. * 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) * 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) * 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/ * r335714 | pabelanger | 2011-09-13 16:30:18 -0500 (Tue, 13 Sep 2011) | 4 lines Meetme should have 'core' support level (closes issue ASTERISK-18542) 2011-09-07 Asterisk Development Team * Asterisk 1.8.7.0-rc1 Released. 2011-09-06 13:48 +0000 [r334453] Gregory Nietsky * apps/app_voicemail.c: 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 20:59 +0000 [r334296-334355] Richard Mudgett * res/res_musiconhold.c: 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/ * main/config.c, include/asterisk/config.h: 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:38 +0000 [r334229-334234] Tilghman Lesher * main/pbx.c: Remove 1.6 compatibility documentation from 1.8, as it no longer applies. * res/res_config_odbc.c: 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:50 +0000 [r334156] Matthew Nicholson * channels/chan_sip.c: Disable T.38 when we get a invite with image media port set to 0 ASTERISK-17678 2011-08-31 15:57 +0000 [r334009-334012] Richard Mudgett * channels/chan_dahdi.c: 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: 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:18 +0000 [r334006] Kinsey Moore * channels/chan_sip.c: 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 21:16 +0000 [r333947] Alexandr Anikin * addons/ooh323c/src/oochannels.c, addons/ooh323c/src/ooq931.c, addons/ooh323c/src/ooCalls.c, addons/ooh323c/src/ooh323.c, addons/ooh323c/src/ooGkClient.c, addons/ooh323c/src/ooCalls.h: cleanups in ACF/ARJ GK replies processing fixed long (24 sec) pause if acf/arj proccessed before ast_cond_wait called to wait this 2011-08-29 21:38 +0000 [r333836] Terry Wilson * channels/chan_sip.c: 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:06 +0000 [r333784-333785] Richard Mudgett * include/asterisk/channel.h: Add some do not hold locks notes to channel.h * addons/chan_mobile.c: Fix deadlock potential of chan_mobile.c:mbl_ast_hangup(). 2011-08-29 17:11 +0000 [r333630] Matthew Jordan * apps/app_voicemail.c: Fixed improperly formatted TestEvent AMI message in app_voicemail 2011-08-29 15:55 +0000 [r333569] Jonathan Rose * res/res_jabber.c: Accidental use of variable client->status instead of client->state in from ASTERISK-18078 (issue ASTERISK-18078) 2011-08-28 09:49 +0000 [r333507] 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:19 +0000 [r333378] Jonathan Rose * res/res_jabber.c: [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 14:36 +0000 [r333339-333354] Matthew Jordan * apps/app_voicemail.c: Fixed incorrect pointer copy to structure copy in revision 333339 * apps/app_voicemail.c: 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:00 +0000 [r333267] Jason Parker * Makefile: Fix for DESTDIR spaces patch. 2011-08-25 18:47 +0000 [r333265] Jonathan Rose * res/res_jabber.c: 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 15:27 +0000 [r333201] Jason Parker * makeopts.in, sounds/Makefile, Makefile, build_tools/mkpkgconfig, configure, configure.ac: 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/ 2011-08-23 18:14 +0000 [r333010] Richard Mudgett * apps/app_queue.c: 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 2011-08-23 18:11 +0000 [r333009] Matthew Nicholson * UPGRADE.txt, configs/sip.conf.sample, CHANGES, channels/sip/include/sip.h: default 'sipstorecause' to no We've decided to disable this feature by default in future 1.8 versions. This would be an unexpected behavior change for anyone depending on that SIP_CAUSE update in their dialplan. Please refer to the asterisk-dev mailing list more information: http://lists.digium.com/pipermail/asterisk-dev/2011-August/050626.html (issue AST-580) 2011-08-22 22:11 +0000 [r332939-332945] Richard Mudgett * apps/app_queue.c, main/config.c, include/asterisk/config.h: Revert previous commit. Not ready yet. * apps/app_queue.c, main/config.c, include/asterisk/config.h: Signed * main/config.c: Minor code optimizations. * Simplify ast_category_browse() logic for easier understanding. * Remove dead code in ast_variable_delete() and simplify some of its logic. 2011-08-22 19:41 +0000 [r332876] Paul Belanger * channels/chan_gtalk.c: Revert previous commit It seems google is still making changes to the protocol. (issue ASTERISK-18301) 2011-08-22 19:32 +0000 [r332874] Richard Mudgett * apps/app_queue.c: 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 18:15 +0000 [r332817] Matthew Jordan * main/app.c, configs/manager.conf.sample, include/asterisk/manager.h, apps/app_voicemail.c, include/asterisk/test.h, main/manager.c, main/file.c, main/test.c: 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:14 +0000 [r332759-332816] Richard Mudgett * res/res_config_pgsql.c, res/res_config_odbc.c: 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: 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-21 14:31 +0000 [r332699] Paul Belanger * channels/chan_gtalk.c: Fix outgoing calls in chan_gtalk (closes issue ASTERISK-18301) Reported by: az1324 2011-08-18 21:26 +0000 [r332559] Terry Wilson * main/netsock2.c: 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:28 +0000 [r332503] Kinsey Moore * channels/chan_dahdi.c: 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:46 +0000 [r332355-332446] Tilghman Lesher * build_tools/cflags.xml, build_tools/cflags-devmode.xml: Move BETTER_BACKTRACES out of development mode, as it's useful when DEBUG_THREADS is enabled. * makeopts.in, sounds/Makefile, Makefile, agi/Makefile, utils/Makefile, configure, include/asterisk/autoconfig.h.in, configure.ac, Makefile.moddir_rules: 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 17:35 +0000 [r332320] Terry Wilson * res/res_timing_timerfd.c: 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-1842, ASTERISK-18197, ASTERISK-18166, AST-486 AST-495, AST-507 and possibly others. 2011-08-17 15:51 +0000 [r332264] Richard Mudgett * channels/sig_pri.c, channels/sig_pri.h, channels/chan_dahdi.c, configs/chan_dahdi.conf.sample, configure, include/asterisk/autoconfig.h.in, configure.ac: 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-17 14:31 +0000 [r332234] Matthew Nicholson * channels/chan_sip.c: print a warning instructing the user to disable storesipcause if we process 100 or more scheduler entries at a time AST-580 2011-08-16 20:10 +0000 [r332176] Paul Belanger * 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_locale.c, tests/test_acl.c, tests/test_devicestate.c, tests/test_utils.c, tests/test_aoc.c, tests/test_astobj2.c, tests/test_poll.c, tests/test_amihooks.c, tests/test_substitution.c, tests/test_heap.c, tests/test_ast_format_str_reduce.c, tests/test_expr.c, tests/test_logger.c, tests/test_gosub.c, tests/test_app.c, tests/test_dlinklists.c, tests/test_event.c: Flag test modules as 'core' Review: https://reviewboard.asterisk.org/r/1369/ 2011-08-16 17:38 +0000 [r332118] Jonathan Rose * channels/chan_sip.c: 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 16:31 +0000 [r332100] Richard Mudgett * CHANGES, configs/features.conf.sample, main/asterisk.c, main/features.c: 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:06 +0000 [r332021-332026] Matthew Nicholson * channels/sip/include/sip.h, channels/chan_sip.c: use DEFAULT_STORE_SIP_CAUSE to set the default value for the 'storesipcause' option AST-580 * configs/sip.conf.sample, CHANGES, channels/chan_sip.c: 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:24 +0000 [r331955] Richard Mudgett * channels/chan_dahdi.c: 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:21 +0000 [r331886] Paul Belanger * main/rtp_engine.c: Fix noisy message when briding channels (closes issue ASTERISK-18270) Reported by: Federico Alves 2011-08-15 15:12 +0000 [r331867] David Vossel * channels/chan_sip.c: Fixes locking inversion issues present in the handling of the sip REFER method. (closes issue ASTERISK-18082) Reported by: James Van Vleet 2011-08-12 19:01 +0000 [r331774] Matthew Nicholson * apps/app_queue.c: 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 18:58 +0000 [r331714-331771] Richard Mudgett * channels/chan_dahdi.c: 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 * channels/chan_dahdi.c: 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:30 +0000 [r331658] Terry Wilson * tests/test_netsock2.c: Fix netsock2 multiple zero-expansion test Remove erroneous single bracket. 2011-08-12 16:20 +0000 [r331649] Kinsey Moore * main/logger.c: 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-12 15:49 +0000 [r331635] Jonathan Rose * apps/app_dial.c, apps/app_meetme.c: Fixes 32bit compilation warnings brought on by 331634 in app_dial and app_meetme 2011-08-11 21:46 +0000 [r331578] Jason Parker * apps/app_dial.c, apps/app_meetme.c: 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:39 +0000 [r331575] Richard Mudgett * funcs/func_shell.c: 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:23 +0000 [r331517] Kinsey Moore * channels/chan_sip.c: 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:29 +0000 [r331461] Richard Mudgett * main/logger.c: 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/ 2011-08-31 Asterisk Development Team * Asterisk 1.8.6.0 Released. 2011-08-25 Asterisk Development Team * Asterisk 1.8.6.0-rc3 Released. ------------------------------------------------------------------------ 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/ ------------------------------------------------------------------------ 2011-08-22 Asterisk Development Team * Asterisk 1.8.6.0-rc2 Released. ------------------------------------------------------------------------ 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 ------------------------------------------------------------------------ r332355 | tilghman | 2011-08-17 14:21:36 -0500 (Wed, 17 Aug 2011) | 13 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/ ------------------------------------------------------------------------ r332559 | twilson | 2011-08-18 16:26:01 -0500 (Thu, 18 Aug 2011) | 7 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-10 Asterisk Development Team * Asterisk 1.8.6.0-rc1 Released. 2011-08-10 13:47 +0000 [r331315] Kinsey Moore * main/manager.c: 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 22:12 +0000 [r331248] Richard Mudgett * channels/chan_iax2.c, apps/app_parkandannounce.c, main/pbx.c, channels/chan_sip.c, main/features.c: 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 16:13 +0000 [r331146] Alexandr Anikin * addons/ooh323c/src/ooLogChan.c, addons/ooh323c/src/ooGkClient.c, addons/chan_ooh323.c: 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 2011-08-09 15:58 +0000 [r331142] Jason Parker * doc/asterisk.8: Regenerate asterisk man page from sgml. 2011-08-08 20:52 +0000 [r331038] Kinsey Moore * res/res_musiconhold.c: 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 2011-08-04 20:29 +0000 [r330843] Terry Wilson * configure, configure.ac: Make libsrtp instructions more explicit when linking fails (closes issue ASTERISK-18139) 2011-08-04 19:37 +0000 [r330827] Alexandr Anikin * addons/ooh323c/src/ooCmdChannel.c, addons/ooh323c/src/ooGkClient.c: 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-03 15:14 +0000 [r330705-330762] Kinsey Moore * main/Makefile: 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: 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:51 +0000 [r330648] Kevin P. Fleming * res/res_jabber.c: Convert an error message to actually be helpful. 2011-08-02 16:15 +0000 [r330575-330581] David Vossel * channels/chan_iax2.c: 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: Optimization to buffer initialization fix. * channels/chan_sip.c: Fixes uninitialized string buffer in log message. (closes issue ASTERISK-17200) Reported by: lmadsen 2011-08-01 15:22 +0000 [r330433] Kinsey Moore * main/say.c: 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-30 23:56 +0000 [r330368] Richard Mudgett * main/channel.c: Remove some redundant locking code in ast_do_masquerade(). Also updated some comments. 2011-07-30 15:25 +0000 [r330311] Gregory Nietsky * main/channel.c: 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 17:18 +0000 [r330203-330213] Sean Bright * formats/format_wav.c: Correct the check for O_RDONLY. * formats/format_wav.c: Only write to wav files that were opened to be written to. 2011-07-28 21:42 +0000 [r330107] Terry Wilson * main/term.c: Make console colors work for TERM=xterm-256color 2011-07-28 17:04 +0000 [r330050] Richard Mudgett * channels/sig_pri.c: 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:45 +0000 [r329994] Jason Parker * channels/chan_sip.c: 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:26 +0000 [r329991] Matthew Nicholson * res/res_fax.c: 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 11:34 +0000 [r329895] Sean Bright * channels/chan_sip.c: Make the output of Externhost in 'sip show settings' more consistent. 2011-07-27 19:27 +0000 [r329782] Leif Madsen * apps/app_confbridge.c: Change support for ConfBridge() in 1.8 to Extended. 2011-07-27 19:17 +0000 [r329767] Sean Bright * Makefile.moddir_rules: Explicitly sort the module list so that the menuselect lists are sorted. (closes issue ASTERISK-18141) Reported by: Richard Miller Patches: sort-order.diff uploaded by seanbright (License #5060) Tested by: leifmadsen 2011-07-27 18:10 +0000 [r329709] Jonathan Rose * configs/indications.conf.sample: 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 04:23 +0000 [r329613] Tilghman Lesher * cdr/cdr_odbc.c: 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:04 +0000 [r329527-329529] Jonathan Rose * apps/app_voicemail.c: 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. * main/app.c, apps/app_voicemail.c, include/asterisk/app.h, configs/voicemail.conf.sample: 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:49 +0000 [r329471] Paul Belanger * main/enum.c: Decrease verbose messages to debug, to help clean up CLI. 2011-07-22 21:10 +0000 [r329144-329333] Richard Mudgett * main/pbx.c: Fix memory leak in an allocation error path of handle_statechange(). * Make use buffer accessor function in handle_statechange() rather than directly accessing the struct member. * Make use less redundant loop construct for iterating over hints. * main/pbx.c: 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/ * channels/chan_dahdi.c, configs/chan_dahdi.conf.sample: 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: 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: 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-20 21:20 +0000 [r329027] Paul Belanger * UPGRADE.txt: Asterisk now requires libpri 1.4.11+ for PRI support. 2011-07-20 20:52 +0000 [r329012] Richard Mudgett * channels/sig_pri.c, channels/sig_pri.h, channels/chan_dahdi.c: Backport useful CLI "pri show channels" command to v1.8. The "pri show channels" command is useful for debuging to see if there are any stuck B channels. .......... r307964 | rmudgett | 2011-02-15 15:42:55 -0600 (Tue, 15 Feb 2011) | 9 lines Add CLI "pri show channels" command. List the current mapping of DAHDI B channels to Asterisk channel names and which calls are on hold or call-waiting. Calls on hold or call-waiting are not associated with any B channel. JIRA LIBPRI-27 JIRA SWP-2547 .......... r308205 | rmudgett | 2011-02-17 14:21:56 -0600 (Thu, 17 Feb 2011) | 1 line Add more verbage to CLI command 'pri show channels' usage. .......... r312579 | rmudgett | 2011-04-04 11:17:58 -0500 (Mon, 04 Apr 2011) | 59 lines Change also updates 'pri show channels' command with the "chan idle" column to report if a channel is available for use. 2011-07-20 20:16 +0000 [r328987] Terry Wilson * tests/test_netsock2.c: We can't guarantee an eth0 is present FreeBSD test fails on this case presumably because there is no eth0 on the test machine. Better to just remove this test for now. 2011-07-20 19:00 +0000 [r328935] Kinsey Moore * channels/chan_sip.c: Inband DTMF regression The functionality of inband DTMF in chan_sip relied upon ast_rtp_instance_dtmf_mode_get/set not working properly to avoid calling ast_rtp_instance_dtmf_begin/end on RTP streams with inband DTMF. According to documentation, ast_rtp_instance_dtmf_begin/end is meant only for RFC2833 DTMF, never inband. This fixes the regression introduced in revision 328823. 2011-07-19 21:29 +0000 [r328878] Kevin P. Fleming * sounds/Makefile, Makefile, Makefile.moddir_rules: Revert partial attempt at handling pathnames with spaces. Revision 299794 attempted to improve the build system to be able to handle pathnames (primarily DESTDIR) with spaces in them, since this is common on some platforms (including Mac OSX). Unfortunately, the changes were incomplete and did not actually provide the desired behavior, and as a side effect the functionality that ensured that stale headers in the Asterisk 'include' directory were removed got broken. In addition, the check for stale (and possibly incompatible) modules in the Asterisk 'modules' directory also got broken, and would never report any stale modules. Users upgrading to this version or later versions would then see unexpected module load errors. Since there are few users who actually want to install Asterisk into paths that contain spaces, and a proper fix for the build system would take many hours, the best solution for now is to just revert the partial solution. 2011-07-19 17:57 +0000 [r328770-328823] Kinsey Moore * include/asterisk/rtp_engine.h, res/res_rtp_asterisk.c, main/rtp_engine.c, channels/chan_sip.c: RTP bridge away with inband DTMF and feature detection When deciding whether Asterisk was allowed to bridge the call away from the core, chan_sip did not take into account the usage of features on dialed channels that require monitoring of DTMF on channels utilizing inband DTMF. This would cause Asterisk to allow the call to be locally or remotely bridged, preventing access to the data required to detect activations of such features. (closes 17237) Review: https://reviewboard.asterisk.org/r/1302/ * apps/app_meetme.c: MeetMe requests a PIN twice in some circumstances If a call to MeetMe includes both the dynamic(D) and always request PIN(P) options, MeetMe will ask for the PIN two times: once for creating the conference and once for entering the conference. This behavior was introduced in rev 311616 when adding the CONFFLAG_ALWAYSPROMPT option to the logic branch controlling PIN entry for joining a conference. (closes AST-601) Review: https://reviewboard.asterisk.org/r/1305/ 2011-07-19 01:35 +0000 [r328716] Terry Wilson * tests/test_linkedlists.c (added), include/asterisk/linkedlists.h: Make AST_LIST_REMOVE safer AST_LIST_REMOVE shouldn't modify the element passed in if it isn't found. This commit also adds linked list unit tests. Review: https://reviewboard.asterisk.org/r/1321/ 2011-07-18 20:47 +0000 [r328593-328663] Mark Murawki * apps/app_dial.c: app_dial may double free a channel datastore When starting a call with originate, and having the callee channel run Bridge() on pickup, we will double free the dialed_interface_info datastore, causing a crash. Make sure to check if the datastore still exists before trying to free it. (closes issue ASTERISK-17917) Reported by: Mark Murawski Tested by: Mark Murawski * channels/chan_sip.c: If the sip private structure is null, sip_setoption() will defref the null pointer and crash. Ideally, sip_setoption shouldn't be called if there is a lack of a sip private structure. But this will fix a crash. (closes issue ASTERISK-17909) Reported by: Mark Murawski Tested by: Mark Murawski * main/asterisk.c: Fixed invalid read and null pointer deref on asterisk shutdown. In some cases when starting asterisk with -c and hitting control-c to shutdown, there will be an invalid read and null pointer deref causing a crash. (closes issue ASTERISK-17927) Reported by: Mark Murawski Tested by: Mark Murawski, Kinsey Moore, Tilghman Lesher 2011-07-18 07:10 +0000 [r328540] Tilghman Lesher * funcs/func_odbc.c: Typo 2011-07-15 20:41 +0000 [r328446] Leif Madsen * apps/app_macro.c, channels/chan_jingle.c, apps/app_dahdibarge.c, apps/app_readfile.c, apps/app_setcallerid.c, channels/chan_vpb.cc, apps/app_meetme.c, cdr/cdr_sqlite.c, channels/chan_h323.c: Revert changes to defaultenabled state for modules in Asterisk 1.8 2011-07-15 19:22 +0000 [r328427] Alexandr Anikin * addons/ooh323c/src/ooGkClient.c: small gk processing fixes: - decrease for 1 second registration ttl for very low expirations (some providers expire few earlier than TTL) - delete rrq and registration expire timers on URQ received as we make new registration. 2011-07-14 23:12 +0000 [r328302] Richard Mudgett * channels/chan_sip.c: Missing SIP pvt and channel unlock in sip_set_rtp_peer(). Regression introduced by -r326144. Add missing SIP pvt and channel unlock in sip_set_rtp_peer(). 2011-07-14 20:13 +0000 [r328209] Leif Madsen * apps/app_image.c, res/res_http_post.c, formats/format_wav_gsm.c, utils/stereorize.c, pbx/pbx_loopback.c, funcs/func_shell.c, main/features.c, channels/chan_alsa.c, apps/app_externalivr.c, formats/format_jpeg.c, res/res_speech.c, formats/format_gsm.c, apps/app_milliwatt.c, formats/format_g719.c, apps/app_saycounted.c, apps/app_fax.c, apps/app_echo.c, funcs/func_math.c, channels/chan_agent.c, apps/app_dahdiras.c, utils/astman.c, res/res_ael_share.c, apps/app_transfer.c, apps/app_playback.c, res/res_config_curl.c, funcs/func_curl.c, apps/app_waitforring.c, channels/chan_misdn.c, tests/test_skel.c, addons/cdr_mysql.c, codecs/codec_ilbc.c, apps/app_zapateller.c, apps/app_chanspy.c, apps/app_cdr.c, tests/test_substitution.c, funcs/func_md5.c, utils/muted.c, tests/test_gosub.c, funcs/func_sysinfo.c, funcs/func_vmcount.c, funcs/func_sha1.c, cdr/cdr_radius.c, formats/format_siren7.c, apps/app_controlplayback.c, funcs/func_config.c, main/manager.c, bridges/bridge_builtin_features.c, funcs/func_volume.c, cdr/cdr_sqlite.c, funcs/func_aes.c, funcs/func_frame_trace.c, tests/test_devicestate.c, res/res_agi.c, tests/test_astobj2.c, apps/app_confbridge.c, apps/app_ivrdemo.c, res/res_clioriginate.c, res/res_calendar_icalendar.c, funcs/func_dialplan.c, funcs/func_db.c, tests/test_ast_format_str_reduce.c, res/res_fax.c, res/res_limit.c, apps/app_festival.c, apps/app_waitforsilence.c, apps/app_waituntil.c, channels/chan_console.c, apps/app_getcpeid.c, apps/app_queue.c, funcs/func_global.c, funcs/func_extstate.c, channels/chan_usbradio.c, apps/app_flash.c, codecs/codec_ulaw.c, channels/chan_nbs.c, formats/format_g729.c, funcs/func_dialgroup.c, funcs/func_env.c, res/res_timing_dahdi.c, funcs/func_strings.c, res/res_calendar_caldav.c, apps/app_chanisavail.c, formats/format_sln16.c, apps/app_ices.c, apps/app_exec.c, bridges/bridge_multiplexed.c, cel/cel_odbc.c, formats/format_pcm.c, pbx/pbx_ael.c, formats/format_h263.c, cdr/cdr_manager.c, res/res_clialiases.c, funcs/func_sprintf.c, tests/test_app.c, apps/app_softhangup.c, codecs/codec_g726.c, apps/app_morsecode.c, utils/smsq.c, bridges/bridge_simple.c, tests/test_sched.c, apps/app_talkdetect.c, apps/app_db.c, res/res_calendar_ews.c, funcs/func_callcompletion.c, tests/test_acl.c, funcs/func_cdr.c, utils/ael_main.c, utils/streamplayer.c, res/res_calendar.c, cel/cel_radius.c, channels/chan_vpb.cc, res/res_snmp.c, apps/app_dictate.c, apps/app_authenticate.c, res/res_phoneprov.c, funcs/func_logic.c, res/res_jabber.c, funcs/func_uri.c, funcs/func_audiohookinherit.c, res/res_config_odbc.c, funcs/func_odbc.c, res/res_realtime.c, codecs/codec_resample.c, formats/format_h264.c, apps/app_rpt.c, channels/chan_mgcp.c, tests/test_amihooks.c, codecs/codec_lpc10.c, channels/chan_sip.c, cdr/cdr_syslog.c, funcs/func_lock.c, res/res_adsi.c, utils/conf2ael.c, tests/test_pbx.c, apps/app_channelredirect.c, formats/format_vox.c, res/res_stun_monitor.c, tests/test_aoc.c, formats/format_g723.c, utils/extconf.c, tests/test_poll.c, addons/chan_ooh323.c, cdr/cdr_sqlite3_custom.c, funcs/func_module.c, apps/app_sayunixtime.c, cdr/cdr_adaptive_odbc.c, res/res_smdi.c, tests/test_time.c, apps/app_skel.c, funcs/func_srv.c, apps/app_amd.c, pbx/pbx_realtime.c, apps/app_url.c, apps/app_dial.c, apps/app_page.c, channels/chan_bridge.c, apps/app_privacy.c, codecs/codec_speex.c, apps/app_disa.c, res/res_mutestream.c, res/res_monitor.c, apps/app_macro.c, res/res_timing_kqueue.c, res/res_fax_spandsp.c, channels/chan_unistim.c, funcs/func_base64.c, addons/app_mysql.c, channels/chan_multicast_rtp.c, apps/app_meetme.c, utils/hashtest.c, res/res_musiconhold.c, apps/app_followme.c, res/res_config_sqlite.c, cdr/cdr_csv.c, tests/test_security_events.c, formats/format_ilbc.c, funcs/func_enum.c, channels/chan_phone.c, tests/test_stringfields.c, funcs/func_groupcount.c, tests/test_locale.c, addons/chan_mobile.c, cdr/cdr_custom.c, res/res_security_log.c, apps/app_parkandannounce.c, apps/app_while.c, apps/app_jack.c, res/res_rtp_asterisk.c, apps/app_nbscat.c, codecs/codec_a_mu.c, tests/test_dlinklists.c, res/res_convert.c, pbx/pbx_lua.c, utils/astcanary.c, channels/chan_oss.c, tests/test_strings.c, res/res_srtp.c, cdr/cdr_tds.c, res/res_timing_pthread.c, apps/app_directed_pickup.c, channels/chan_h323.c, cel/cel_sqlite3_custom.c, apps/app_senddtmf.c, funcs/func_callerid.c, addons/app_saycountpl.c, cel/cel_pgsql.c, funcs/func_speex.c, apps/app_dahdibarge.c, channels/chan_local.c, tests/test_logger.c, apps/app_record.c, apps/app_playtones.c, bridges/bridge_softmix.c, apps/app_alarmreceiver.c, channels/chan_iax2.c, res/res_pktccops.c, res/res_rtp_multicast.c, channels/chan_dahdi.c, pbx/pbx_spool.c, funcs/func_pitchshift.c, channels/chan_skinny.c, apps/app_dumpchan.c, main/http.c, cdr/cdr_odbc.c, utils/refcounter.c, res/res_calendar_exchange.c, res/res_ais.c, codecs/codec_g722.c, tests/test_expr.c, funcs/func_timeout.c, cel/cel_tds.c, formats/format_wav.c, formats/format_ogg_vorbis.c, funcs/func_cut.c, apps/app_speech_utils.c, apps/app_sendtext.c, funcs/func_channel.c, utils/hashtest2.c, pbx/pbx_config.c, funcs/func_iconv.c, apps/app_mixmonitor.c, formats/format_g726.c, res/res_odbc.c, apps/app_voicemail.c, tests/test_heap.c, addons/format_mp3.c, formats/format_sln.c, apps/app_readexten.c, apps/app_userevent.c, codecs/codec_gsm.c, channels/chan_gtalk.c, cdr/cdr_pgsql.c, tests/test_func_file.c, apps/app_setcallerid.c, apps/app_osplookup.c, cel/cel_manager.c, cel/cel_custom.c, tests/test_utils.c, apps/app_minivm.c, apps/app_mp3.c, res/res_timing_timerfd.c, apps/app_directory.c, res/res_config_ldap.c, formats/format_siren14.c, apps/app_adsiprog.c, res/res_config_pgsql.c, apps/app_read.c, funcs/func_version.c, codecs/codec_alaw.c, agi/eagi-test.c, res/res_crypto.c, apps/app_originate.c, channels/chan_jingle.c, apps/app_forkcdr.c, funcs/func_blacklist.c, pbx/pbx_dundi.c, apps/app_sms.c, apps/app_stack.c, funcs/func_devstate.c, apps/app_verbose.c, addons/res_config_mysql.c, utils/check_expr.c, funcs/func_rand.c, apps/app_readfile.c, codecs/codec_adpcm.c, apps/app_test.c, tests/test_event.c: Introduce tags in MODULEINFO. This change introduces MODULEINFO into many modules in Asterisk in order to show the community support level for those modules. This is used by changes committed to menuselect by Russell Bryant recently (r917 in menuselect). More information about the support level types and what they mean is available on the wiki at https://wiki.asterisk.org/wiki/display/AST/Asterisk+Module+Support+States 2011-07-14 19:21 +0000 [r328205] Jonathan Rose * res/res_monitor.c: Monitor application arguments requirements fixed. Monitor was requiring options in spite of no individual option on Monitor being required. Review: https://reviewboard.asterisk.org/r/1320/ 2011-07-13 18:46 +0000 [r328014] Richard Mudgett * configs/features.conf.sample: Add ATXFER_NULL_TECH note in features.conf.sample. 2011-07-12 22:53 +0000 [r327950] Kevin P. Fleming * main/manager.c: Correct double-free situation in manager output processing. The process_output() function calls ast_str_append() and xml_translate() on its 'out' parameter, which is a pointer to an ast_str buffer. If either of these functions need to reallocate the ast_str so it will have more space, they will free the existing buffer and allocate a new one, returning the address of the new one. However, because process_output only receives a pointer to the ast_str, not a pointer to its caller's variable holding the pointer, if the original ast_str is freed, the caller will not know, and will continue to use it (and later attempt to free it). (reported by jkroon on #asterisk-dev) 2011-07-12 20:07 +0000 [r327890] Matthew Nicholson * apps/app_directory.c: search in the current context for 'a' and 'o' instead of 'default' 2011-07-12 19:38 +0000 [r327888] Jason Parker * Makefile: Fix uninstall target, so that modules dir gets cleared again. 2011-07-12 19:10 +0000 [r327852] Matthew Jordan * apps/app_voicemail.c: Added additional checks for mailbox / password beginning with '*' character A bug existed such that if a user entered a password with '*', and the extension 'a' did not exist, an invalid mailbox would be created and the user authenticated. The code was changed to prevent this from occurring, and to prevent users from having mailboxes or passwords defined that begin with the '*' character. (closes issue ASTERISK-17443) Reported by: Kevin Scott Adams Tested by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1316/ 2011-07-12 15:35 +0000 [r327793] Tilghman Lesher * tests/test_substitution.c: Use 'printf' (POSIX issue 4) instead of 'echo -n', for portability. The problem with using 'echo -n' is that it is not portable. While BSD systems required that the '-n' option be removed and interpreted, System V required that all strings should be echoed with no interpretation of options. This fundamental difference of behavior means that it is never possible to use the '-n' flag to echo in tests which are meant to be portable. In this case, on Mac OS X 10.6, the /bin/sh shell builtin 'echo' uses the System V semantics of the command, and thus the SHELL test failed on that platform. http://pubs.opengroup.org/onlinepubs/009695399/utilities/echo.html#tag_04_41_16 2011-07-11 19:41 +0000 [r327682] Terry Wilson * include/asterisk/jingle.h, channels/chan_gtalk.c: Update chan_gtalk to work with changed GMail-based calls The messages sent by the GMail client have changed, but include the old-style messages as well. This patch checks for this case and uses the old-style offer. (closes issue ASTERISK-18084) Review: https://reviewboard.asterisk.org/r/1312/ 2011-07-11 13:53 +0000 [r327512] Matthew Nicholson * main/pbx.c, tests/test_substitution.c: reset our buffer each iteration when doing variable substitution 2011-07-11 10:56 +0000 [r327411-327412] Tzafrir Cohen * main/Makefile: Properly building the Debian armhf (HardFloat) port. Remove the line that should have been removed in r327411. * main/Makefile: fix building the Debian armhf (HardFloat) port Fixes http://buildd.debian-ports.org/status/fetch.php?pkg=asterisk&arch=armhf&ver=1%3A1.8.4.4~dfsg-2&stamp=1309935385 (Missing pthreads) 2011-07-08 22:27 +0000 [r327258] Jason Parker * main/db1-ast/mpool, addons, cdr, formats, codecs/gsm/src, funcs, addons/ooh323c/src, bridges, codecs/lpc10, main/db1-ast/btree, codecs/g722, main, main/db1-ast/recno, channels/sip, res, pbx, res/ael, channels, main/stdtime, addons/ooh323c/src/h323, codecs, utils, main/db1-ast/hash, cel, apps, main/db1-ast/db: Add .o files to svn:ignore property, since it's only ignored if locally configured to do so. 2011-07-08 21:41 +0000 [r327211] Richard Mudgett * channels/chan_sip.c: INVITE 403 Forbidden response always retransmits the maximum times. Asterisk sends a 403 Forbidden response if authentication fails for an INVITE as required. However, it ignores the ACK and keeps retransmitting the response. * Made not delete the to-tag in the dialog so the expected ACK can be matched with the dialog and stop the retransmissions. 2011-07-08 19:52 +0000 [r327106] Matthew Nicholson * main/pbx.c, tests/test_substitution.c: Reset our ast_str before passing it on to dialplan function backends. It is possible for a dialplan backend to not modify the given buffer or ast_str and still return success. This causes any previous value stored in the buffer to be used as if the new function call provided it. Some functions also append to the given buffer assuming it is empty. The test_substitution unit test has also been modified to detect this problem. (closes issue ASTERISK-17878) 2011-07-08 16:00 +0000 [r327044-327046] Russell Bryant * tests/test_netsock2.c: Fix an error and add more log message info to help see why this fails on FreeBSD. * channels/chan_dahdi.c: Resolve some set-but-unused-variable warnings. 2011-07-08 01:08 +0000 [r326985] Richard Mudgett * main/pbx.c: Some code cleanup in pbx.c * Mostly comment and format changes. * ast_context_remove_extension_callerid() and ast_add_extension_nolock() will write lock the found specific context. * ast_context_find() will now tolerate a NULL name. * Eliminated some inlined versions of find_context() and find_context_locked(). 2011-07-07 19:17 +0000 [r326830] Tilghman Lesher * res/res_http_post.c: libgen.h is also needed on Darwin for basename(3) 2011-07-07 16:04 +0000 [r326689] Jonathan Rose * res/res_config_odbc.c: res_odbc patch by tilghman to fix integers with null values Addresses some improper sql statements in res_odbc that would cause an update to fail on realtime peers due to trying to set as "(NULL)" rather than an actual NULL. (closes issue #1922STERISK-17791) Reported by: marcelloceschia Patches: 20110505__issue19223.diff.txt uploaded by tilghman (license 14) 2011-07-07 15:28 +0000 [r326681-326683] Matthew Nicholson * channels/chan_sip.c: use sips: or sip: depending on the transport in use when building reply digest URIs * channels/chan_sip.c: make the uri parameter used in reply digests more standards compliant in certain cases by prepending "sip:" or "sips:" to it 2011-07-06 15:26 +0000 [r326484] David Vossel * res/res_timing_timerfd.c: Reverts fix for timerfd locking issue. jrose discovered a performance issue with this fix that prevents his analog phones from working when using timerfd as a timing source. Until it is understood what is causing this performance problem, this patch is being reverted. 2011-07-06 14:35 +0000 [r326411-326469] Tilghman Lesher * pbx/pbx_dundi.c, channels/chan_gtalk.c, apps/app_queue.c, channels/chan_iax2.c, res/res_jabber.c, apps/app_stack.c, channels/chan_mgcp.c, apps/app_voicemail.c, channels/chan_jingle.c, channels/chan_dahdi.c, funcs/func_speex.c, channels/chan_sip.c, codecs/codec_speex.c, funcs/func_aes.c: Removing type attributes, as a change to menuselect makes them no longer necessary. * pbx/pbx_dundi.c, channels/chan_gtalk.c, apps/app_queue.c, channels/chan_iax2.c, res/res_jabber.c, apps/app_stack.c, channels/chan_mgcp.c, apps/app_voicemail.c, channels/chan_jingle.c, channels/chan_dahdi.c, funcs/func_speex.c, channels/chan_sip.c, codecs/codec_speex.c, funcs/func_aes.c: Add the attribute "type" to each "" for menuselect. This matters only when autoconf fails to detect that weak linking is supported. External optional dependencies will become optional in both cases, as they are removed at compile time when not detected. However, runtime-optional modules are made mandatory when weak linking is not found. This change affects only the external optional dependencies; previously, they were incorrectly required when weak linking support was not detected. Patches: 20110702__issue18062__asterisk_trunk.diff.txt by tilghman (License #5003) Tested by: iasgoscouk 2011-07-05 17:22 +0000 [r326291] Richard Mudgett * channels/sip/include/sip.h, channels/chan_sip.c: Used auth= parameter freed during "sip reload" causes crash. If you use the auth= parameter and do a "sip reload" while there is an ongoing call. The peer->auth data points to free'd memory. The patch does several things: 1) Puts the authentication list into an ao2 object for reference counting to fix the reported crash during a SIP reload. 2) Converts the authentication list from open coding to AST list macros. 3) Adds display of the global authentication list in "sip show settings". (closes issue ASTERISK-17939) Reported by: wdoekes Patches: jira_asterisk_17939_v1.8.patch (license #5621) patch uploaded by rmudgett Review: https://reviewboard.asterisk.org/r/1303/ JIRA SWP-3526 2011-07-05 13:23 +0000 [r326209] Matthew Jordan * main/file.c: Updated filestream destructor to block until move is complete when cache is used When a cache directory is used, the process is forked and a mv command is executed to move the temporary file to the permanent location. This caused issues with voicemail, where a race condition occurred when the parent expected the file to be in the permanent location prior to the mv command completing. The parent process is now blocked until the mv command completes. (closes issue ASTERISK-17724) Reported by: Adiren P. Tested by: mjordan 2011-07-01 21:07 +0000 [r326144] Richard Mudgett * channels/chan_sip.c: Better way to get chan and pvt lock for issue ASTERISK-17431. Redoes -r308945 for issue ASTERISK-17431 deadlock fix for sip_set_udptl_peer() and sip_set_rtp_peer(). * Lock the channels in the defined order and avoid the need for a deadlock avoidance loop. * Lock the channel before getting the pointer to the private structure to be sure that the pointer will not change due to a masquerade or channel hangup. * To preserve sanity, check that chan and p->owner are the same. (Pointer rearangements should not happen without the protection of locks because bad things tend to happen otherwise.) 2011-06-30 20:39 +0000 [r325935] Richard Mudgett * configs/sip.conf.sample, channels/chan_sip.c: Misc minor changes in chan_sip. * Add load failure exit if primary SIP container(s) could not get created in chan_sip.c:load_module(). * Removed a redundant static prototype. * Some typos. * Some whitespace. 2011-06-30 20:09 +0000 [r325877] Matthew Jordan * apps/app_voicemail.c: Patched voicemail user option for emailbody / emailsubject Incorporated changes per ASTERISK-16795; updated unit tests to check for vmu->emailbody / vmu->emailsubject (closes issue ASTERISK-16795) Reported by: mdeneen Tested by: mjordan 2011-06-30 19:17 +0000 [r325821] Jonathan Rose * res/res_musiconhold.c: Fixes an issue with Music on Hold classes losing files in playlist when realtime is used. The bug occurs rather intermittently and I relied on the reporters to test the patch. After a sanity check and some testing, I'm giving it an OK. (closes issue ASTERISK-17875) Reported by: David Cunningham Patches: res_musiconhold.c.mohrt17875_v1 uploaded by Igor Goncharovsky (license #5009) 2011-06-29 21:49 +0000 [r325740] Kinsey Moore * channels/sip/include/sip.h, channels/chan_sip.c: chan_sip: cleanup from the introduction of ast_str Remove the length field from sip_req and sip_pkt in chan_sip since they are redundant (ast_str holds its own length) and refactor the necessary functions. Review: https://reviewboard.asterisk.org/r/1281/ 2011-07-11 Leif Madsen * Asterisk 1.8.5.0 Released. * r326484 | dvossel | 2011-07-06 10:26:49 -0500 (Wed, 06 Jul 2011) Reverts fix for timerfd locking issue. jrose discovered a performance issue with this fix that prevents his analog phones from working when using timerfd as a timing source. Until it is understood what is causing this performance problem, this patch is being reverted. 2011-06-29 Leif Madsen * Asterisk 1.8.5-rc1 Released. 2011-06-29 18:59 +0000 [r325673] David Vossel * res/res_timing_timerfd.c: Fixes timerfd locking issue. (closes ASTERISK-17867, ASTERISK-17415) Patches: fix uploaded by kobaz https://reviewboard.asterisk.org/r/1255/ 2011-06-29 18:16 +0000 [r325610-325614] Richard Mudgett * apps/app_queue.c: Fixed some error exit cleanup in app_queue.c. * Fixed error exit cleanup in app_queue.c copy_rules() and reload_queue_rules(). * apps/app_queue.c: Response to QueueRule manager command does not contain ActionID if it was specified. * Add ActionID support as documented for the QueueRule AMI action. * Remove documentation for ActionID with the Queues AMI action. The output does not follow normal AMI response output and there is no place to put an ActionID header. (closes issue AST-602) Reported by: Vlad Povorozniuc Patches: jira_ast_602_v1.8.patch (license #5621) patch uploaded by rmudgett Tested by: Vlad Povorozniuc, rmudgett Review: https://reviewboard.asterisk.org/r/1295/ JIRA SWP-3575 2011-06-29 16:18 +0000 [r325537-325545] Matthew Nicholson * main/channel.c: make framehooks prevent native bridging (for real this time) * apps/app_dial.c, main/rtp_engine.c: don't do native/remote bridging if a framehook is active on the channel 2011-06-28 21:50 +0000 [r325416] Kevin P. Fleming * channels/chan_sip.c: Fix random misspelling noticed on asterisk-users. 2011-06-28 20:31 +0000 [r325339] David Vossel * channels/chan_sip.c: Fixes locking inversion caused by holding sip pvt lock during async_goto. (closes ASTERISK-17352) 2011-06-28 20:07 +0000 [r325279] Terry Wilson * /, channels/chan_sip.c: Merged revisions 325277 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r325277 | twilson | 2011-06-28 15:06:16 -0500 (Tue, 28 Jun 2011) | 9 lines Merged revisions 325275 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r325275 | twilson | 2011-06-28 15:03:19 -0500 (Tue, 28 Jun 2011) | 2 lines Don't leak SIP username information ........ ................ 2011-06-28 17:30 +0000 [r325212] Richard Mudgett * channels/chan_dahdi.c: Use the device name and not the channel name to initialize the device state. Correct ASTERISK-11323 implementation as I don't see how it ever worked as claimed when it used the channel name and not the device name. (issue ASTERISK-11323) 2011-06-28 15:46 +0000 [r325152] Jonathan Rose * res/res_musiconhold.c: Fixes moh reload breaking custom mode moh classes when the config file is untouched (closes issue ASTERISK-17730) Reported by: sdolloff 2011-06-28 15:12 +0000 [r325091] Leif Madsen * build_tools/prep_tarball: Remove line from prep_tarball that kills mkrelease. 2011-06-27 16:30 +0000 [r324955] Tilghman Lesher * main/asterisk.c: Save and restore errno from within signal handlers. This is recommended by the POSIX standard, as well as by the sigaction(2) manpage for various platforms that we support (e.g. Mac OS X). 2011-06-27 15:37 +0000 [r324914] Richard Mudgett * channels/chan_sip.c: When subscribing MWI to an unsolicited mailbox the first notification is incorrect. A remote peer subscribed to MWI with the unsolicited option and a local phone subscribed to the remote mailbox. The notify message-summary events are sent correctly except for the first one when subscribing, which will always be 0. This means the phone MWI indicator will be wrong until the mailbox read/unread count changes and the event is fired. Looks like this is a regression from ASTERISK-16149. * Fix the logic to check the cache and if allowed then fallback to manually counting mailbox messages. (closes issue ASTERISK-17997) Reported by: rsw686 Patches: jira_asterisk_17997_v1.8.patch (license #5621) uploaded by rmudgett Tested by: rsw686 JIRA SWP-3551 2011-06-24 20:46 +0000 [r324849] Richard Mudgett * pbx/pbx_config.c: Syntax errors in dialplan do not display the file name. When issuing the CLI command "dialplan reload" syntax errors and warnings are displayed on the console. The offending line number is displayed on the console, but the file name is not displayed. Errors caught in main/config.c do display the file name. (closes issue ASTERISK-17985) Reported by: ulogic Patches: pbx_config.patch uploaded by ulogic (License #5685) modified format Tested by: rmudgett JIRA SWP-3554 2011-06-24 16:48 +0000 [r324768] Jonathan Rose * include/asterisk/logger.h: DTMF wasn't being logged on connected consoles when enabled in logger.conf Previously in order for DTMF to be logged in a connected console session, the user would have to do logger set channel DTMF on. This corrects that so that it is on by default. This issue was caused by an off by one error incurred by a logger level count of 6 in logger.h where it should have been 7. (closes issue: ASTERISK-17974) Reported by: Luke H 2011-06-23 18:31 +0000 [r324685] David Vossel * channels/sip/reqresp_parser.c: Fixes sip crash when calling remove_uri_parameters with NULL AST-2011-009 (closes issue ASTERISK-18017) Reported by: jaredmauch 2011-06-23 18:29 +0000 [r324678] Kinsey Moore * /, channels/chan_sip.c: Merged revisions 324643 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r324643 | kmoore | 2011-06-23 13:21:12 -0500 (Thu, 23 Jun 2011) | 4 lines Addresses AST-2011-008, memory corruption and remote crash in SIP driver. AST-2011-008 ........ 2011-06-23 18:23 +0000 [r324652] David Vossel * channels/chan_iax2.c, include/asterisk/frame.h, /, main/features.c: Merged revisions 324634 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r324634 | dvossel | 2011-06-23 13:18:46 -0500 (Thu, 23 Jun 2011) | 13 lines Merged revisions 324627 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r324627 | dvossel | 2011-06-23 13:16:52 -0500 (Thu, 23 Jun 2011) | 7 lines Addresses AST-2011-010, remote crash in IAX2 driver Thanks to twilson for identifying the issue and providing the patches. AST-2011-010 ........ ................ 2011-06-23 03:10 +0000 [r324557] Terry Wilson * tests/test_netsock2.c: Remove tests for parsing address with invalid port getaddrinfo on OS X returns with EAI_NONAME error when passed a port greater than 65535. Linux throws no error, so remove the tests for now. 2011-06-22 19:16 +0000 [r324491] Richard Mudgett * channels/chan_sip.c: Use correct variable for text SRTP media. 2011-06-22 18:52 +0000 [r324484] Terry Wilson * include/asterisk/netsock2.h, tests/test_netsock2.c (added), main/netsock2.c, channels/chan_sip.c: Stop sending IPv6 link-local scope-ids in SIP messages The idea behind the patch listed below was used, but in a more targeted manner. There are now address stringification functions for addresses that are meant to be sent to a remote party. Link-local scope-ids only make sense on the machine from which they originate and so are stripped in the new functions. There is also a host sanitization function added to chan_sip which is used for when peer and dialog tohost fields or sip_registry hostnames are used to craft a SIP message. Also added are some basic unit tests for netsock2 address parsing. (closes issue ASTERISK-17711) Reported by: ch_djalel Patches: asterisk-1.8.3.2-ipv6_ll_scope.patch uploaded by ch_djalel (license 1251) Review: https://reviewboard.asterisk.org/r/1278/ 2011-06-22 18:41 +0000 [r324479-324481] Richard Mudgett * channels/chan_sip.c: Timout or error on INFO or MESSAGE transaction causes call to be lost. When exchanging INFO messages within a call, 4xx error causes the call to be disconnected although RFC 2976 explicitly states that such transactions do not modify the state of the dialog. When exchanging MESSAGE messages within a call, 4xx error causes the call to be disconnected. To provide least surprise, we should not disconnect the call since a MESSAGE is like INFO in this case. (Implied by RFC 3428 Section 2) (closes issue ASTERISK-17901) Reported by: neutrino88 Review: https://reviewboard.asterisk.org/r/1257/ Review: https://reviewboard.asterisk.org/r/1258/ JIRA SWP-3486 * channels/chan_sip.c: Comments and whitespace in chan_sip.c 2011-06-21 20:11 +0000 [r324364] David Vossel * include/asterisk/pbx.h, main/pbx.c: Fixes locking inversion issue in ast_async_goto() During this function we can not hold the "chan" lock while doing the masquerade, the explicit goto on the tmp chan, or the channel alloc. Instead we need to get the channel lock, store off information about the channel that we need, and then let the channel lock go for the remainder of the function. Review: https://reviewboard.asterisk.org/r/1275/ 2011-06-21 16:09 +0000 [r324305] Kinsey Moore * apps/app_confbridge.c: ConfBridge does not handle hangup properly When playing back a prompt to a channel, confbridge neglects to check for hangup events causing lockup condititions for hangups that occur before actually joining the conference. This change ensures that the user is removed from the conference in the event of a premature hangup. Review: https://reviewboard.asterisk.org/r/1277/ 2011-06-20 18:12 +0000 [r324239-324241] Leif Madsen * configs/queuerules.conf.sample: Remove extra 'the'. Reported by Vlad Povorozniuc * configs/queuerules.conf.sample, contrib/scripts/asterisk.logrotate: Revert previous merge which had extra changes. * configs/queuerules.conf.sample, contrib/scripts/asterisk.logrotate: Remove extra 'the'. Reported by Vlad Povorozniuc 2011-06-20 17:33 +0000 [r324237] Terry Wilson * channels/chan_sip.c: Ignore media offers with a port of 0 Section 5.1 of RFC3264 states: A port number of zero in the offer indicates that the stream is offered but MUST NOT be used. (closes issue ASTERISK-17845) Reported by: jacco Patches: issue19281_2.patch uploaded by jacco (license 1277) Tested by: jacco, twilson 2011-06-17 18:51 +0000 [r324176-324178] Leif Madsen * main/manager.c: Add Username and Secret fields to manager Login action. Pointed out by Vlad Povorozniuc * apps/app_meetme.c: Fix typo in documentation. Pointed out by Vlad Povorozniuc 2011-06-17 18:23 +0000 [r324174] Richard Mudgett * channels/chan_dahdi.c: Add header string to libpri debug output. Add header string to libpri debug output so the libpri output can be found/extracted easier from huge debug trace files. 2011-06-17 15:14 +0000 [r324115] Leif Madsen * main/pbx.c: Fix grammar in documentation for Goto() and GotoIf() (closes issue ASTERISK-18023) Reported by: Tim Osman 2011-06-16 22:41 +0000 [r324048-324049] Terry Wilson * channels/chan_local.c: Shame on me * include/asterisk/channel.h, main/channel.c, channels/chan_local.c, channels/chan_sip.c: Lock the channel before calling the setoption callback The channel needs to be locked before calling these callback functions. Also, sip_setoption needs to lock the pvt and a check p->rtp is non-null before using it. Review: https://reviewboard.asterisk.org/r/1220/ 2011-06-16 18:12 +0000 [r323990] Richard Mudgett * tests/test_event.c: The test_event unit test is occasionally failing. Wait for the special posted event to process before adding a new subscription. 2011-06-16 15:58 +0000 [r323754-323932] Terry Wilson * Makefile: Don't assume ASTDBDIR exists It most likely doesn't on FreeBSD * tests/test_db.c: Remove now-useless cast of ARRAY_LEN * include/asterisk/utils.h: Make ARRAY_LEN() return the same type on x86 and x86_64 systems * tests/test_db.c: Fix more ARRAY_LEN format string issues * /, main/features.c: Merged revisions 323733 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r323733 | twilson | 2011-06-15 13:13:00 -0500 (Wed, 15 Jun 2011) | 16 lines Merged revisions 323732 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r323732 | twilson | 2011-06-15 13:06:24 -0500 (Wed, 15 Jun 2011) | 9 lines Fix DYNAMIC_FEATURES DYNAMIC_FEATURES were broken by a recent DTMF change. This patch makes sure that dynamic features are also checked when deciding whether or not to pass DTMF through or store it for interpreting. (closes issue ASTERISK-17914) Reported by: vrban ........ ................ 2011-06-15 17:42 +0000 [r323730] Jonathan Rose * res/res_config_pgsql.c: Adds locking to find_table in res_configure_pgsql to prevent a crash. Bryonclark described the problem as occuring during this function because of multiple simultaneous database operations causing corruption against a pgsqlConn object. (closes issue ASTERISK-17811) Reported by: byronclark Patches: pgsql_find_table_locking.patch uploaded by byronclark (license 1200) 2011-06-15 17:09 +0000 [r323672] Terry Wilson * tests/test_db.c: Cast ARRAY_LEN to size_t for ast_logging 32-bit and 64-bit machines return different types for ARRAY_LEN(), so cast it before using in a format string. 2011-06-15 16:43 +0000 [r323669-323670] Richard Mudgett * tests/test_event.c: Add a test to the event unit tests to catch ASTERISK-18002. The new tests check to see if there are ANY subscribers to the event type when ast_event_check_subscriber() is not passed any specific ie values. (issue ASTERISK-18002) * main/event.c: [regression] Voicemail MWI is no longer sent. When leaving a voicemail, the MWI message is never sent. The same thing happens when checking a voicemail and marking it as read. If you restart Asterisk, everything comes up at that state correctly, but changes to the messages in voicemail causes the light to not be set appropriately. Very easy to reproduce. * Made ast_event_check_subscriber() return TRUE if there are ANY subscribers to an event type when there are no restricting ie values passed. This allows an event being queued to be queued. (closes issue ASTERISK-18002) Reported by: lmadsen Tested by: lmadsen, irroot Patches: jira_asterisk_18002_v1.8.patch uploaded by rmudgett (License #5621) (closes issue ASTERISK-18019) 2011-06-15 16:09 +0000 [r323610] Jonathan Rose * res/res_config_pgsql.c: Adds PQclear calls on result to various parts of res_conf_pgsql (closes issue ASTERISK-17812) Reported by: byronclark Patches: pgsql_pqclear.patch uploaded by byronclark (license 1200) 2011-06-15 15:31 +0000 [r323608] Sean Bright * main/manager.c, /: Merged revisions 323579 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r323579 | seanbright | 2011-06-15 11:22:50 -0400 (Wed, 15 Jun 2011) | 32 lines Merged revisions 323559 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r323559 | seanbright | 2011-06-15 11:15:30 -0400 (Wed, 15 Jun 2011) | 25 lines Resolve a segfault/bus error when we try to map memory that falls on a page boundary. The fix for ASTERISK-15359 was incorrect in that it added 1 to the length of the mmap'd region. The problem with this is that reading/writing to that extra byte outside of the bounds of the underlying fd causes a bus error. The real issue is that we are working with both a FILE * and the raw fd underneath it and not synchronizing between them. The code that was removed in ASTERISK-15359 was correct, but we weren't flushing the FILE * before mapping the fd. Looking at the manager code in 1.4 reveals that the FILE * in 'struct mansession' is never used except to create a temporary file that we immediately fdopen. This means we just need to write a 0 byte to the fd and everything will just work. The other branches require a call to fflush() which, while not a guaranteed fix, should reduce the likelihood of a crash. This all makes sense in my head. (closes issue ASTERISK-16460) Reported by: Ravelomanantsoa Hoby (hoby) Patches: issue17747_1.4_svn_markII.patch uploaded by Sean Bright (license #5060) ........ ................ 2011-06-15 00:50 +0000 [r323392-323456] Richard Mudgett * main/event.c: Add missing break in ast_event_get_cached(). * main/netsock2.c: Made ast_sockaddr_split_hostport() port warning msgs more meaningful. * main/dnsmgr.c: Add more strict hostname checking to ast_dnsmgr_lookup(). Change suggested in review. Review: https://reviewboard.asterisk.org/r/1240/ 2011-06-14 16:38 +0000 [r323371] Jonathan Rose * channels/chan_sip.c: Changes contact use in build_peer to use the FORCE_RPORT flag instead of RPORT_PRESENT It turned out that this was causing NAT=Yes to always use rport when present which was against 1.6.2 behavior and the check itself was redundant since the only way this segment of code could be reached was if RPORT_PRESENT was already evaluated as true earlier. (closes issue ASTERISK-17789) Reported by: byronclark Patches: use_sip_nat_force_rport.patch uploaded by byronclark (license 1200) 2011-06-14 16:33 +0000 [r323370] Terry Wilson * include/asterisk/rtp_engine.h, res/res_rtp_asterisk.c, main/rtp_engine.c, channels/chan_sip.c: Add rtpkeepalives back to 1.8 The RTP-engine conversion left out support for handling rtpkeepalives. This patch adds them back. (closes issue ASTERISK-17304) Reported by: lmadsen Review: https://reviewboard.asterisk.org/r/1226/ 2011-06-13 20:22 +0000 [r323154-323234] Leif Madsen * configs/sip.conf.sample: Additional documentation for bindaddr. Note that bindaddr will only enable UDP instead of both UDP and TCP which is what I would expect for backwards compatibility with systems being upgraded which only support UDP transportation. (closes issue ASTERISK-17976) Reported by: Sean Darcy * main/channel.c: Avoid dividing by zero with L() option to Dial() Reported by: nicolasom Patches: issue-17995.patch - nicolasom (License #5994) * res/res_agi.c: Tweak documentation for AGI Hangup command. (closes issue ASTERISK-17999) Reported by: Ben Klang Patches: hangup-doc.diff - uploaded by Ben Klang (License #5876) 2011-06-10 19:20 +0000 [r323040] Matthew Nicholson * channels/chan_sip.c: Unlock the sip channel during fax detection like chan_dahdi does to prevent a deadlock with ast_autoservice_stop. (closes issue ASTERISK-17798) tested by mnicholson 2011-06-10 15:29 +0000 [r322865-322981] Terry Wilson * main/db.c: Avoid a DB1 infinite loop bug Explicity check the last entry in the DB and make sure that we don't iterate past it. Since there can be no duplicates, this just makes sure that we stop after matching the last key. This patch also refactors the code to get away from some code duplication. A previous patch added many astdb tests and this patch passed them. Review: https://reviewboard.asterisk.org/r/1259/ * tests/test_db.c (added): Add some astdb unit tests * include/asterisk/astdb.h: Correct ast_db_deltree documentation ast_db_deltree returns -1 on error, otherwise the number of deletions 2011-06-09 17:37 +0000 [r322807] Matthew Nicholson * channels/chan_sip.c: don't drop any voice frames when checking for T.38 during early media (closes issue ASTERISK-17705) Review: https://reviewboard.asterisk.org/r/1186/ patch by oej reported by oej 2011-06-09 16:31 +0000 [r322749] Richard Mudgett * include/asterisk/features.h, apps/app_directed_pickup.c, main/features.c: Remove potential deadlock in call pickup race. Deadlock is possible in ast_do_pickup() when holding the target channel lock and trying to get the chan channel lock. Also, holding the target lock when calling ast_channel_masquerade() is not a good idea because that routine does deadlock avoidance. * Removed the need to hold the target lock after marking the target with a datastore and getting the connected line data off of the target channel. * Moved can_pickup() to ast_can_pickup() in features.c. Now all the call pickup methods use the same basic call pickup availability check. Review: https://reviewboard.asterisk.org/r/1234/ 2011-06-09 14:06 +0000 [r322585] Jonathan Rose * main/utils.c, include/asterisk/utils.h, channels/chan_sip.c, tests/test_utils.c: Adds ast_escape_encoded utility to properly handle escaping of quoted field before uri. This commit backports a feature in trunk affecting initreqprep so that display name won't be encoded improperly. Also includes unit tests for the ast_escape_quoted function. This patch gives 1.8 a much improved outlook in countries which don't use standard ASCII characters. (closes issue ASTERISK-16949) Reported by: Örn Arnarson Review: https://reviewboard.asterisk.org/r/1235/ 2011-06-08 20:46 +0000 [r322425-322484] Richard Mudgett * apps/app_queue.c: Ring all queue with more than 255 agents will cause crash. 1. Create a ring-all queue with 500 permanent agents. 2. Call it. 3. Asterisk will crash. The watchers array in app_queue.c has a hard limit of 255. Bounds checking is not done on this array. No sane person should put 255 people in a ring-all queue, but we should not crash anyway. * Added bounds checking to the watchers array. JIRA AST-464 JIRA SWP-2903 * main/dnsmgr.c: SRV lookup attempted for SIP peers listed as an IP address. Asterisk attempts to SRV lookup a host name even if the host name is an IP address. Regression introduced when IPv6 support was added. * Restored the check in ast_dnsmgr_lookup() to see if the given host name is an IP address. The IP address could be in either IPv4 or IPv6 formats. (closes issue ASTERISK-17815) Reported by: Byron Clark Tested by: Byron Clark, Richard Mudgett Patches: issue19248_v1.8.patch - uploaded by Richard Mudgett (License #5621) Review: https://reviewboard.asterisk.org/r/1240/ 2011-06-08 06:18 +0000 [r322322] Gregory Nietsky * channels/chan_sip.c: Make handle_request_publish do dialog expiration and destruction. This patch fixes handle_request_publish so that it does dialog expiration and destruction. Without this patch the incoming PUBLISH requests will get stuck in the dialog list. Restarting asterisk is the only way to remove them. Personal observation on one system the server hung up while looping through the channels rendering asterisk unusable and all sip phones unregisterd when they try reregister more requests are added. (closes issue #18898) Reported by: gareth Tested by: loloski, Chainsaw, wimpy, se, kuj, irroot Jira: https://issues.asterisk.org/jira/browse/ASTERISK-17915 Review: https://reviewboard.asterisk.org/r/1253 2011-06-07 17:59 +0000 [r322189] Paul Belanger * configs/sip_notify.conf.sample: Use correct syntax for 'sip notify snom-reboot' (closes issue ASTERISK-17915) 2011-06-06 19:07 +0000 [r322069] Jonathan Rose * main/asterisk.c, include/asterisk/logger.h: Fixes level toggling for logger set levels since it was reversed (closes issue ASTERISK-17850) Reported by: Luke H Tested by: jrose, Luke H Review: https://reviewboard.asterisk.org/r/1244/ 2011-06-03 22:09 +0000 [r321812-321926] Richard Mudgett * cdr/cdr_radius.c, cel/cel_radius.c: Asterisk crash when unloading cdr_radius/cel_radius. The rc_openlog() API call is passed a string that is used by openlog() to format log messages. The openlog() does not copy the string it just keeps a pointer to it. When the module is unloaded, the string is gone from memory. Depending upon module load order and if the other module then has an error, a crash happens. * Pass rc_openlog() a strdup'd string with the understanding that there will be a small memory leak if the cdr_radius/cel_radius modules are unloaded. * Call rc_destroy() to free the rc handle memory when the module is unloaded. JIRA AST-483 JIRA SWP-3062 * main/ccss.c: Be more explicit for CCSS generic device state event subscription. Make CCSS generic device state event subscription specify the AST_EVENT_IE_STATE ie exists to be safe. * main/event.c, tests/test_event.c: Event subscription fixes. Must commit the subscription fixes together with the integration subscription tests. The subscription fixes cause an erroneously passing test to fail. The new subscription tests detect errors without the subscription fixes. * Added missing event_names[] table entry. * Reworked ast_event_check_subscriber()/match_sub_ie_val_to_event() to correctly detect if a subscriber exists for the proposed event. * Made match_ie_val() and match_sub_ie_val_to_event() check the buffer length for RAW payload types. * Fixed error handling memory leak in ast_event_sub_activate(), ast_event_unsubscribe(), and ast_event_queue(). * Made ast_event_new() and ast_event_check_subscriber() better protect themselves from an invalid payload type. * Added container lock protection between removing old cache events and adding the new cached event in ast_event_queue_and_cache()/event_update_cache(). * Added new event subscription tests. * main/event.c, include/asterisk/event.h: Constify subscription description parameter string. * channels/chan_iax2.c, channels/chan_sip.c: Correct IAX2 and SIP event subscription description string. 2011-06-03 18:32 +0000 [r321753] Russell Bryant * tests/test_astobj2.c: Backport an astobj2 unit test so that it runs on 1.8 as well. 2011-06-03 13:17 +0000 [r321685] Leif Madsen * configs/queues.conf.sample: Also document the 'queue-minute' option. (closes issue #19386) Reported by: juanmol 2011-06-01 23:11 +0000 [r321547] Richard Mudgett * main/cdr.c: CDR comment tweaks. 2011-06-01 20:10 +0000 [r321537] Brett Bryant * apps/app_voicemail.c: This patch fixes an issue with using the wrong voicemail folders with greetings. (closes issue #17871) Reported by: edhorton Patches: digium_bug_17871_2 uploaded by fhackenberger (license 592) Tested by: edhorton, fhackenberger 2011-06-01 10:40 +0000 [r321528] Alexandr Anikin * addons/ooh323c/src/oochannels.c, addons/chan_ooh323.c, addons/ooh323c/src/ooh245.c: Fix double alerting, add forced alerting before answer Fix double alerting (it wasn't fixed here by issue #18542) Add forced alerting before connect (if it wasn't before) Try to send all packets from outgoing queue rather than one only Call goes into clearing state when disconnect command is received (closes issue #19361) Reported by: vmikhelson Patches: issue19361-3.patch uploaded by may213 (license 454) Tested by: vmikhelson 2011-05-31 20:54 +0000 [r321517] Richard Mudgett * include/asterisk/dnsmgr.h, include/asterisk/acl.h: Update some comments. 2011-05-31 18:52 +0000 [r321515] David Vossel * channels/chan_local.c: Chan_local locking cleanup. This patch removes all of the unnecessary deadlock avoidance loops that occur in chan_local. It also resolves an issue with a deadlock triggered by local channel optimizations. (issue #18028) Review: https://reviewboard.asterisk.org/r/1231/ 2011-05-31 16:04 +0000 [r321511] Leif Madsen * channels/chan_sip.c: Enhance NOTICE message to know who couldn't access the dialplan. (closes issue #19390) Reported by: lmadsen Patches: __20110531-sip-notice-tweak.txt uploaded by lmadsen (license 10) Tested by: russell 2011-05-28 00:27 +0000 [r321337-321436] Richard Mudgett * res/res_agi.c: Some hagi launch cleanup. Inspired by issue 19256. This patch would also fix the crash. * main/srv.c: Crash when using hagi and no servers are available. When none of the servers returned by the SRV querey respond, asterisk crashes. The problem is that if the loop over all the SRV entries finishes then the srv_context has already been cleaned up. * Make ast_srv_cleanup() check to see if the context is already cleaned up. (closes issue #19256) Reported by: byronclark * apps/app_privacy.c: The app_privacy args have undocumented "options" position, interferes with "context" position. * Add documention for unused "options" position to match existing code. (closes issue #19273) Reported by: mdavenport 2011-05-27 21:54 +0000 [r321333-321335] Leif Madsen * include/asterisk/frame.h, main/file.c: Fix issue with playback of H.261 video. (closes issue #19379) Reported by: neutrino88 Patches: videoprompt.patch uploaded by neutrino88 (license 297) (changes by russell) * main/features.c: Allow parking lot hints and musicclass to be set. (closes issue #19378) Reported by: sboily_proformatique Patches: pf_parkinghint_music_fix uploaded by sboily proformatique (license 206) Tested by: russell 2011-05-27 21:31 +0000 [r321330] Richard Mudgett * apps/app_privacy.c: The app_privacy args have undocumented "options" position, interferes with "context" position. * Add documention for unused "options" position to match existing code. The trunk(v1.10) version will remove the unused options position. (closes issue #19273) Reported by: mdavenport 2011-05-27 14:59 +0000 [r321273] Jonathan Rose * channels/sip/reqresp_parser.c: markm committed a patch I was working on yesterday, this fixes it to mesh up with suggestions by mnicholson. 2011-05-27 08:31 +0000 [r321211] Alec L Davis * main/features.c: Fix *8 directed pickup locks system during pickupsound play out move playout from sip_pickup_thread to bridge using BRIDGE_PLAY_SOUND method, This stop the clash of 2 threads trying to write audio to same channel. In addition fixes choppy audio beep in issue 19177. (issue #18654) (issue #19177) Reported by: Docent Patches: review1232-1.88888888 alecdavis (license 585) Tested by: alecdavis Review: https://reviewboard.asterisk.org/r/1232/ 2011-05-26 21:48 +0000 [r321100-321155] Mark Murawki * channels/chan_sip.c, channels/sip/reqresp_parser.c: Fixed build problem with dev mode enabled, which was caused by commit 321100. Reformulated patch to be more generic. Moved the sip uri parse variable initalization to parse_uri_full in reqresp_parser.c. This will ensure that any use of parse uri will have null output variables if the parse fails. (closes issue #19346) Reported by: kobaz Tested by: kobaz,JonathanRose Review: [full review board URL with trailing slash] * main/netsock2.c, channels/chan_sip.c: ast_sockaddr_resolve() in netsock2.c may deref a null pointer Added a null check in netsock2 ast_sockaddr_resolve() as well as added default initalizers in chan_sip parse_uri_legacy_check() to make sure that invalid uris will make null (and not undefined) user,pass,domain,transport variables (closes issue #19346) Reported by: kobaz Patches: netsock2.patch uploaded by kobaz (license 834) Tested by: kobaz, Marquis 2011-05-26 18:10 +0000 [r321044] Richard Mudgett * include/asterisk/netsock2.h: Update ast_sockaddr comment with an important note. 2011-05-26 17:29 +0000 [r321042] Terry Wilson * main/rtp_engine.c: Initialize stack-allocated ast_sockaddrs before use It is important to always initialize ast_sockaddrs before use--even if they are passed to ast_sockaddr_copy as the underlying storage could be bigger than what ends up being copied--leaving part of the data unitialized. 2011-05-26 15:57 +0000 [r320947] Russell Bryant * channels/chan_alsa.c, channels/chan_mgcp.c: Remove some variables that were set but unused. 2011-05-25 22:25 +0000 [r320796-320883] Richard Mudgett * channels/chan_sip.c: Native SIP CCSS sends bad CC cancel SUBSCRIBE message. The SUBSCRIBE message used to cancel a CC request has incorrect To/From SIP headers. They are reversed and the dialog tags are the same when they should not be. If pedantic mode was disabled, then the cancel would have succeeded despite the incorrect message. * The SIP_OUTGOING flag was not set correctly for the dialog and I had to move some CC subscribe handling code as a result. * Initialized the dialog subscribed type to CALL_COMPLETION earlier. If a CC request SUBSCRIBE message comes in and the CC instance is not found, the 404 response was duplicated. JIRA AST-568 JIRA SWP-3493 * UPGRADE.txt, CHANGES, apps/app_queue.c, apps/app_dial.c, main/channel.c, main/manager.c, apps/app_meetme.c, apps/app_fax.c, main/features.c: The AMI Newstate event contains different information between v1.4 and v1.8. The addition of connected line support in v1.8 changes the behavior of the channel caller ID somewhat. The channel caller ID value no longer time shares with the connected line ID on outgoing call legs. The timing of some AMI events/responses output the connected line ID as caller ID. These party ID's are now separate. * The ConnectedLineNum and ConnectedLineName headers were added to many AMI events/responses if the CallerIDNum/CallerIDName headers were also present. (closes issue #18252) Reported by: gje Tested by: rmudgett Review: https://reviewboard.asterisk.org/r/1227/ * include/asterisk/channel.h, main/channel.c, main/features.c: Give zombies a safe channel driver to use. Recent crashes from zombie channels suggests that they need a safe home to goto. When a masquerade happens, the physical part of the zombie channel is hungup. The hangup normally sets the channel private pointer to NULL. If someone then blindly does a callback to the channel driver, a crash is likely because the private pointer is NULL. The masquerade now sets the channel technology of zombie channels to the kill channel driver. Related to the following issues: (issue #19116) (issue #19310) Review: https://reviewboard.asterisk.org/r/1224/ 2011-05-25 00:49 +0000 [r320716] Terry Wilson * addons/chan_mobile.c: Cast data as char * before using S_OR This is required for compiling successfully under dev mode 2011-05-23 17:53 +0000 [r320650] Richard Mudgett * CHANGES, main/manager.c: Add ConnectedLineNum/Name headers to output of AMI action Status. * Add ConnectedLineNum and ConnectedLineName headers to the output of the AMI action Status. This makes it easier to find out who the channel is connected to without having to lookup BridgedChannel or when they are connected to an application (e.g.: VoiceMail) which has no bridged channel. * Bridged channels with no CallerID had "" instead of "" output, that might be a bug as "" was what older versions used. (closes issue #18158) Reported by: gareth Patches: svn-292308.diff uploaded by gareth (license 208) 2011-05-23 16:19 +0000 [r320573] Tilghman Lesher * configure, configure.ac: GNU libiconv uses symbol "libiconv_open" instead of "iconv_open". (closes issue #19344) Reported by: rohanl Patches: iconv-check.patch uploaded by rohanl (license 1284) 2011-05-23 16:18 +0000 [r320568] David Vossel * main/tcptls.c, /: Merged revisions 320562 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r320562 | dvossel | 2011-05-23 11:15:18 -0500 (Mon, 23 May 2011) | 9 lines Adds missing part to the ast_tcptls_server_start fails second attempt to bind patch. (closes issue #19289) Reported by: wdoekes Patches: issue19289_delay_old_address_setting_tcptls_2.patch uploaded by wdoekes (license 717) ........ 2011-05-23 15:47 +0000 [r320560] Kevin P. Fleming * configure, configure.ac: Don't generate spurious "No: command not found" messages when running the configure script on a system that has neither gmime-config nor pkg-config. 2011-05-23 14:33 +0000 [r320504] Jonathan Rose * channels/chan_sip.c: Fixes segfault occuring in chan_sip.c at __set_address_from_contact Checks to see if domain contains anything before sending it off to ast_sockaddr_resolve which is where the segfault was occuring due to null str. (closes issue #18857) Reported by: sybasesql Review: https://reviewboard.asterisk.org/r/1225/ 2011-05-22 23:34 +0000 [r320445] Tilghman Lesher * res/res_odbc.c, /: Merged revisions 320444 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r320444 | tilghman | 2011-05-22 18:25:51 -0500 (Sun, 22 May 2011) | 8 lines Don't crash when the connection fails. (closes issue #19250) Reported by: seadweller Patches: 20110514__issue19250.diff.txt uploaded by tilghman (license 14) Tested by: seadweller, sum ........ 2011-05-20 21:39 +0000 [r320338] David Vossel * main/tcptls.c, /: Merged revisions 320271 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r320271 | dvossel | 2011-05-20 16:24:48 -0500 (Fri, 20 May 2011) | 8 lines Fixes issue with ast_tcptls_server_start failing on second attempt to bind. (closes issue #19289) Reported by: wdoekes Patches: issue19289_delay_old_address_setting_tcptls.patch uploaded by wdoekes (license 717) ........ 2011-05-20 20:49 +0000 [r320237] Richard Mudgett * /, apps/app_meetme.c: Merged revisions 320236 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r320236 | rmudgett | 2011-05-20 15:44:54 -0500 (Fri, 20 May 2011) | 20 lines Merged revisions 320235 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r320235 | rmudgett | 2011-05-20 15:38:22 -0500 (Fri, 20 May 2011) | 13 lines The meetme CLI command completion leaves conferences mutex locked. When issuing a meetme kick CLI command and an invalid (non-existent) conference number is specified, pressing Tab leaves the conferences mutex locked and, therefore, all conferences deadlock. Add missing unlock. (closes issue #19336) Reported by: zvision Patches: app_meetme.diff uploaded by zvision (license 798) ........ ................ 2011-05-20 18:48 +0000 [r320180] Matthew Nicholson * channels/chan_sip.c: This commit modifies the way polling is done on TLS sockets. Because of the buffering the TLS layer does, polling is unreliable. If poll is called while there is data waiting to be read in the TLS layer but not at the network layer, the messaging processing engine will not proceed until something else writes data to the socket, which may not occur. This change modifies the logic around TLS sockets to only poll after a failed read on a non-blocking socket. This way we know that there is no data waiting to be read from the buffering layer. (closes issue #19182) Reported by: st Patches: ssl-poll-fix3.diff uploaded by mnicholson (license 96) Tested by: mnicholson 2011-05-20 18:12 +0000 [r320162] Jonathan Rose * apps/app_voicemail.c: Fixes an imapfolder related crash imapfolders being set in the general section of voicemail would cause the inbox folder name to change. Since sound file names are made based on the names of the folders, this would cause the audio related to that folder name to change and if Asterisk attempted to play it, the channel would instantly hang up when the audio file couldn't be found. This patch searches for the name of the folder first to leave existing behavior in tact and if that fails, it uses the normal inbox name to get the sound file instead. (closes issue #16104) Reported by: blkline Review: https://reviewboard.asterisk.org/r/1215/ 2011-05-20 17:03 +0000 [r319997-320059] Richard Mudgett * main/features.c: Misc comment cleanup in features.c. * main/channel.c, main/features.c: Crash while transferring a call during DTMF feature timeout. When a call is being attended transferred during the time between AST_FRAME_DTMF_BEGIN and AST_FRAME_DTMF_END, the transferred channel becomes a zombie (so tech data is not available), making ast_dtmf_stream() segfault when it tries to send the DTMF digit (at least with SIP channels). Patch based on feature-end-zombie.patch uploaded by Irontec (license 1256) * Check for zombies when ast_channel_bridge() returns. * Guarantee that the fo parameter value is initialized in ast_channel_bridge() before any returns. (closes issue #19116) Reported by: Irontec Tested by: rmudgett * apps/app_directed_pickup.c, main/features.c: Change some variable names to make pickup code easier to understand. * apps/app_directed_pickup.c, main/features.c: Crash when using directed pickup applications. The directed pickup applications can cause a crash if the pickup was successful because the dialplan keeps executing. This patch does the following: * Completes the channel masquerade on a successful pickup before the application returns. The channel is now guaranteed a zombie and must not continue executing the dialplan. * Changes the return value of the directed pickup applications to return zero if the pickup failed and nonzero(-1) if the pickup succeeded. * Made some code optimizations that no longer require re-checking the pickup channel to see if it is still available to pickup. (closes issue #19310) Reported by: remiq Patches: issue19310_v1.8_v2.patch uploaded by rmudgett (license 664) Tested by: alecdavis, remiq, rmudgett Review: https://reviewboard.asterisk.org/r/1221/ 2011-05-20 13:28 +0000 [r319938] Jonathan Rose * configs/sip.conf.sample, channels/sip/include/sip.h, channels/chan_sip.c: Adds legacy_useroption_parsing to address interoperability concerns. With the new option engaged, Asterisk should interpret user fields with useroptions contained within the userfield of the uri by stripping them out of the original message whenever a semicolon is encountered in the userfield string. (closes issue #18344) Reported by: danimal Tested by: jrose Review: https://reviewboard.asterisk.org/r/1223/ 2011-05-19 23:28 +0000 [r319920] Terry Wilson * main/bridging.c, include/asterisk/bridging_technology.h, include/asterisk/bridging.h: Revert part of a change to the bridging API code The capabilities used in the bridging API are very different than the ones used for formats. When the conversion was made expanding the bit width of codecs, the bridging code was accidentally accosted in ways that it didn't deserve. 2011-05-19 18:32 +0000 [r319866] Jonathan Rose * main/features.c: Fix Randomize option on Park() The randomize option was generally not working like it should have at all on Park(). This patch restores intended functionality. (closes issue #18862) Reported by: davidw Tested by: jrose Review: https://reviewboard.asterisk.org/r/1222/ 2011-05-19 17:59 +0000 [r319812] Mark Murawki * cel/cel_odbc.c: In cel_odbc, an uninitialized RWLIST is attempted to be locked. Added INIT and DESTROY for the RWLIST odbc_tables (closes issue #19331) Reported by: kobaz Patches: odbc_cel.patch uploaded by kobaz (license 834) 2011-05-19 16:50 +0000 [r319758] Richard Mudgett * main/ccss.c: CCSS generic agent with POTS and ISDN phones fail caller busy call-back test. If the following is true after a CCSS activation: * The generic agent is for an analog phone or ISDN phone. (Caller party) * The called party becomes available. * The caller party is not available. When the caller party becomes available, the caller is not alerted to the called party being available. The generic agent still thinks the caller is busy. * Fixed the generic agent device state event subscription to look for all device states that are considered available. * Encapsulated the device state test for CCSS generic device available in cc_generic_is_device_available(). Made the generic agent and monitor use the new function instead of the manually coded inline equivalent. JIRA AST-559 JIRA SWP-3462 2011-05-18 23:15 +0000 [r319529-319654] Terry Wilson * /, channels/chan_sip.c: Merged revisions 319653 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r319653 | twilson | 2011-05-18 16:11:57 -0700 (Wed, 18 May 2011) | 15 lines Merged revisions 319652 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r319652 | twilson | 2011-05-18 16:04:35 -0700 (Wed, 18 May 2011) | 8 lines Make sure everyone gets an unhold when a transfer succeeds Some phones, like the Snom phones, send a hold to the transfer target after before sending the REFER. We need to make sure that we unhold the parties that are being connected after the masquerade. If Local channels with the /nm option are used when dialing the parties, hold music would still be playing on the transfer target, even after being connected with the transferee. ........ ................ * channels/chan_sip.c: Unbreak the storing of registrations for restart The fix for issue 18882 broke retrieving non-realtime peers from the ast_db on restart/reload. This patch tries to unbreak things while leaving the intent of the original fix intact. (closes issue #19318) Reported by: remiq Patches: diff.txt uploaded by twilson (license 396) Tested by: lmadsen, remiq * apps/app_dial.c, /: Merged revisions 319528 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r319528 | twilson | 2011-05-18 13:02:06 -0700 (Wed, 18 May 2011) | 17 lines Merged revisions 319527 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r319527 | twilson | 2011-05-18 12:56:08 -0700 (Wed, 18 May 2011) | 10 lines Fix app_dial ring groups Revert part of r315643. We need to remove the datastore here as well. The code in bridging code will catch anything that app_dial might miss. (closes issue #19311) Reported by: mspuhler Patches: issue_19311_no_answer.diff uploaded by elguero (license 37) ........ ................ 2011-05-17 21:57 +0000 [r319469] Richard Mudgett * channels/misdn/isdn_lib.c: Merged revision 319468 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier .......... r319468 | rmudgett | 2011-05-17 16:49:31 -0500 (Tue, 17 May 2011) | 15 lines The mISDN HDLC mode is prevented on dialed channels. The use of mISDN HDLC mode is prevented if the mISDN dial technology option 'h1' is used when config option astdtmf=yes. There is a bug in channels/misdn/isdn_lib.c which prevents the use of HDLC mode. Instead of setting the channel to HDLC mode it is set to transparent(no dsp, no hdlc), although hdlc is not "no hdlc". I.e the logging message is correct, but the if condition is not. Make check the nodsp and hdlc flags. JIRA ABE-2787 JIRA SWP-3437 .......... 2011-05-17 12:53 +0000 [r319365-319367] Leif Madsen * apps/app_voicemail.c: Don't create [general] voicemail context when using users.conf Prior to this patch, app_voicemail would create a [general] context when parsing users.conf. (closes issue #18891) Reported by: pdugas Patches: app_voicemail-ignore-general.patch uploaded by pdugas (license 1222) app_voicemail-ignore-general-style-guidelines.patch uploaded by seanbright (license 71) Tested by: pdugas * contrib/init.d/rc.debian.asterisk: Make Debian init script lsb compliant (closes issue #18896) Reported by: manwe Patches: debian_init_lsb.patch uploaded by manwe (license 1223) 2011-05-16 21:00 +0000 [r319261] Jonathan Rose * main/dsp.c: Makes busy detection in dsp.c always allow for at least one frame (20ms) of error so that 200ms tone lengths don't get ignored by single frame error lengths. 2011-05-16 20:33 +0000 [r319259] Richard Mudgett * main/ccss.c: Deadlock between generic CCSS agent and native ISDN CCSS. Deadlock can occur when the generic CCSS agent is deleting duplicate CC offers and the native ISDN CC driver is processing an incoming CC message. The cc_core_instances container lock cannot be held when an agent or monitor callback is invoked without the possibility of a deadlock. * Make kill_duplicate_offers() remove the reference in cc_core_instances outside of the container lock. JIRA AST-566 JIRA SWP-3469 2011-05-16 18:17 +0000 [r319204] Terry Wilson * /, channels/chan_sip.c: Merged revisions 319202 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r319202 | twilson | 2011-05-16 11:00:21 -0700 (Mon, 16 May 2011) | 4 lines Unlink a peer from peers_by_ip when expiring a registration Review: https://reviewboard.asterisk.org/r/1218/ ........ 2011-05-16 15:57 +0000 [r319145] David Vossel * /, channels/chan_sip.c: Merged revisions 319144 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r319144 | dvossel | 2011-05-16 10:56:16 -0500 (Mon, 16 May 2011) | 2 lines Fixes issue with peer ref-counting during handle_request_subscribe. (closes issue #19293) Reported by: irroot ........ 2011-05-16 15:53 +0000 [r319142] Matthew Nicholson * channels/chan_sip.c: Make sure tcptls_session exists before dereferencing it. (closes issue #19192) Reported by: stknob Patches: 10-tcptls-unreachable-peer-segfault.patch uploaded by Chainsaw (license 723) Tested by: vois, Chainsaw 2011-05-16 14:35 +0000 [r319085] Paul Belanger * res/res_http_post.c, configure, include/asterisk/autoconfig.h.in, configure.ac: Support gmime-2.4 (closes issue #18863) Reported by: tzafrir Patches: gmime-2.4-18.diff uploaded by tzafrir (license 46) Tested by: tzafrir Review: https://reviewboard.asterisk.org/r/1213/ 2011-05-16 14:26 +0000 [r319083] David Vossel * formats/format_wav.c: Fixes Big Endian build issue. (closes issue #19298) Reported by: tzafrir 2011-05-13 18:09 +0000 [r318917-318921] Brett Bryant * main/channel.c: Fixes a segmentation fault in dynamic hints when a channel technology isn't loaded for a hint. (closes issue #18495) Reported by: bertrand Tested by: bertrand * res/res_srtp.c: This patch fixes an issue with SRTP which makes HOLD/UNHOLD impossible when too much time has passed between sending audio. (closes issue #18206) Reported by: bernhardsi Patches: res_srtp_unhold.patch uploaded by bernhards (license 1138) Tested by: bernhards, notthematrix * channels/chan_sip.c: This patch allows TCP peers into the ast_db where they were previously restricted. (closes issue #18882) Reported by: cmaj Patches: patch-chan_sip-1.8.3-rc2-allow-tcp-peer-store-db-and-readonly-rt-backend.diff.txt uploaded by cmaj (license 830) Tested by: cmaj 2011-05-13 16:28 +0000 [r318783-318868] Richard Mudgett * main/features.c: CDR's are being written immediately on caller hangup. CDR's are being written immediately on caller hangup. The dialplan is not able to modify it in the h exten. The h exten in the initial context is not run before closing CDR's when the bridge is unlinked if a macro is active and does not have an h exten. * Make ast_bridge_call() check for an h exten in the current context and if a macro is active then the initial context. The first h exten found is then run before closing the CDR. (closes issue #18212) Reported by: leearcher Patches: issue18212_v1.8.patch uploaded by rmudgett (license 664) Tested by: rmudgett Review: https://reviewboard.asterisk.org/r/1206/ * channels/sig_pri.c: PRI early media won't ring. And another way to pass early media. Don't indicate that there is inband information present, just assume that the B channel is connected. * Restore clearing the dialing flag Rx squelch unconditionally when a PROCEEDING message comes in. (closes issue #19268) Reported by: tbsky Patches: issue19268_v1.8.patch uploaded by rmudgett (license 664) Tested by: tbsky 2011-05-12 23:35 +0000 [r318720] Matthew Nicholson * channels/sip/reqresp_parser.c: Handle ipv6 addresses in the sent-by Via: field. This change fixes a regression in via header parsing and ipv6 handling. (closes issue #18951) 2011-05-12 22:52 +0000 [r318671] Alec L Davis * include/asterisk/features.h, channels/chan_sip.c, apps/app_directed_pickup.c, main/features.c: Fix directed group pickup feature code *8 with pickupsounds enabled Since 1.6.2, the new pickupsound and pickupfailsound in features.conf cause many issues. 1). chan_sip:handle_request_invite() shouldn't be playing out the fail/success audio, as it has 'netlock' locked. 2). dialplan applications for directed_pickups shouldn't beep. 3). feature code for directed pickup should beep on success/failure if configured. Created a sip_pickup() thread to handle the pickup and playout the audio, spawned from handle_request_invite. Moved app_directed:pickup_do() to features:ast_do_pickup(). Functions below, all now use the new ast_do_pickup() app_directed_pickup.c: pickup_by_channel() pickup_by_exten() pickup_by_mark() pickup_by_part() features.c: ast_pickup_call() (closes issue #18654) Reported by: Docent Patches: ast_do_pickup_1.8_trunk.diff.txt uploaded by alecdavis (license 585) Tested by: lmadsen, francesco_r, amilcar, isis242, alecdavis, irroot, rymkus, loloski, rmudgett Review: https://reviewboard.asterisk.org/r/1185/ 2011-05-11 18:47 +0000 [r318549-318550] Terry Wilson * channels/chan_sip.c: Comment out the REF_DEBUG that slipped in during debugging * /, channels/chan_sip.c: Merged revisions 318548 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r318548 | twilson | 2011-05-11 12:15:39 -0500 (Wed, 11 May 2011) | 19 lines Clean up several chan_sip reference leaks Several situations in the code could lead to peers or sip_pvt references being leaked. This would cause RTP ports to never be destroyed (leading to exhaustion of all available RTP ports) and memory leaks. The original patch for this issue from rgagnon was the result of an obscene amount of testing and hard work, for which I am very grateful. I did some cleanup and added a few additional refcount fixes that I found. (closes issue #17255) Reported by: kvveltho Patches: tag-1.6.2.17-r309252-sip-dos-mem-leak-fix.diff uploaded by rgagnon (license 1202) Tested by: rgagnon, twilson, wdoekes, loloski Review: https://reviewboard.asterisk.org/r/1101/ Review: https://reviewboard.asterisk.org/r/1207/ Review: https://reviewboard.asterisk.org/r/1210/ ........ 2011-05-10 23:41 +0000 [r318499] Richard Mudgett * channels/sig_pri.c, channels/sig_ss7.c: Unable to pickup DAHDI/PRI call because call state is reported as DIALING. The channel state is not updated to RINGING when an ALERTING message is received. Regression caused when sig_pri.c (also sig_ss7.c) extracted from chan_dahdi.c. * Added missing channel state update to RINGING when the AST_CONTROL_RINGING frame is queued for ISDN and SS7. (closes issue #19257) Reported by: alecdavis Patches: issue19257_v1.8_v2.patch uploaded by rmudgett (license 664) Tested by: alecdavis, rmudgett 2011-05-10 18:46 +0000 [r318485] Leif Madsen * main/manager.c: Filter out blacklisted manager events when using eventfilter. Merging change from trunk in revision 306432. (closes issue #19260) Reported by: dhubbard Tested by: dhubbard 2011-05-10 15:13 +0000 [r318436] Russell Bryant * channels/chan_iax2.c: chan_iax2: change LOG_NOTICE to LOG_DEBUG in iax2_read(). 2011-05-09 23:15 +0000 [r318351] Richard Mudgett * res/Makefile, res/res_features.exports.in (removed): Remove references to res_features and its export file. The contents of res/res_features.c was moved to into main/features.c awhile ago. There is no longer any need for the res/Makefile to reference res_features or the res_features linker exports file to exist. 2011-05-09 20:23 +0000 [r318337] Terry Wilson * /, channels/chan_sip.c: Merged revisions 318331 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r318331 | twilson | 2011-05-09 15:04:41 -0500 (Mon, 09 May 2011) | 12 lines Don't offer video to directmedia callee unless caller offered it as well Make sure that when directmedia is enabled, that video is not offered to the callee even if it supports it. p->vrtp will not exist since the caller didn't offer video. (closes issue #19195) Reported by: one47 Patches: sip_cant_add_video_rtp uploaded by one47 (license 23) ........ 2011-05-09 19:07 +0000 [r318282] Richard Mudgett * main/features.c: Hangup extension executed twice. When a user hangs up a call, in certain circumstances, the hangup extension can end up being executed twice: 1) If a call is bridged and the 'h' extension executes the Hangup application, then the 'h' extension will be executed twice. 2) If a call is bridged within a macro (Dial or Queue), it has its own 'h' extension, the main context also has an 'h' extension, and the macro 'h' extension executes the Hangup application, then both 'h' extensions will be executed. * Revert originally commited fix for #16106 and just set AST_FLAG_BRIDGE_HANGUP_RUN unconditionally in ast_bridge_call(). The bridge code just executed an 'h' extension so the main PBX loop does not need to execute one as well. (issue #16106) Reported by: ajohnson (issue #16548) Reported by: hajekd 2011-05-09 17:09 +0000 [r318233] David Vossel * /, channels/chan_sip.c: Merged revisions 318230 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r318230 | dvossel | 2011-05-09 11:51:45 -0500 (Mon, 09 May 2011) | 7 lines Fixes cases where sip_set_rtp_peer can return too early during media path reset. (closes issue #19225) Reported by: one47 Patches: sip_set_rtp_peer.patch uploaded by one47 (license 23) ........ 2011-05-09 16:57 +0000 [r318231] Richard Mudgett * channels/sig_pri.c: Don't get early media for ISDN on outgoing calls. It looks to be a long-standing misinterpretation of the progress indicator ie values: 1 - Call is not end-to-end ISDN; further call progress information may be available in-band. 8 - In-band information or an appropriate pattern is now available. Only value 8 is handled by chan_dahdi/sig_pri. The 1 value is not handled as early media probably because the meaning of the second half of it's description was overlooked. * Test to see if either PRI_PROG_CALL_NOT_E2E_ISDN(1) or PRI_PROG_INBAND_AVAILABLE(8) bits are set to open the media path. (closes issue #18868) Reported by: isrl Patches: issue18868_19246_v1.8.patch uploaded by rmudgett (license 664) Tested by: satish_lx .......... No inband progress on PRI_EVENT_RINGING even if inband flag set. My ISDN-PRI provider sends an ALERTING with "Inband information or appropriate pattern now available", but Asterisk only generates and passes the RING to the SIP extension, not the inband message. Unfortunately, the inband message is not a ringback tone but a prompt that says the number is not in service. The SIP extension then hears two rings and the call is hungup which confuses the caller. * Post an AST_CONTROL_PROGRESS as well as opening the media path if inband audio is indicated with an ALERTING message. (closes issue #19246) Reported by: cristiandimache Patches: issue19246_v1.8.patch uploaded by rmudgett (license 664) Tested by: cristiandimache 2011-05-09 14:18 +0000 [r318148] Jonathan Rose * configs/features.conf.sample: Documenting an observed behavior of features in features.conf. Since parkinglots use an integer for the parkinglot extensions, leading zeros specified in the configuration file are ignored. 2011-05-09 14:09 +0000 [r318142] Matthew Nicholson * main/channel.c: Make indicate/control frames WRITE events on framehooks. Also, if a framehook returns a non-control frame, don't forward it to the channel. (closes issue #19251) Reported by: irroot Patches: (modified) framehook_indicate.patch2 uploaded by irroot (license 52) Tested by: irroot 2011-05-07 23:35 +0000 [r318055-318057] Russell Bryant * res/res_config_curl.c: res_config_curl: fix a crash with static realtime. (closes issue #18413) Reported by: jmls Patches: 20101202__issue18413.diff.txt uploaded by tilghman (license 14) Tested by: jmls * channels/chan_iax2.c: chan_iax2: Don't overwrite port found with an SRV lookup. (closes issue #17291) Reported by: jcovert Patches: chan_iax2.c.1.8.3-srvlookup-corrected.patch uploaded by jcovert (license 551) 2011-05-06 21:49 +0000 [r317967-317969] Russell Bryant * apps/app_meetme.c: Use the right variable to print the time in a debug message. The original patch also increased some buffer sizes, but that was already done in this version. (closes issue #17034) Reported by: sysreq Patches: asterisk-issue-17034.patch uploaded by sysreq (license 1009) * apps/app_meetme.c: Fix some more "set but unused" compiler warnings. 2011-05-06 21:06 +0000 [r317918] David Vossel * res/res_rtp_asterisk.c: Fixes missing colon from To/From headers in RTCP manager events. (closes issue #18221) Reported by: clegall_proformatique Patches: 18221_1.patch uploaded by ebroad (license 878) 2011-05-06 21:06 +0000 [r317861-317917] Russell Bryant * main/pbx.c: Fix calculation of free RAM to make minmemfree option work. (closes issue #17124) Reported by: loic Patches: pbx_c.diff uploaded by loic (license 1020) * channels/chan_sip.c: chan_sip: Destroy variables on a sip_pvt before copying vars from the sip_peer. Don't duplicate variables on the sip_pvt. Just reset the variable list each time. (closes issue #19202) Reported by: wdoekes Patches: issue19202_destroy_challenged_invite_chanvars.patch uploaded by wdoekes (license 717) * channels/chan_sip.c: chan_sip: fix a deadlock in check_rtp_timeout. Don't block doing silly deadlock avoidance. Just return and try again later. The funciton gets called often enough that it's fine. Also, this change was already made in trunk. (closes issue #18791) Reported by: irroot Patches: chan_sip.rtptimeout.patch uploaded by irroot (license 52) * channels/chan_sip.c: URI encode less characters in the RPID and Contact headers. If this change causes any problems, we will need to backport the more extensive uri encoding and decoding handling changes that are in trunk/1.10. (closes issue #18686) Reported by: wolfgang Patches: quick-and-dirty.patch uploaded by wdoekes (license 717) Tested by: wdoekes, devellow, wolfgang, mav3rick 2011-05-06 19:31 +0000 [r317858] Matthew Nicholson * pbx/pbx_lua.c: pbx_lua autoservice fixes Don't start an autoservice in pbx_lua if pbx_lua already started one and don't stop one if we didn't start one. Also start and stop the autoservice when transferring control from and to the pbx. 2011-05-06 19:24 +0000 [r317805-317837] Russell Bryant * addons/app_mysql.c: Fix a crash in the MySQL() application. This code was not handling channel datastores safely. The channel must be locked. (closes issue #17964) Reported by: wuwu Patches: issue17964_addon_1.6.2_svn.patch uploaded by seanbright (license 71) Tested by: wuwu * contrib/realtime/mysql/sipfriends.sql: Add a new sipfriends.sql for MySQL that has more fields in it. (closes issue #16399) Reported by: pabelanger Patches: sipfriends.sql.v3 uploaded by pabelanger (license 224) 2011-05-06 16:19 +0000 [r317670] Richard Mudgett * channels/chan_sip.c: Fix SIP connected line updates. This patch fixes a couple SIP connected line update problems: 1) The connected line needs to be updated when the initial INVITE is sent if there is a peer callerid configured. Previously, the connected line information did not get reported until the call was connected so SIP could not report connected line information in ringing or progress messages. 2) The connected line should not be updated on initial connect if there is no connected line information. Previously, all it did was wipe out any default preset CONNECTEDLINE information set by the dialplan with empty strings. (closes issue #18367) Reported by: GeorgeKonopacki Patches: issue18367_v1.8.patch uploaded by rmudgett (license 664) Tested by: rmudgett Review: https://reviewboard.asterisk.org/r/1199/ 2011-05-06 08:18 +0000 [r317584] Terry Wilson * apps/app_queue.c, /: Merged revisions 317575 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r317575 | twilson | 2011-05-06 01:04:17 -0700 (Fri, 06 May 2011) | 13 lines Merged revisions 317574 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r317574 | twilson | 2011-05-06 00:55:21 -0700 (Fri, 06 May 2011) | 6 lines Re-fix queue round-robin This part of the change for r315596 was incorrect. No bridge occurs when doing a roundrobin dial and no one answers, so this code shouldn't have been removed. ........ ................ 2011-05-05 23:46 +0000 [r317425-317530] Russell Bryant * Makefile: If the configure script runs, force a rebuild of menuselect-tree. Some contents in the menuselect tree are dependent on configure script parameters, namely --enable-dev-mode. (closes issue #17219) Reported by: Nick_Lewis Patches: issue_17219.rev1.txt uploaded by russell (license 2) * contrib/realtime/mysql/queue_log.sql, contrib/realtime/mysql/sipfriends.sql: Fix some more realtime MySQL schema issues. (closes issue #18537) Reported by: denzs Patches: sipfriends.sql.svndiff uploaded by denzs (license 1182) queue_log.sql.svndiff uploaded by denzs (license 1182) meetme.sql.svndiff uploaded by denzs (license 1182) * contrib/realtime/mysql/sipfriends.sql, contrib/realtime/mysql/meetme.sql: Fix some errors in sample MySQL realtime schema files. (closes issue #18915) Reported by: Dovid Patches: sipfriends.patch uploaded by Dovid (license 652) meetme.patch uploaded by Dovid (license 652) * cdr/cdr_syslog.c: Don't lose cdr_syslog config on a reload. (closes issue #18679) Reported by: enegaard Patches: issue18679_seanbright.patch uploaded by seanbright (license 71) Tested by: enegaard * channels/chan_alsa.c, channels/chan_console.c, channels/chan_oss.c, channels/chan_mgcp.c, channels/misdn_config.c, channels/chan_unistim.c, channels/chan_usbradio.c, channels/chan_dahdi.c, channels/chan_sip.c, channels/chan_skinny.c, channels/chan_h323.c: Fix some consistency issues with jitterbuffer config. Store the defaults noted in the sample config files in the jitterbuffer config data structure. This makes the CLI commands that output these settings show the right thing. Also only show the settings that are relevant in the settings CLI commands, based on which jitterbuffer is selected and whether it's enabled. (closes issue #19083) Reported by: rgagnon Patches: issue-19083-trunk-r313139.diff uploaded by rgagnon (license 1202) * pbx/pbx_lua.c: Add a datastore fixup to fix a pbx_lua crash. (closes issue #19055) Reported by: jamhed Patches: lua_datastore_fixup1.diff uploaded by mnicholson (license 96) Tested by: mnicholson, jamhed * channels/iax2-provision.c, pbx/pbx_dundi.c, channels/chan_console.c, cdr/cdr_radius.c, channels/chan_iax2.c, res/res_jabber.c, res/res_config_sqlite.c, cel/cel_pgsql.c, channels/chan_jingle.c, channels/sip/sdp_crypto.c, res/res_config_odbc.c, channels/chan_sip.c, res/res_crypto.c, pbx/pbx_lua.c: Fix more "set but unused" warnings. * main/dsp.c: Only display inband DTMF warning if inband DTMF detection is enabled. (closes issue #18901) Reported by: irroot * apps/app_rpt.c: Fix potential memory leak, and use of uninitialized memory. (closes issue #16476) Reported by: junky Patches: M16476.diff uploaded by junky (license 177) * main/manager.c: Add missing ActioID handling to Events action. (closes issue #18949) Reported by: edersohe Patches: 0018949.patch uploaded by edersohe (license 1228) 2011-05-05 20:25 +0000 [r317370] Sean Bright * addons/res_config_mysql.c: Don't duplicate our data on the stack and just use the MYSQL_ROW directly. With large result sets we were blowing out the stack. (closes issue #19090) Reported by: mickecarlsson Patches: issue19090_trunk_svn.patch uploaded by seanbright (license 71) Tested by: mickecarlsson 2011-05-05 19:55 +0000 [r317336] Russell Bryant * apps/app_queue.c: Increase buffer size to be PATH_MAX for a path. (closes issue #19239) Reported by: byronclark Patches: queue_announce_length.patch uploaded by byronclark (license 1200) 2011-05-05 19:09 +0000 [r317283] Jonathan Rose * channels/chan_sip.c: Resolves a deadlock that occurs during sip_new This is based on an uncommitted patch by jpeeler for the issue. Instead of relocking and then unlocking the channel though, we keep the lock on the channel until we are finished doing what we need to the channel. (closes issue #18441) Reported by: Alric 2011-05-05 18:39 +0000 [r317280-317281] Russell Bryant * /, channels/chan_sip.c: Merged revisions 317255 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r317255 | russell | 2011-05-05 13:29:53 -0500 (Thu, 05 May 2011) | 22 lines Merged revisions 317211 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r317211 | russell | 2011-05-05 13:20:29 -0500 (Thu, 05 May 2011) | 15 lines chan_sip: fix broken realtime peer count, fix memory leak This patch addresses two bugs in chan_sip: 1) The count of realtime peers and users was off. The increment checked the value of the caching option, while the decrement did not. 2) Add a missing regfree() for a regex. (closes issue #19108) Reported by: vrban Patches: missing_regfree.patch uploaded by vrban (license 756) sip_object_counter.patch uploaded by vrban (license 756) ........ ................ * /: Restore branch-1.6.2-merged and branch-1.6.2-blocked properties. 2011-05-05 18:02 +0000 [r317196] Matthew Nicholson * channels/chan_sip.c: Set SO_KEEPALIVE on SIP TCP sockets so that they eventually go away when a peer abruptly disappears. This mostly occurs after a successful registration. (closes issue #17544) Reported by: marcelloceschia Patches: (modified) tcptls.patch uploaded by st (license 907) 2011-05-05 15:04 +0000 [r317058-317104] Leif Madsen * contrib/scripts/safe_asterisk, /: Merged revisions 317102 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r317102 | lmadsen | 2011-05-05 10:54:46 -0400 (Thu, 05 May 2011) | 8 lines Disable console colourization inside safe_asterisk checks. (closes issue #19213) Reported by: lefoyer Patches: issue19213_strip_color_in_safe_asterisk-svn.patch uploaded by wdoekes (license 717) Tested by: wdoekes, lefoyer ........ * Makefile, configs/cel.conf.sample: Remove unused directory and clear up some documentation. (closes issue #19193) Reported by: bchia Patches: cel-csv.diff uploaded by lathama (license 1028) Tested by: lathama, Marquis42 2011-05-05 02:30 +0000 [r316917-316919] Sean Bright * main/http.c: Use the correct HTTP method when generating our digest, otherwise we always fail. When calculating the 'A2' portion of our digest for verification, we need the HTTP method that is currently in use. Unfortunately our mapping function was incorrect, resulting in invalid hashes being generated and, in turn, failures in authentication. (closes issue #18598) Reported by: ksn * main/utils.c: Look at the correct buffer for our digest info instead of an empty one. (issue #18598) Reported by: ksn * main/manager.c: Make sure that tcptls_session is properly initialized. (issue #18598) Reported by: ksn 2011-05-04 20:50 +0000 [r316874] Alexandr Anikin * addons/ooh323c/src/ooSocket.c: Fix trivial bug in ooSocket.c codes Revert condition for result code of ast_gethostbyname (closes issue #19185) Reported by: dswartz Patches: issue19185-patch uploaded by may213 (license 454) 2011-05-04 18:51 +0000 [r316831] Richard Mudgett * apps/app_meetme.c: Wait for leader with Music On Hold allows crosstalk between participants. Parenthesis in the wrong position. Regression from issue #14365 when expanding conference flags to use 64 bits. (closes issue #18418) Reported by: MrHanMan Tested by: rmudgett 2011-05-04 16:15 +0000 [r316663-316709] Sean Bright * apps/app_voicemail.c, /: Merged revisions 316708 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r316708 | seanbright | 2011-05-04 12:10:59 -0400 (Wed, 04 May 2011) | 15 lines Merged revisions 316707 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r316707 | seanbright | 2011-05-04 12:08:50 -0400 (Wed, 04 May 2011) | 8 lines If sox fails when processing a voicemail, don't delete the original file. (closes issue #18111) Reported by: sysreq Patches: issue18111_trunk.patch uploaded by seanbright (license 71) Tested by: seanbright ........ ................ * main/manager.c: Only return a single error via AMI when requesting a forbidden action. (closes issue #19216) Reported by: oej Patches: issue19216-1.8-r316204.patch uploaded by seanbright (license 71) Tested by: seanbright 2011-05-04 14:25 +0000 [r316617-316650] David Vossel * apps/app_chanspy.c, /: Merged revisions 316644 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r316644 | dvossel | 2011-05-04 09:23:39 -0500 (Wed, 04 May 2011) | 9 lines Fixes one-way-audio when chanspy activated with the 'o' option (closes issue #18382) Reported by: jkister Patches: 0001-Bugfix-18382-one-way-audio-when-chanspy-activated.patch.txt uploaded by malin (license ) Tested by: firstsip, Greenlightcrm, malin, wdoekes, boroda, dvossel ........ * /, channels/chan_sip.c: Merged revisions 316616 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r316616 | dvossel | 2011-05-04 08:40:41 -0500 (Wed, 04 May 2011) | 12 lines Fixes session-timers=refuse not being enforced for *caller* During handle_request_invite, the session timer mode was retrieved from a cached variable. This patch forces a peer lookup of the session timer mode in the case of an incoming invite. (closes issue #18804) Reported by: wdoekes Patches: issue18804_session_timer_refuse_caller.patch uploaded by wdoekes (license 717) issue_18804_v2.diff uploaded by dvossel (license 671) ........ 2011-05-04 02:34 +0000 [r316476] Sean Bright * /, apps/app_meetme.c: Merged revisions 316475 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r316475 | seanbright | 2011-05-03 22:23:01 -0400 (Tue, 03 May 2011) | 10 lines Honor the C option to MeetMe when L is passed. This fixes a case that r304773 and friends missed. (closes issue #17317) Reported by: var Patches: meetme-continue-on-l_16218.diff uploaded by var (license 1227) Tested by: seanbright ........ 2011-05-04 00:12 +0000 [r316429] Tilghman Lesher * addons/cdr_mysql.c, addons/res_config_mysql.c: Escape column names in case they contain illegal characters ('-') or reserved words. (closes issue #19063) Reported by: festr Patches: patch uploaded by festr (license 443) 2011-05-03 22:13 +0000 [r316336] Russell Bryant * pbx/pbx_dundi.c, channels/chan_mgcp.c, channels/chan_skinny.c: Use htons() instead of ntohs() in some places. (closes issue #19200) Reported by: wdoekes Patches: issue19200-trunk.patch uploaded by wdoekes (license 717) issue19200-1.8.x.patch uploaded by wdoekes (license 717) 2011-05-03 22:05 +0000 [r316334] David Vossel * main/channel.c: Fixes framehook segfault on indicate (closes issue #19215) Reported by: irroot Patches: framehook_indicate.patch uploaded by irroot (license 52) 2011-05-03 21:41 +0000 [r316331] Russell Bryant * apps/app_minivm.c: Resolve another warning. 2011-05-03 21:37 +0000 [r316330] David Vossel * channels/chan_local.c, /: Merged revisions 316329 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r316329 | dvossel | 2011-05-03 16:29:55 -0500 (Tue, 03 May 2011) | 17 lines Merged revisions 316328 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r316328 | dvossel | 2011-05-03 16:27:59 -0500 (Tue, 03 May 2011) | 10 lines Fixes chan_local crashs in local_fixup() Thanks OEJ for tracking down the issue and submitting the patch. (closes issue #19053) Reported by: oej Tested by: oej Review: https://reviewboard.asterisk.org/r/1158/ ........ ................ 2011-05-03 19:55 +0000 [r316265] Russell Bryant * res/res_musiconhold.c, apps/app_ices.c, apps/app_followme.c, main/config.c, main/cdr.c, main/channel.c, channels/chan_phone.c, funcs/func_enum.c, main/manager.c, channels/chan_skinny.c, res/res_agi.c, main/plc.c, main/features.c, apps/app_minivm.c, apps/app_amd.c, main/pbx.c, res/res_fax.c, formats/format_wav.c, apps/app_festival.c, channels/chan_agent.c, apps/app_originate.c, apps/app_queue.c, codecs/lpc10/dyptrk.c, include/asterisk/linkedlists.h, main/audiohook.c, pbx/pbx_config.c, main/asterisk.c, main/dsp.c, res/res_calendar.c, apps/app_voicemail.c, main/udptl.c, channels/chan_unistim.c, main/fskmodem_float.c, main/rtp_engine.c: Fix a bunch of compiler warnings generated by gcc 4.6.0. Most of these are -Wunused-but-set-variable, but there were a few others mixed in here, as well. 2011-05-03 19:18 +0000 [r316224] Richard Mudgett * channels/sig_pri.c, channels/chan_dahdi.c, channels/sig_analog.c: The dahdi_hangup() call does not clean up the channel fully. After dahdi_hangup() has supposedly hungup an ISDN channel there is still traffic on the S0-bus because the channel was not cleaned up fully. Shuffled the hangup code to include some missing cleanup. Also fixed some code formatting in the area. I think the primary missing clean up code was the call to tone_zone_play_tone() to turn off any active tones on the channel. (closes issue #19188) Reported by: jg1234 Patches: issue19188_v1.8.patch uploaded by rmudgett (license 664) Tested by: jg1234 2011-05-03 18:59 +0000 [r316215-316217] David Vossel * channels/chan_sip.c: Never put the Require: timer header in an Invite. This has already been discussed and should have been resolved earlier. View revsion 285565's log for more information about why it is important to not put timer in the Require header. (closes issue #18704) Reported by: mfrager * res/res_odbc.c: Fixes a random crash (NULL reference) in res_odbc.c. (closes issue #19180) Reported by: pruiz Patches: tmp.diff uploaded by pruiz (license 1152) Tested by: pruiz, seanbright 2011-05-03 18:17 +0000 [r316206] Sean Bright * main/manager.c: If we aren't interested in events, don't generate the FullyBooted event on AMI login. (closes issue #19089) Reported by: bklang Patches: issue19089-1.8-r316204.patch uploaded by seanbright (license 71) Tested by: seanbright 2011-05-03 10:57 +0000 [r316193] Tzafrir Cohen * autoconf/ast_check_pwlib.m4, configure: Re-fix bashism in ./configure: s/let/$(( ))/ A forward-port in r278985 accidentally re-introduced issue 17485. Fixing it. Thanks to Jilles Tjoelker for the good report. (closes issue #17485) 2011-05-02 19:09 +0000 [r316094] Tilghman Lesher * funcs/func_curl.c, /: Merged revisions 316093 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r316093 | tilghman | 2011-05-02 14:04:36 -0500 (Mon, 02 May 2011) | 8 lines More possible crashes based upon invalid inputs. (closes issue #18161) Reported by: wdoekes Patches: 20110301__issue18161.diff.txt uploaded by tilghman (license 14) Tested by: wdoekes ........ 2011-04-27 19:14 +0000 [r315894] Matthew Nicholson * /, channels/chan_sip.c, channels/sip/reqresp_parser.c: Merged revisions 315893 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r315893 | mnicholson | 2011-04-27 14:03:05 -0500 (Wed, 27 Apr 2011) | 21 lines Merged revisions 315891 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r315891 | mnicholson | 2011-04-27 13:57:56 -0500 (Wed, 27 Apr 2011) | 14 lines Fix our compliance with RFC 3261 section 18.2.2. This change optimizes the free_via() function and removes some redundant null checking. It also fixes compliance with RFC 3261 section 18.2.2 by always using the port specified in the Via header for routing responses (even when maddr is not set). Also the htons() function is now used when setting the port. Additional documentation comments have been added in various places to make the logic in the code clearer. (closes issue #18951) Reported by: jmls Patches: issue18951_set_proper_port_from_via.patch uploaded by wdoekes (license 717) (modified) ........ ................ 2011-04-27 15:55 +0000 [r315810] Russell Bryant * main/asterisk.c: Set the copyright year to 2011 in the startup message. 2011-04-27 12:36 +0000 [r315765] Leif Madsen * sounds/sounds.xml, sounds/Makefile: Enable Russian core sound selection in menuselect. (closes issue #18724) Reported by: pbxware 2011-04-26 22:56 +0000 [r315673] Terry Wilson * /, channels/chan_sip.c: Merged revisions 315672 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r315672 | twilson | 2011-04-26 15:52:25 -0700 (Tue, 26 Apr 2011) | 18 lines Merged revisions 315671 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r315671 | twilson | 2011-04-26 15:47:56 -0700 (Tue, 26 Apr 2011) | 11 lines Make sure unregistering a peer unlinks it from the peer container Instead of mostly copying the code from expire_register, just use the function that "does the right thing". (closes issue #16033) Reported by: kkm Patches: 016033-tilgman-fixed-refcount.diff uploaded by kkm (license 888) Tested by: kkm, tilghman, twilson ........ ................ 2011-04-26 22:14 +0000 [r315645] Richard Mudgett * main/pbx.c: The 'e' special extension fails to trigger in at least two cases. The 'e' extension is a fall back for the 'i', 't', or 'T' extensions if any of them do not exist. Many of the places the 'e' extension was supposed to be invoked fail because the priority was set wrong. There were two places where the 'e' extension was not even checked for fall back. * Made invoke the 'e' extension similarly to the previous 'i', 't', or 'T' extension check and added the 'e' extension as a fall back to the two missing locations. * Prioritized and optimized some hangup tests associated with the 'e' extension. (closes issue #19136) Reported by: kshumard Tested by: rmudgett Review: https://reviewboard.asterisk.org/r/1196/ 2011-04-26 21:39 +0000 [r315644] Terry Wilson * apps/app_queue.c, apps/app_dial.c, /, main/features.c: Merged revisions 315643 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r315643 | twilson | 2011-04-26 14:27:44 -0700 (Tue, 26 Apr 2011) | 25 lines Merged revisions 315596 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r315596 | twilson | 2011-04-26 14:16:10 -0700 (Tue, 26 Apr 2011) | 18 lines Allow transfer loops without allowing forwarding loops We try to avoid the situation where two phones may be forwarded to each other causing an infinite loop by storing each dialed interface in a channel datastore and checking the list before dialing out. This works, but currently breaks situations like A calls B, A transfers B to C, B transfers C to A, and A transfers C to B. Since human interaction is happening here and not an automated forwarding loop, it should be allowed. This patch removes the dialed_interfaces datastore when a call is bridged (a suggestion from the brilliant mmichelson). If a call is being bridged, it should be safe to assume that we aren't stuck in a loop. Since we are now handling this is the bridge code, the previous attempts at handling it in app_dial and app_queue are removed. Review: https://reviewboard.asterisk.org/r/1195/ ........ ................ 2011-04-26 19:32 +0000 [r315503] Tilghman Lesher * include/asterisk/select.h, /: Merged revisions 315502 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r315502 | tilghman | 2011-04-26 14:22:52 -0500 (Tue, 26 Apr 2011) | 21 lines Merged revisions 315501 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r315501 | tilghman | 2011-04-26 14:18:46 -0500 (Tue, 26 Apr 2011) | 14 lines Fix the bounds-checking code. The code that set the bit within the select bitfield was correct, but the bounds-checking code was not. The change to that line uses the new _bitsize macro for clarity. Also, FD_ZERO macro did not zero-out anything but the first word of the bitfield, so this could have caused problems with modules using that macro with the expanded bitfield. (closes issue #18773) Reported by: jamicque Patches: 20110423__issue18773.diff.txt uploaded by tilghman (license 14) Tested by: chris-mac ........ ................ 2011-04-26 18:00 +0000 [r315452] Richard Mudgett * apps/app_dial.c: Add missing set of name valid flag when dialing. 2011-04-26 17:40 +0000 [r315446] Russell Bryant * channels/chan_local.c: chan_local: resolve a deadlock. This patch resolves a fairly complex deadlock that can occur with the combination of chan_local and a dialplan switch, such as dynamic realtime extensions, which pulls autoservice into the picture when doing a dialplan lookup. (closes issue #18818) Reported by: nic Patches: issue18818.patch uploaded by jthurman (license 614) 18818.v1.txt uploaded by russell (license 2) Tested by: nic, jthurman, kterzi, steve-howes, sysreq, IshMalik 2011-04-26 02:18 +0000 [r315394] Paul Belanger * pbx/pbx_config.c, /: Merged revisions 315393 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r315393 | pabelanger | 2011-04-25 22:17:43 -0400 (Mon, 25 Apr 2011) | 7 lines Add back CLI command 'dialplan save' (closes issue #19140) Reported by: lmadsen Patches: __20110419_dialplan_save.patch.txt uploaded by lmadsen (license 10) ........ 2011-04-25 21:49 +0000 [r315349] Richard Mudgett * channels/chan_mgcp.c: When using MGCP realtime gateway definitions, random crashes occur. Fixed incorrect linked list node removal for realtime gateways. (closes issue #18291) Reported by: nahuelgreco Patches: dangling-pointers-when-pruning.patch uploaded by nahuelgreco (license 162) 2011-04-25 19:37 +0000 [r315213-315259] Russell Bryant * /, formats/format_wav.c: Merged revisions 315258 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r315258 | russell | 2011-04-25 14:31:44 -0500 (Mon, 25 Apr 2011) | 17 lines Merged revisions 315257 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r315257 | russell | 2011-04-25 14:28:41 -0500 (Mon, 25 Apr 2011) | 10 lines Be more flexible with unknown chunks in wav files. This patch makes format_wav ignore unknown chunks instead of erroring out on them. (closes issue #18306) Reported by: jhirsch Patches: wav_skip_unknown_blocks.diff uploaded by jhirsch (license 1156) ........ ................ * /, channels/chan_sip.c: Merged revisions 315212 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r315212 | russell | 2011-04-25 14:00:24 -0500 (Mon, 25 Apr 2011) | 7 lines Don't link non-cached realtime peers into the peers_by_ip container. (closes issue #18924) Reported by: wdoekes Patches: issue18924_uncached_realtime_peers_leak-1.6.2.17.patch uploaded by wdoekes (license 717) ........ 2011-04-25 07:14 +0000 [r315053] Alec L Davis * channels/chan_local.c, /: Merged revisions 315052 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r315052 | alecdavis | 2011-04-25 19:11:12 +1200 (Mon, 25 Apr 2011) | 16 lines Merged revisions 315051 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r315051 | alecdavis | 2011-04-25 19:06:29 +1200 (Mon, 25 Apr 2011) | 11 lines chan_local:check_bridge() misplaced misplaced ast_mutex_unlock if !p->chan->_bridge->_softhangup path isn't followed, brigde remains locked. (closes issue #19176) Reported by: alecdavis Patches: bug19176.diff.txt uploaded by alecdavis (license 585) ........ ................ 2011-04-22 22:59 +0000 [r315001] Alec L Davis * channels/chan_dahdi.c: chan_dahdi: Can't return to normal ring after distinctive ring on FXS clear a previous distinctivering pattern before each new call (closes issue #18985) Reported by: bromont Patches: bug18985.diff.txt uploaded by alecdavis (license 585) Tested by: alecdavis, bromont 2011-04-22 21:20 +0000 [r314959] Matthew Nicholson * /, channels/chan_agent.c: Merged revisions 314958 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r314958 | mnicholson | 2011-04-22 15:49:45 -0500 (Fri, 22 Apr 2011) | 17 lines Merged revisions 311203,314908 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r311203 | mnicholson | 2011-03-17 14:14:37 -0500 (Thu, 17 Mar 2011) | 4 lines Don't hold the pvt lock while streaming a file. ABE-2756 ........ r314908 | mnicholson | 2011-04-22 15:01:48 -0500 (Fri, 22 Apr 2011) | 4 lines Prevent the login thread and the app threads from using the asterisk channel at the same time. ABE-2756 ........ ................ 2011-04-22 14:02 +0000 [r314780] Russell Bryant * /, res/res_agi.c: Merged revisions 314778 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r314778 | russell | 2011-04-22 08:58:03 -0500 (Fri, 22 Apr 2011) | 11 lines Initialize buffers in getvar and getvarfull. Initialize the buffers used to hold the result from GET VARIABLE or GET VARIABLE FULL. The bug report shows func_read returning garbage in the result. It assumed that the buffer passed in was initialized, like many other functions do. In the more common code path (through the dialplan), it is initialized, so just initialize it here too. (closes issue #19050) Reported by: johnz ........ 2011-04-22 13:59 +0000 [r314779] Tzafrir Cohen * res/res_fax_spandsp.c, channels/chan_unistim.c: Fix a few typos (shown by Lintian) 2011-04-22 13:35 +0000 [r314777] Russell Bryant * /: Recorded merge of revisions 314776 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r314776 | russell | 2011-04-22 08:35:22 -0500 (Fri, 22 Apr 2011) | 10 lines Fix handling of some call parking config options. This patch adjusts the handling of some call parking config options to fix some issues that have already been addressed in 1.8 and trunk. (closes issue #19167) Reported by: bluecrow76 Patches: asterisk-1.6.2.17.2-fix-build-parkinglot-parked-AST_FEATURE_FLAGS.diff uploaded by bluecrow76 (license 270) ........ 2011-04-21 22:38 +0000 [r314732] Richard Mudgett * channels/chan_dahdi.c: Correct DAHDIShowChannels XML documentation. 2011-04-21 18:24 +0000 [r314628] Matthew Nicholson * configs/sip.conf.sample, configs/skinny.conf.sample, channels/sip/include/sip.h, configs/http.conf.sample, main/manager.c, /, channels/chan_sip.c, channels/chan_skinny.c, main/http.c: Merged revisions 314620 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r314620 | mnicholson | 2011-04-21 13:22:19 -0500 (Thu, 21 Apr 2011) | 20 lines Merged revisions 314607 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r314607 | mnicholson | 2011-04-21 13:19:21 -0500 (Thu, 21 Apr 2011) | 14 lines Added limits to the number of unauthenticated sessions TCP based protocols are allowed to have open simultaneously. Also added timeouts for unauthenticated sessions where it made sense to do so. Unrelated, the manager interface now properly checks if the user has the "system" privilege before executing shell commands via the Originate action. AST-2011-005 AST-2011-006 (closes issue #18787) Reported by: kobaz (related to issue #18996) Reported by: tzafrir ........ ................ 2011-04-21 00:23 +0000 [r314550] Terry Wilson * /, channels/chan_sip.c: Merged revisions 314549 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r314549 | twilson | 2011-04-20 17:17:34 -0700 (Wed, 20 Apr 2011) | 6 lines Don't allocate more space than necessary for a sip_pkt This extra allocation is a hold-over from when pkt->data was a character array. Now that it is an allocated string, just allocate enough for the sip_pkt. ........ 2011-04-20 16:54 +0000 [r314417] Richard Mudgett * include/asterisk/frame.h: AST_CONTROL_XXX comment changes. 2011-04-20 05:25 +0000 [r314358] Terry Wilson * main/lock.c: Initialize track pointer ast_reentrancy_init checks to see if it is NULL before initializing with calloc 2011-04-19 15:42 +0000 [r314203-314251] Leif Madsen * main/tcptls.c: Use SSLv23_client_method instead of old SSLv2 only. (closes issue #19095) (closes issue #19138) Reported by: tzafrir Patches: no_ssl2.diff uploaded by tzafrir (license 46) Tested by: russell, chazzam * /, funcs/func_channel.c: Merged revisions 314205 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r314205 | lmadsen | 2011-04-19 09:27:50 -0500 (Tue, 19 Apr 2011) | 6 lines Remove duplicate documentation from func_channel.c (closes issue #18970) Reported by: IgorG Patches: func_channel.c.doc.diff uploaded by IgorG (license 20) ........ * apps/app_dial.c, /: Merged revisions 314202 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r314202 | lmadsen | 2011-04-19 09:23:39 -0500 (Tue, 19 Apr 2011) | 7 lines Update seconds to milliseconds in ast_verb output. (closes issue #19084) Reported by: smurfix Patches: app_dial.patch uploaded by smurfix (license 547) Tested by: lmadsen, smurfix ........ 2011-04-18 16:10 +0000 [r314068-314069] Richard Mudgett * res/res_agi.c: The AsyncAGI command loop is lax in the value it returns for the return status. * Return correct status: SUCCESS/FAILED/HANGUP. Previously, abnormal exits from the command loop such as hangup would return SUCCESS. * The "asyncagi break" command now returns SUCCESS and is now the only way to break the command loop with that status. Previously, it returned FAILED. * The AMI event AsyncAGI End is no longer sent if the AsyncAGI Start event is not sent. Previously, this happened because of an error setting up the AGI pipes. * All executed AGI commands now get an AsyncAGI Exec result event. Previously, if the command returned failure (because of hangup), the command loop just exited with FAILURE and did not send the AsyncAGI Exec result event. * Makes sure that the channel frame queue is empty on hangup. Review: https://reviewboard.asterisk.org/r/1183/ * apps/app_dial.c: Unclear code in app_dial.c. Make code formatting clear. (closes issue #19134) Reported by: oej 2011-04-18 15:23 +0000 [r314017-314067] David Vossel * channels/chan_sip.c: Remove the need for deadlock avoidance in chan_sip do_monitor. Deadlock avoidance between the sip pvt and the pvt->owner is very difficult. Now that channel's are ao2 objects, this complication is no longer necessary. It turns out the pvt's msg queue only exists because of deadlock avoidance (when deadlock avoidance fails msgs were added to a queue to be processed later), so this goes away as well. The technique used in the new sip_lock_pvt_full() function should be used as a template for replacing all locations where deadlock avoidance occurs between a channel tech_pvt and the pvt's owner. My hope is that this will begin a reversal of the invalid channel driver locking architecture we have been using for so long. This patch also resolves an issue where the pvt->owner gets unlocked during processing the msg queue. (closes issue #18690) Reported by: dvossel Review: https://reviewboard.asterisk.org/r/1182/ * include/asterisk/rtp_engine.h, main/rtp_engine.c, channels/chan_sip.c: sip codec negotiation of dynamic rtp payloads error fix This patch fixes how chan_sip handles dynamic rtp payload types it does not understand. At the moment if a dynamic payload's mime type does not match one we understand, the payload does not get removed from our payload table. As a result of this, the payload is set to whatever dynamic codec we use internally for that payload number on outgoing INVITES. This is incorrect. This patch fixes this by properly checking the rtpmap set function's return code to make sure it was found. The function can return both -1 and -2 depending on the source of the mismatch. We were just checking -1 explicitly. Review: https://reviewboard.asterisk.org/r/1169/ 2011-04-15 15:08 +0000 [r313860] Jonathan Rose * main/cli.c, /: Merged revisions 313859 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r313859 | jrose | 2011-04-15 09:58:37 -0500 (Fri, 15 Apr 2011) | 10 lines Fix a Tab Completion bug that occurs due to multiple matches on a substring. Makes word_match function in cli.c repeat a search for a command string until a proper match is found or the string is searched to the last point. (closes issue #17494) Reported by: ffossard Review: https://reviewboard.asterisk.org/r/1180/ ........ 2011-04-14 20:59 +0000 [r313517-313780] Richard Mudgett * channels/chan_dahdi.c: Leftover debug messages unconditionally sent to the console. Executing Dial(DAHDI/1/18475551212,300,) with the echotraining config option enabled outputs the following debug messages unconditionally: Dialing T1847555121 on 1 Dialing www2w on 1 * Made debug messages in my_dial_digits() normal debug messages that do not get output unless enabled. * Reworded some debug messages in my_dial_digits() to be clearer. * Replace strncpy() with ast_copy_string() in my_dial_digits() which does the same job better. (closes issue #18847) Reported by: vmikhelson Tested by: rmudgett * res/res_agi.c: Revert flushing stale AsyncAGI commands from -r313615. It looks like it was intentional to leave any commands or in-flight commands in the queue in case Async AGI is run again on the call. * res/res_agi.c: Miscellaneous AGI diagnostic message cleanup and code optimization. * res/res_agi.c: * Add missing channel lock to handle_cli_agi_add_cmd(). * Flush any Async AGI commands left over from earlier Async AGI control of the call. * main/channel.c, /, res/res_agi.c: Merged revisions 313579 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r313579 | rmudgett | 2011-04-13 11:29:49 -0500 (Wed, 13 Apr 2011) | 48 lines Merged revisions 313545 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r313545 | rmudgett | 2011-04-13 11:21:24 -0500 (Wed, 13 Apr 2011) | 41 lines Asterisk does not hangup a channel after endpoint hangs up. If the call that the dialplan started an AGI script for is hungup while the AGI script is in the middle of a command then the AGI script is not notified of the hangup. There are many AGI Exec commands that this can happen with. The reported applications have been: Background, Wait, Read, and Dial. Also the AGI Get Data command. * Don't wait on the Asterisk channel after it has hung up. The channel is likely to never need servicing again. * Restored the AGI script's ability to return the AGI_RESULT_HANGUP value in run_agi(). It previously only could return AGI_RESULT_SUCCESS or AGI_RESULT_FAILURE after the DeadAGI and AGI applications were merged. (closes issue #17954) Reported by: mn3250 Patches: issue17954_v1.8.patch uploaded by rmudgett (license 664) issue17954_v1.6.2.patch uploaded by rmudgett (license 664) issue17954_v1.4.patch uploaded by rmudgett (license 664) Tested by: rmudgett JIRA SWP-2171 (closes issue #18492) Reported by: devmod Tested by: rmudgett JIRA SWP-2761 (closes issue #18935) Reported by: nvitaly Tested by: astmiv, rmudgett JIRA SWP-3216 (closes issue #17393) Reported by: siby Tested by: rmudgett JIRA SWP-2727 Review: https://reviewboard.asterisk.org/r/1165/ ........ ................ * apps/app_dumpchan.c: Bring the dumpchan application inline with "core show channel". * Added fields that are in "core show channel" to dumpchan output. * Fixed reuse of formatbuf before the previous string stored there was used by snprintf. All output strings now have their own buffer. * Adjusted the buffer sizes to not be so abusive of the stack now that there are more buffers. Change requested by oej. 2011-04-12 18:47 +0000 [r313434-313436] Jonathan Rose * channels/chan_dahdi.c, /: fixing stupid mistake with putting code before variable declaration ........ Merged revisions 313435 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r313432 | jrose | 2011-04-12 13:12:29 -0500 (Tue, 12 Apr 2011) | 14 lines reload Chan_dahdi memory leak caused by variables chan_dahdi reloading with variables set via setvar in chan_dahdi.conf would stay in the dahdi_pvt structs for individual channels (causing them to just continue adding the new ones to the list) and also there was a memory leak causes by the conf objects. This patch resolves both of these by using ast_variables_destroy during the loading process. (closes issue #17450) Reported by: nahuelgreco Patches: patch.diff uploaded by jrose (license 1225) Tested by: tilghman, jrose Review: https://reviewboard.asterisk.org/r/1170/ ........ ........ * channels/chan_dahdi.c, /: Merged revisions 313432 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r313432 | jrose | 2011-04-12 13:12:29 -0500 (Tue, 12 Apr 2011) | 14 lines reload Chan_dahdi memory leak caused by variables chan_dahdi reloading with variables set via setvar in chan_dahdi.conf would stay in the dahdi_pvt structs for individual channels (causing them to just continue adding the new ones to the list) and also there was a memory leak causes by the conf objects. This patch resolves both of these by using ast_variables_destroy during the loading process. (closes issue #17450) Reported by: nahuelgreco Patches: patch.diff uploaded by jrose (license 1225) Tested by: tilghman, jrose Review: https://reviewboard.asterisk.org/r/1170/ ........ 2011-04-11 23:08 +0000 [r313366-313369] Richard Mudgett * apps/app_dial.c: Frames from the inbound channel should go to all outbound channels in app_dial.c. In app_dial.c:wait_for_answer() frames from the inbound channel should be sent to all outbound channels instead of only if there is just one outbound channel. Control frames like AST_CONTROL_CONNECTED_LINE need to be passed to all of the the outbound channels. This can happen if a blond transfer is done by a remote switch on the inbound channel. JIRA AST-443 JIRA SWP-2730 * apps/app_dial.c: Backport a restructuring change from trunk to make the next change stand out. * main/cli.c: Added "Connected Line ID" and "Connected Line ID Name" to "core show channel" output. 2011-04-11 19:36 +0000 [r313279] Leif Madsen * /, configure, include/asterisk/autoconfig.h.in, configure.ac: Merged revisions 313278 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r313278 | lmadsen | 2011-04-11 14:33:03 -0500 (Mon, 11 Apr 2011) | 14 lines Merged revisions 313277 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r313277 | lmadsen | 2011-04-11 14:30:20 -0500 (Mon, 11 Apr 2011) | 6 lines Fix detection of OpenSSL 1.0 (closes issue #19093) Reported by: tzafrir Patches: detect_openssl_10.diff uploaded by tzafrir (license 46) ........ ................ 2011-04-11 15:40 +0000 [r313190] Richard Mudgett * channels/chan_dahdi.c, channels/sig_analog.c, /: Merged revisions 313189 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r313189 | rmudgett | 2011-04-11 10:32:53 -0500 (Mon, 11 Apr 2011) | 32 lines Merged revisions 313188 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r313188 | rmudgett | 2011-04-11 10:27:52 -0500 (Mon, 11 Apr 2011) | 25 lines Stuck channel using FEATD_MF if caller hangs up at the right time. The cause was actually a caller hanging up just at the end of the Feature Group D DTMF tones that setup the call. The reason for this is a "guard timer" that's implemented using ast_safe_sleep(100). If the caller happens to hang up AFTER the final tone of the DTMF string but BEFORE the end of that ast_safe_sleep(), then ast_safe_sleep() will return non-zero. This causes the code to bounce to the end of ss_thread(), but it does NOT tear down the call properly. This should be a rare occurrence because the caller has to hang up at EXACTLY the right time. Nonetheless, it was happening quite regularly on the reporter's system. It's not easily reproducible, unless you purposely increase the guard-time to 2000 or more. Once you do that, you can reproduce it every time by watching the DTMF debug and hanging up just as it ends. Simply add an ast_hangup() before goto quit. (closes issue #15671) Reported by: jcromes Patches: issue15671.patch uploaded by pabelanger (license 224) Tested by: jcromes ........ ................ 2011-04-09 20:56 +0000 [r313142] Alexandr Anikin * addons/chan_ooh323.c: fix trivial bug in ooh323_indicate on AST_CONTROL_SRC... check p->rtp is not null 2011-04-07 13:35 +0000 [r313048] Jonathan Rose * /, main/features.c: Merged revisions 313047 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r313047 | jrose | 2011-04-07 08:23:01 -0500 (Thu, 07 Apr 2011) | 9 lines Makes parking lots clear and rebuild properly when features reload is invoked from CLI Before, default parkinglot in context parkedcalls with ext 700 would always be present and when reload was invoked, the previous parkinglots would not be cleared. (closes issue #18801) Reported by: mickecarlsson Review: https://reviewboard.asterisk.org/r/1161/ ........ 2011-04-07 10:24 +0000 [r313001-313002] Alec L Davis * apps/app_voicemail.c: app_voicemail: close_mailbox change LOG_WARNING to LOG_NOTICE * channels/sig_pri.c: Fix ISDN calling subaddr User Specified Odd/Even Flag Calculation of the Odd/Even flag was wrong. Implement correct algo, and set odd/even=0 if data would be truncated. Only allow automatic calculation of the O/E flag, don't let dialplan influence. (closes issue #19062) Reported by: festr Patches: bug19062.diff2.txt uploaded by alecdavis (license 585) Tested by: festr, alecdavis, rmudgett 2011-04-05 18:45 +0000 [r312866-312949] Richard Mudgett * channels/sig_pri.c, channels/sig_pri.h, channels/chan_dahdi.c: Crash if ISDN span layer 1 is down on initial load. Regression from -r312575 B channel shifting during negotiation. * Also combine updating the alarm flag with clearing the resetting flag. * channels/chan_sip.c: Add 416 response to OPTIONS packet. RFC3261 Section 11.2 says the response code to an OPTIONS packet needs to be the same as if it were an INVITE. * channels/chan_sip.c: Responding to OPTIONS packet with 404 because Asterisk not looking for "s" extension. The get_destination() function was not using the "s" extension when the request URI did not specify an extension. This is a regression caused when the URI parsing code was extracted into parse_uri(). Made get_destination() substitute the "s" extension when the parsed URI results in an empty string. (closes issue #18348) Reported by: shmaize Patches: issue18348_v1.8.patch uploaded by rmudgett (license 664) Tested by: shmaize 2011-04-05 14:14 +0000 [r312766] Matthew Nicholson * configs/manager.conf.sample, main/manager.c, /: Merged revisions 312764 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r312764 | mnicholson | 2011-04-05 09:13:07 -0500 (Tue, 05 Apr 2011) | 15 lines Merged revisions 312761 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r312761 | mnicholson | 2011-04-05 09:10:34 -0500 (Tue, 05 Apr 2011) | 8 lines Limit the number of unauthenticated manager sessions and also limit the time they have to authenticate. AST-2011-005 (closes issue #18996) Reported by: tzafrir Tested by: mnicholson ........ ................ 2011-04-05 14:13 +0000 [r312765] Jonathan Rose * /, apps/app_meetme.c: Merged revisions 312762 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r312762 | jrose | 2011-04-05 09:11:36 -0500 (Tue, 05 Apr 2011) | 1 line Backporting trunk change to add verbosity to 'L' option in meetme ........ 2011-04-04 16:10 +0000 [r312575] Richard Mudgett * channels/sig_pri.c, channels/sig_pri.h, channels/chan_dahdi.c, /: Merged revisions 312574 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r312574 | rmudgett | 2011-04-04 11:00:02 -0500 (Mon, 04 Apr 2011) | 45 lines Merged revisions 312573 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r312573 | rmudgett | 2011-04-04 10:49:30 -0500 (Mon, 04 Apr 2011) | 38 lines Issues with ISDN calls changing B channels during call negotiations. The handling of the PROCEEDING message was not using the correct call structure if the B channel was changed. (The same for PROGRESS.) The call was also not hungup if the new B channel is not provisioned or is busy. * Made all call connection messages (SETUP_ACKNOWLEDGE, PROCEEDING, PROGRESS, ALERTING, CONNECT, CONNECT_ACKNOWLEDGE) ensure that they are using the correct structure and B channel. If there is any problem with the operations then the call is now hungup with an appropriate cause code. * Made miscellaneous messages (INFORMATION, FACILITY, NOTIFY) find the correct structure by looking for the call and not using the channel ID. NOTIFY is an exception with versions of libpri before v1.4.11 because a call pointer is not available for Asterisk to use. * Made all hangup messages (DISCONNECT, RELEASE, RELEASE_COMPLETE) find the correct structure by looking for the call and not using the channel ID. (closes issue #18313) Reported by: destiny6628 Tested by: rmudgett JIRA SWP-2620 (closes issue #18231) Reported by: destiny6628 Tested by: rmudgett JIRA SWP-2924 (closes issue #18488) Reported by: jpokorny JIRA SWP-2929 JIRA AST-437 (The issues fixed here are most likely causing this JIRA issue.) JIRA DAHDI-406 JIRA LIBPRI-33 (Stuck resetting flag likely fixed) ........ ................ 2011-04-01 23:15 +0000 [r312461-312509] Richard Mudgett * channels/chan_misdn.c: When a call going out an NT-PTMP port gets rejected, Asterisk crashes. If a call is sent to an ISDN phone that rejects the call with RELEASE_COMPLETE(cause: call reject(21), or busy(17)) Asterisk crashes. I could not get my setup to crash. However, I could see the possibility from a race condition between queuing an AST_CONTROL_BUSY to the core and then queueing an AST_CONTROL_HANGUP. If the AST_CONTROL_BUSY is processed before the AST_CONTROL_HANGUP is queued, the ast_channel could be destroyed out from under chan_misdn. Avoid this particular crash scenario by not queueing the AST_CONTROL_HANGUP if the AST_CONTROL_BUSY was queued. (closes issue #18408) Reported by: wimpy Patches: issue18408_v1.8.patch uploaded by rmudgett (license 664) Tested by: rmudgett, wimpy JIRA SWP-2679 * main/ccss.c: CallCompletionRequest()/CallCompletionCancel() exit non-zero if fail. The CallCompletionRequest()/CallCompletionCancel() dialplan applications exit nonzero on normal failure conditions. The nonzero exit causes the dialplan to hangup immediately. The dialplan author has no opportunity to report success/failure to the user. * Made always return zero so the dialplan can continue. * Made set CC_REQUEST_RESULT/CC_REQUEST_REASON and CC_CANCEL_RESULT/CC_CANCEL_REASON channel variables respectively. Also documented the values set. * Reduced the warning about no core instance in CallCompletionCancel() to a debug message. It is a normal event and should not be output at the WARNING level. (closes issue #18763) Reported by: p_lindheimer Patches: ccss.patch uploaded by p lindheimer (license 558) Modified Tested by: p_lindheimer, rmudgett JIRA SWP-3042 2011-04-01 10:58 +0000 [r312286-312288] Tilghman Lesher * main/asterisk.c, include/asterisk/select.h, /: Merged revisions 312287 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r312287 | tilghman | 2011-04-01 05:51:24 -0500 (Fri, 01 Apr 2011) | 14 lines Merged revisions 312285 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r312285 | tilghman | 2011-04-01 05:36:42 -0500 (Fri, 01 Apr 2011) | 7 lines Found some leaking file descriptors while looking at ast_FD_SETSIZE dead code. (issue #18969) Reported by: oej Patches: 20110315__issue18969__14.diff.txt uploaded by tilghman (license 14) ........ ................ * addons/cdr_mysql.c: Reload must react correctly against a possibly changed table, so dropping the conditional reload flag. 2011-04-01 09:03 +0000 [r312117-312211] Alec L Davis * apps/app_voicemail.c, /: Merged revisions 312210 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r312210 | alecdavis | 2011-04-01 21:47:29 +1300 (Fri, 01 Apr 2011) | 29 lines Merged revisions 312174 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r312174 | alecdavis | 2011-04-01 21:29:49 +1300 (Fri, 01 Apr 2011) | 23 lines voicemail: get real last_message_index and count_messages, ODBC resequence change last_message_index to read the max msgnum stored in the database change count_messages to actually count the number of messages. last_message_index change: This fixed overwriting of the last message if msgnum=0 was missing. Previously every incoming message would overwrite msgnum=1. count_messages change: allows us to detect when requencing is required in opneA_mailbox. resequence enabled for ODBC storage: Assists with fixing up corrupt databases with gaps, but only when a user actively opens there mailboxes. (closes issue #18692,#18582,#19032) Reported by: elguero Patches: based on odbc_resequence_mailbox2.1.diff uploaded by elguero (license 37) Tested by: elguero, nivek, alecdavis Review: https://reviewboard.asterisk.org/r/1153/ ........ ................ * apps/app_voicemail.c, /: Merged revisions 312103 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r312103 | alecdavis | 2011-04-01 20:25:54 +1300 (Fri, 01 Apr 2011) | 22 lines Merged revisions 312070 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r312070 | alecdavis | 2011-04-01 19:46:56 +1300 (Fri, 01 Apr 2011) | 16 lines app_voicemail: close_mailbox needs to respect additional messages while mailbox is open. close_mailbox leave gaps in message sequence if messages are deleted and new messages arrive during this time, this is because the shuffle down to slot 0, only shuffles the number of pre-existing messages when mailbox is opened, ignoring new arrivals. Fix: in close_mailbox re-evaluate number of messages before the shuffle, this then includes new arrivals. Happens on filebased or ODBC storage. (issues #19032,#18582,#18692,#18998) Reported by: alecdavis,tootai,afosorio Review: https://reviewboard.asterisk.org/r/1153/ ........ ................ 2011-03-31 20:11 +0000 [r312022] Richard Mudgett * channels/chan_misdn.c: chan_misdn segfaults when DEBUG_THREADS is enabled. The segfault happens because jb->mutexjb is uninitialized from the ast_malloc(). The internals of ast_mutex_init() were assuming a nonzero value meant mutex tracking initialization had already happened. Recent changes to mutex tracking code to reduce excessive memory consumption exposed this uninitialized value. Converted misdn_jb_init() to use ast_calloc() instead of ast_malloc(). Also eliminated redundant zero initialization code in the routine. (closes issue #18975) Reported by: irroot 2011-03-31 06:43 +0000 [r311930] Tilghman Lesher * configs/cdr_mysql.conf.sample: Incorrect default example; the field is actually internally named "clid", not "callerid". (closes issue #19040) Reported by: wcselby Tested by: tilghman 2011-03-30 01:56 +0000 [r311874] Richard Mudgett * channels/chan_dahdi.c: Update some setup_dahdi_int() comments. 2011-03-29 07:08 +0000 [r311799] Tilghman Lesher * cel/cel_odbc.c: Remove extraneous check from integer-type fields. (closes issue #19027) Reported by: mlehner Review: https://reviewboard.asterisk.org/r/1149/ 2011-03-28 22:00 +0000 [r311751] Russell Bryant * apps/app_voicemail.c: Cross-reference VoiceMail() and VoiceMailMain() in the xml docs. 2011-03-27 21:47 +0000 [r311687] Alexandr Anikin * addons/chan_ooh323.c: correct return values in ooh323_indicate for AST_CONTROL_T38_PARAMETERS 2011-03-23 21:54 +0000 [r311612-311615] Brett Bryant * apps/app_meetme.c: This patch fixes a bug with MeetMe behavior where the 'P' option for always prompting for a pin is ignored for the first caller. (closes issue #18070) Reported by: mav3rick Review: https://reviewboard.asterisk.org/r/1132/ * channels/sip/reqresp_parser.c: Fix a possible crash in sip/reqresp_parser.c that is caused by a possible null value. (closes issue #18821) Reported by: cmaj Patches: patch-reqresp_parser_sip_uri_domain_cmp_c_locale-crash-1.8.3-rc2.diff.tx uploaded by cmaj (license 830) 2011-03-23 02:24 +0000 [r311558] Terry Wilson * channels/sip/reqresp_parser.c: Don't use static declared buf in parse_name_andor_addr This function isn't used anywhere yet, but we definitely don't want to keep the same value for buf between calls to the function. 2011-03-22 15:25 +0000 [r311497] David Vossel * /, apps/app_meetme.c: Merged revisions 311496 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r311496 | dvossel | 2011-03-22 10:24:45 -0500 (Tue, 22 Mar 2011) | 2 lines Fixes memory leak in MeetMe AMI action ........ 2011-03-18 16:19 +0000 [r311352] Jonathan Rose * res/res_jabber.c, channels/chan_sip.c, res/res_fax.c: Changes some print statements/events to use a blank string in place of NULL if the string in question is NULL. This is supposed to improve Solaris compatibility since Solaris goes berserk when trying to output NULL strings. (closes issue #18759) Reported by: bklang Patches: null-strings.patch uploaded by bklang (license 919) 2011-03-18 16:02 +0000 [r311342] Matthew Nicholson * res/res_fax.c: Properly populate the LOCALSTATIONID channel variable. 2011-03-18 02:59 +0000 [r311295-311297] Richard Mudgett * channels/sig_pri.c: Race condition when ISDN CallRerouting/CallDeflection invoked. The queued AST_CONTROL_BUSY could sometimes be processed before the call_forward dial string is recognized. * Moved setting the call_forwarding dial string after sending a response to the initiator and just queue an empty frame to wake up the media thread instead of an AST_CONTROL_BUSY. * Added check for empty rerouting/deflection number and respond with an error. * apps/app_dial.c: Merged revision 310986 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier .......... r310986 | rmudgett | 2011-03-16 13:56:28 -0500 (Wed, 16 Mar 2011) | 28 lines Dial() o option broke when connected line feature added. The patch restores the o option behavior and adds the ability to specify the CallerID. The Dial o and f options are complementary to each other. The o option stores the CallerID on the outgoing channel as the channel's CallerID. The f option forces the CallerID sent by the outgoing channel. o(x) - The argument 'x' is optional. If not present, then specify that the CallerID that was present on the *calling* channel be stored as the CallerID on the *called* channel. This was the behavior of Asterisk 1.0 and earlier. If present, then specify the CallerID stored on the *called* channel. Note that o(${CALLERID(all)}) is similar to option o without parameters. f(x) - The argument 'x' is optional and its presence changes the behavior of this option. If not present, then force the outgoing CallerID on a call-forward or deflection to the dialplan extension for this Dial() using a dialplan 'hint'. For example, some PSTNs do not allow CallerID to be set to anything other than the numbers assigned to you. If present, then force the outgoing CallerID to 'x'. Patches: jira_abe_2752_dial_fo_options.patch uploaded by rmudgett (license 664) Tested by: rmudgett JIRA ABE-2752 JIRA SWP-3096 .......... 2011-03-17 19:03 +0000 [r311197] Jonathan Rose * apps/app_chanspy.c: This fixes a nasty chanspy bug which was causing a channel leak every time a spied on channel made a call. In addition to the above, it makes certain channel destruction occurs so that applications don't get stuck waiting for datastore destruction while monitored by chanspy. (closes issue #18742) Reported by: jkister Tested by: jkister, jcovert, jrose Review: http://reviewboard.digium.internal/r/106/ 2011-03-17 15:00 +0000 [r311141] Matthew Nicholson * main/manager.c, /: Merged revisions 311140 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r311140 | mnicholson | 2011-03-17 09:58:52 -0500 (Thu, 17 Mar 2011) | 4 lines Don't write items to the manager socket twice. AST-2011-003 (closes issue 0018987) Reported by: ks-steven ........ 2011-03-17 10:49 +0000 [r311050] Alec L Davis * /, configs/indications.conf.sample: Merged revisions 311049 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r311049 | alecdavis | 2011-03-17 23:45:47 +1300 (Thu, 17 Mar 2011) | 17 lines Merged revisions 311048 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r311048 | alecdavis | 2011-03-17 23:43:35 +1300 (Thu, 17 Mar 2011) | 12 lines Remove extra quote in indications.conf Picking low hanging fruit. (closes issue #18971) Reported by: IgorG Patches: based on indications.conf.sample.diff uploaded by IgorG (license 20) Tested by: IgorG ........ ................ 2011-03-16 19:47 +0000 [r310902-310999] Terry Wilson * main/tcptls.c, /: Merged revisions 310998 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r310998 | twilson | 2011-03-16 14:46:36 -0500 (Wed, 16 Mar 2011) | 11 lines Fix crash on fdopen failure See security advisory AST-2011-004 (closes issue #18845) Reported by: cmaj Patches: patch-main-tcptls-1.8.3-rc2-open-session-crash-take2.diff.txt uploaded by cmaj (license 830) patch-main-tcptls-1.8.3-rc2-open-session-crash-take3.diff.txt uploaded by cmaj (license 830) Tested by: cmaj, twilson ........ * main/manager.c, /: Merged revisions 310992 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r310992 | twilson | 2011-03-16 14:23:03 -0500 (Wed, 16 Mar 2011) | 4 lines Don't keep trying to write to a closed connection See security advisory AST-2011-003. ........ * /, main/features.c: Merged revisions 310889 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r310889 | twilson | 2011-03-16 12:03:27 -0500 (Wed, 16 Mar 2011) | 36 lines Merged revisions 310888 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r310888 | twilson | 2011-03-16 11:58:42 -0500 (Wed, 16 Mar 2011) | 29 lines Don't delay DTMF in core bridge while listening for DTMF features This patch is mostly the work of Olle Johansson. I did some cleanup and added the silence generating code if transmit_silence is set. When a channel listens for DTMF in the core bridge, the outbound DTMF is not sent until we have received DTMF_END. For a long DTMF, this is a disaster. We send 4 seconds of DTMF to Asterisk, which sends no audio for those 4 seconds. Some products see this delay and the time skew on RTP packets that results and start ignoring the audio that is sent afterward. With this change, the DTMF_BEGIN frame is inspected and checked. If it matches a feature code, we wait for DTMF_END and activate the feature as before. If transmit_silence=yes in asterisk.conf, silence is sent if we paritally match a multi-digit feature. If it doesn't match a feature, the frame is forwarded along with the DTMF_END without delay. By doing it this way, DTMF is not delayed. (closes issue #15642) Reported by: jasonshugart Patches: issue_15652_dtmf_ast-1.4.patch.txt uploaded by twilson (license 396) Tested by: globalnetinc, jde (closes issue #16625) Reported by: sharvanek Review: https://reviewboard.asterisk.org/r/1092/ Review: https://reviewboard.asterisk.org/r/1125/ ........ ................ 2011-03-15 01:48 +0000 [r310834] Tilghman Lesher * addons/chan_ooh323.c: Fix branch compile. 2011-03-15 01:00 +0000 [r310781] Alec L Davis * main/utils.c: core show locks: display ThreadID in hexadecimal Allow easier cross referencing of thread ID's with GDB backtraces (closes issue #18968) Reported by: alecdavis Patches: bug18968.diff.txt uploaded by alecdavis (license 585) 2011-03-14 21:45 +0000 [r310734] Alexandr Anikin * addons/chan_ooh323.c, addons/ooh323c/src/ooCapability.c, addons/ooh323c/src/ooCalls.h: Introduce t.38 parameters control functionality not full but enough for Send/RcvFax support Introduce t.38 controls between asterisk core and channel/proto layers. Not all parameters are transferred from proto layers but *Fax apps tested and work ok. (issue #18693) Reported by: benngard2 Patches: issue-18693.patch uploaded by may213 (license 454) 2011-03-14 21:30 +0000 [r310726-310733] Jonathan Rose * main/channel.c: Undoes 310726 for further analysis * main/channel.c: Moves data store destruction from channel destruction to hangup in channel.c This moves the data store destruction and app signaling events for a call to ast_hangup so that threads which wait for data store destruction don't become stuck forever when attached to an application/function/etc that keeps the channel open. (closes issue #18742) Reported by: jkister Patches: patch.diff uploaded by jrose (license 1225) Tested by: jkister, jcovert, jrose Review: https://reviewboard.asterisk.org/r/1136/ 2011-03-14 16:50 +0000 [r310636] Richard Mudgett * /, main/callerid.c: Merged revisions 310635 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r310635 | rmudgett | 2011-03-14 11:47:54 -0500 (Mon, 14 Mar 2011) | 32 lines Merged revisions 310633 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r310633 | rmudgett | 2011-03-14 11:38:24 -0500 (Mon, 14 Mar 2011) | 25 lines "Caller*ID failed checksum" on Wildcard TDM2400P and TDM410 The last character in the caller id message is getting a framing error. The checksum is the last character in the message. A framing error in the checksum could be because: 1) The sender did not send a full stop bit. 2) The sender cut off the FSK carrier too soon. 3) The sender opted to send zero of the specified zero to 10 trailing mark bits and round-off errors in the code resulted in the code not being where it thought it was in the demodulated bit stream. Bit 8 of 'b' is set when parity error. Bit 9 of 'b' is set when framing error. Made ignore the framing and parity error bits if the errored character is the checksum. We can tolerate a framing/parity error there. The checksum character validates the message. (closes issue #18474) Reported by: nivek Patches: callerid.c.1.patch uploaded by nivek (license 636) (with modifications) Tested by: nivek ........ ................ 2011-03-14 15:27 +0000 [r310587] Jonathan Rose * /, funcs/func_volume.c: Merged revisions 310585 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r310585 | jrose | 2011-03-14 08:56:22 -0500 (Mon, 14 Mar 2011) | 8 lines Adds 'p' as an option to func_volume. When it is on, the old behavior with DTMF controlling volume adjustment will be enforced. When it is off, DTMF will not be processed by the function. Programmed by Jonathan Rose Reviewed by David Vossel, Leif Madsen, and Russell Bryant http://reviewboard.digium.internal/r/93/ ........ 2011-03-12 20:27 +0000 [r310415-310462] Tilghman Lesher * /, pbx/pbx_ael.c: Merged revisions 310448 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r310448 | tilghman | 2011-03-12 14:24:54 -0600 (Sat, 12 Mar 2011) | 38 lines Recorded merge of revisions 310435 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r310435 | tilghman | 2011-03-12 14:22:07 -0600 (Sat, 12 Mar 2011) | 31 lines Add AELSub, which provides a stable entry point into AEL subroutines. This commit needs some explanation, given that we're adding a new application into an existing release branch. This is generally a violation of our release policy, except in very limited circumstances, and I believe this is one of those circumstances. The problem that this solves is one of the sanity of using multiple dialplan languages to define a dialplan. In the case of the reporter, he or she is using AEL is define subroutines, while using Realtime extensions to invoke those subroutines. While you can do this, it's based upon the reality of AEL using actual dialplan extensions; however, there is no guarantee that the details of _how_ AEL is compiled into extensions will remain stable. In fact, at the time of this commit, it has already changed twice, once in a fundamental way. Now normally, a new application would only be added to trunk. However, this application is explicitly to create a stable user-level API between versions, and adding it to trunk only will not solve the user's problem of switching between 1.6.2 and 1.8, nor will it help anybody switching from 1.8 to 1.10. Therefore, it needs to go into existing release branches. For the sake of consistency, and also because one of the changes was between 1.4 and 1.6.x, I am also electing to commit this to 1.4. (closes issue #18910) Reported by: alexandrekeller Patches: 20110304__issue18919__1.6.2.diff.txt uploaded by tilghman (license 14) 20110304__issue18919__1.4.diff.txt uploaded by tilghman (license 14) Tested by: alexandrekeller ........ ................ * /, funcs/func_odbc.c: Merged revisions 310414 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r310414 | tilghman | 2011-03-12 13:51:23 -0600 (Sat, 12 Mar 2011) | 7 lines Transactional handles should be used for the insertbuf, if available. Also, fix a possible resource leak. (closes issue #18943) Reported by: irroot ........ 2011-03-11 06:47 +0000 [r310287] Alec L Davis * main/rtp_engine.c: remote_bridge_loop: prevent segfault when after transfer of IAX2 of DAHDI call If the channel condition is one of the following after breaking out of the loop, don't try to update_peer (where x = 0/1) 1). ZOMBIE 2). cx->tech_pvt != pvtx 3). gluex != ast_rtp_instance_get_glue(cx->tech->type)) (closes issue #18781) Reported by: alecdavis Patches: bug18781.diff3.txt uploaded by alecdavis (license 585) Tested by: alecdavis, ZX81 Review: https://reviewboard.asterisk.org/r/1128/ 2011-03-10 16:05 +0000 [r310240] Terry Wilson * main/manager.c, res/res_phoneprov.c: Add \r\n to remaining http headers passed to ast_http_send r309204 changed the behavior of ast_http_send. It now requires headers to be passed with trailing \r\n. This change updates the remaining instances in the code that did not pass the \r\n. (closes issue #18186) Reported by: nivaldomjunior Patches: res_phoneprov.c.diff uploaded by lathama (license 1028) manager.diff.txt uploaded by twilson (license 396) Tested by: lathama 2011-03-10 15:17 +0000 [r310231] Mark Michelson * channels/chan_sip.c: Be more tolerant of what URI we accept for call completion PUBLISH requests. (closes issue #18946) Reported by: GeorgeKonopacki Patches: 18946.patch uploaded by mmichelson (license 60) Tested by: GeorgeKonopacki 2011-03-10 05:53 +0000 [r310142] Tilghman Lesher * apps/app_voicemail.c, res/res_config_odbc.c, /, funcs/func_odbc.c: Merged revisions 310141 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r310141 | tilghman | 2011-03-09 23:51:37 -0600 (Wed, 09 Mar 2011) | 12 lines Merged revisions 310140 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r310140 | tilghman | 2011-03-09 23:38:44 -0600 (Wed, 09 Mar 2011) | 5 lines Initialize column size to 0 to deal with a potential UnixODBC bug on 64-bit systems. (closes issue #18295) Reported by: pruiz ........ ................ 2011-03-08 20:19 +0000 [r310088] Jonathan Rose * channels/sip/dialplan_functions.c: Returns with an error notice if CHANNEL function of SIP channel is read without arguments. (Closes issue #18653) Reported by: wuwu Patches: diff.patch uploaded by jrose (license 1225) Tested by: jrose 2011-03-08 18:10 +0000 [r310039] Terry Wilson * res/res_calendar.c: Spelling fix in "calendar show calendar" s/Cartegories/Catagories/ (closes issue #18931) Reported by: pdugas Patches: res_calendar.c.patch uploaded by pdugas (license 1222) 2011-03-08 16:37 +0000 [r309994] Richard Mudgett * channels/sig_pri.c: Make pri parameter description consistent. 2011-03-07 22:07 +0000 [r309858] Jonathan Rose * apps/app_mixmonitor.c, /: Merged revisions 309857 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r309857 | jrose | 2011-03-07 16:04:44 -0600 (Mon, 07 Mar 2011) | 15 lines Merged revisions 309856 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r309856 | jrose | 2011-03-07 16:02:12 -0600 (Mon, 07 Mar 2011) | 8 lines Bug fix for MixMonitor involving filenames with '.' not in the extension Closes issue #18391) Reported by: pabelanger Patches: bugfix.patch uploaded by jrose (license 1225) Tested by: jrose ........ ................ 2011-03-07 00:54 +0000 [r309808] Tilghman Lesher * main/ast_expr2.fl, channels/chan_dahdi.c, /, configure, include/asterisk/autoconfig.h.in, main/ast_expr2f.c, configure.ac: Merged revisions 309251 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r309251 | tilghman | 2011-03-01 19:06:02 -0600 (Tue, 01 Mar 2011) | 7 lines Revert previous 2 commits, and instead conditionally redefine the same macro used in flex 2.5.35 that clashed with our workaround. Not surprisingly, the workaround was exactly the same code as was provided by the Flex maintainers, albeit in two different places, in different macros. This should fix the FreeBSD builds, which have an older version of Flex. ........ 2011-03-07 00:13 +0000 [r309765] Mark Michelson * configs/sip.conf.sample: Indicate that Asterisk uses the Allow header to determine if MESSAGE requests should be sent. 2011-03-05 17:44 +0000 [r309720] Moises Silva * channels/chan_dahdi.c: Fix caller id passed to openr2_chan_make_call (closes issue #18894) Reported by: malufrj Tested by: moy 2011-03-05 10:29 +0000 [r309678] Tilghman Lesher * main/asterisk.c, /: Merged revisions 309677 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r309677 | tilghman | 2011-03-05 04:28:24 -0600 (Sat, 05 Mar 2011) | 7 lines Missed part of the conversion when we started passing ppid to astcanary. (closes issue #18850) Reported by: viraptor Patches: canary_ppid.patch uploaded by viraptor (license 543) ........ 2011-03-04 19:38 +0000 [r309448-309585] Matthew Nicholson * /, pbx/pbx_lua.c: Merged revisions 309584 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r309584 | mnicholson | 2011-03-04 13:37:13 -0600 (Fri, 04 Mar 2011) | 2 lines Restore mysterious lua_pushvalue() call removed in r309494. The mystery has been solved. ........ * /, pbx/pbx_lua.c: Merged revisions 309541 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r309541 | mnicholson | 2011-03-04 12:59:20 -0600 (Fri, 04 Mar 2011) | 4 lines Check for errors from fseek() when loading config file, properly abort on errors from fread(), and supply a traceback for errors generated when loading the config file. Also, prepend a newline to traceback output so that the main error message is on it's own line. ........ * /, pbx/pbx_lua.c: Merged revisions 309494 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r309494 | mnicholson | 2011-03-04 11:55:57 -0600 (Fri, 04 Mar 2011) | 2 lines remove mysterious lua_pushvalue() that is never used ........ * pbx/pbx_lua.c: Export global symbols from pbx_lua to allow modules to be loaded. Fixes a regression introduced in r278132. (closes issue #18671) Reported by: Igels Patches: pbx_lua_global_symbols1.diff uploaded by mnicholson (license 96) Tested by: Igels 2011-03-04 15:22 +0000 [r309445] Richard Mudgett * UPGRADE.txt, channels/sig_pri.c, channels/sig_pri.h, channels/chan_dahdi.c, funcs/func_channel.c: Get real channel of a DAHDI call. Starting with Asterisk v1.8, the DAHDI channel name format was changed for ISDN calls to: DAHDI/i/[:]- There were several reasons that the channel name had to change. 1) Call completion requires a device state for ISDN phones. The generic device state uses the channel name. 2) Calls do not necessarily have B channels. Calls placed on hold by an ISDN phone do not have B channels. 3) The B channel a call initially requests may not be the B channel the call ultimately uses. Changes to the internal implementation of the Asterisk master channel list caused deadlock problems for chan_dahdi if it needed to change the channel name. Chan_dahdi no longer changes the channel name. 4) DTMF attended transfers now work with ISDN phones because the channel name is "dialable" like the chan_sip channel names. For various reasons, some people need to know which B channel a DAHDI call is using. * Added CHANNEL(dahdi_span), CHANNEL(dahdi_channel), and CHANNEL(dahdi_type) so the dialplan can determine the B channel currently in use by the channel. Use CHANNEL(no_media_path) to determine if the channel even has a B channel. * Added AMI event DAHDIChannel to associate a DAHDI channel with an Asterisk channel so AMI applications can passively determine the B channel currently in use. Calls with "no-media" as the DAHDIChannel do not have an associated B channel. No-media calls are either on hold or call-waiting. (closes issue #17683) Reported by: mrwho Tested by: rmudgett (closes issue #18603) Reported by: arjankroon Patches: issue17683_18603_v1.8_v2.patch uploaded by rmudgett (license 664) Tested by: stever28, rmudgett 2011-03-04 01:50 +0000 [r309403] David Ruggles * apps/app_externalivr.c, /: Merged revisions 309356 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r309356 | diruggles | 2011-03-03 19:42:28 -0500 (Thu, 03 Mar 2011) | 16 lines Merged revisions 309355 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r309355 | diruggles | 2011-03-03 19:34:13 -0500 (Thu, 03 Mar 2011) | 9 lines fix small memory leak fix small memory leak caused by a string allocation that wasn't freed (closes issue #18907) Reported by: andy11 Patches: asterisk_trunk-app_externalivr-leak.patch uploaded by andy11 (license 1224) ........ ................ 2011-03-02 19:54 +0000 [r309204-309256] Jason Parker * /, channels/chan_sip.c: Merged revisions 309255 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r309255 | qwell | 2011-03-02 13:53:47 -0600 (Wed, 02 Mar 2011) | 8 lines Fix usage of "hasvoicemail=yes" and "mailbox=" in users.conf for SIP. Since it's a duplicate, nothing is going to be done, so delme doesn't need to be set at all. Strangely, when this was added, this was being set to 1 in 1.6, and 0 in trunk. (issue AST-439) ........ * main/http.c: Fix consistency of CRLFs on HTTP headers that get sent out. (closes issue #18186) Reported by: nivaldomjunior Patches: 18186-httpheadernewline.diff uploaded by qwell (license 4) 2011-03-01 21:57 +0000 [r309126-309170] Richard Mudgett * funcs/func_channel.c: Document CHANNEL(keypad_digits) and CHANNEL(no_media_path). * Added XML documentation for CHANNEL(keypad_digits) and CHANNEL(no_media_path). * Tweaked XML documentation for CHANNEL(reversecharge). * channels/sig_analog.c: Chan_dahdi does not retain CID when detecting DTMF CID without polarity reversal. Looks like an unintended change when sig_analog.c was extracted from chan_dahdi.c. Removed useless conditional around needed code and fixed resulting compiler warning. (closes issue #18667) Reported by: enegaard Patches: issue18667.patch uploaded by enegaard (license 1197) Tested by: enegaard JIRA SWP-2965 2011-03-01 16:09 +0000 [r309084] David Vossel * /, channels/chan_sip.c: Merged revisions 309083 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r309083 | dvossel | 2011-03-01 10:05:25 -0600 (Tue, 01 Mar 2011) | 9 lines Fixes thread blocking issue in the sip TCP/TLS implementation. (closes issue #18497) Reported by: vois Patches: issues_18497.diff uploaded by dvossel (license 671) Tested by: vois, rossbeer, kowalma, Freddi_Fonet ........ 2011-02-28 11:10 +0000 [r308991-309035] Tilghman Lesher * main/ast_expr2.fl, /, configure, include/asterisk/autoconfig.h.in, main/ast_expr2f.c, configure.ac: Merged revisions 309033-309034 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r309033 | tilghman | 2011-02-28 04:43:12 -0600 (Mon, 28 Feb 2011) | 4 lines A later version of flex already includes the fwrite workaround code, which if used twice causes a compilation error. Detect whether Flex will compile without the workaround; if so, suppress our workaround code. ........ r309034 | tilghman | 2011-02-28 05:07:52 -0600 (Mon, 28 Feb 2011) | 2 lines Clarify meaning, removing double negative (stupid!) ........ * /, funcs/func_odbc.c: Merged revisions 308990 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r308990 | tilghman | 2011-02-28 03:32:22 -0600 (Mon, 28 Feb 2011) | 7 lines Statements updating zero rows may return SQL_NO_DATA. This is fine; it's handled. (closes issue #18815) Reported by: irroot Patches: func_odbc.insert_nodata.patch uploaded by irroot (license 52) ........ 2011-02-25 18:52 +0000 [r308945] Alec L Davis * channels/chan_sip.c: Fix Deadlock with attended transfer of SIP call Call path sip_set_rtp_peer (locks chan then pvt) transmit_reinvite_with_sdp try_suggested_sip_codec pbx_builtin_getvar_helper (locks p->owner) But by the time p->owner lock was attempted, seems as though chan and p->owner were different. So in sip_set_rtp_peer, lock pvt first then lock p->owner using deadlocking methods. (closes issue #18837) Reported by: alecdavis Patches: bug18837-trunk.diff3.txt uploaded by alecdavis (license 585) Tested by: alecdavis, Irontec, ZX81, cmaj Review: [https://reviewboard.asterisk.org/r/1126/] 2011-02-24 21:38 +0000 [r308903] Richard Mudgett * main/channel.c: Invalid read in ast_channel_set_caller_event(). Valgrind reported that ast_channel_set_caller_event() was reading data from a freed buffer when using the pre_set structure. Rearange things to pre-calculate the name and number pointer before updating the caller party structure to see if the name or number was changed. 2011-02-24 17:57 +0000 [r308815] Terry Wilson * main/manager.c, /: Merged revisions 308814 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r308814 | twilson | 2011-02-24 11:54:49 -0600 (Thu, 24 Feb 2011) | 19 lines Merged revisions 308813 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r308813 | twilson | 2011-02-24 11:42:16 -0600 (Thu, 24 Feb 2011) | 12 lines Don't broadcast FullyBooted to every AMI connection The FullyBooted event should not be sent to every AMI connection every time someone connects via AMI. It should only be sent to the user who just connected. (closes issue #18168) Reported by: FeyFre Patches: bug0018168.patch uploaded by FeyFre (license 1142) Tested by: FeyFre, twilson ........ ................ 2011-02-24 15:06 +0000 [r308723] Matthew Nicholson * main/udptl.c, /: Merged revisions 308722 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r308722 | mnicholson | 2011-02-24 08:59:41 -0600 (Thu, 24 Feb 2011) | 9 lines Merged revisions 308721 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r308721 | mnicholson | 2011-02-24 08:54:56 -0600 (Thu, 24 Feb 2011) | 2 lines silence gcc 4.2 compiler warning ........ ................ 2011-02-24 03:41 +0000 [r308679] Terry Wilson * configs/sip.conf.sample, /, channels/chan_sip.c: Merged revisions 308678 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r308678 | twilson | 2011-02-23 21:38:22 -0600 (Wed, 23 Feb 2011) | 8 lines Use remotesecret to authenticate with a remote party The remotesecret option was only being used for outbound registration and not for placing calls. This patch uses remotesecret on outbound calls if it is set, otherwise secret is still used. Review: https://reviewboard.asterisk.org/r/1107/ ........ 2011-05-09 Leif Madsen * Asteris 1.8.4 Released. 2011-04-25 Leif Madsen * Asterisk 1.8.4-rc3 Released. * Use SSLv23_client_method instead of old SSLv2 only. (closes issue 0019095) (closes issue 0019138) Reported by: tzafrir Patches: no_ssl2.diff uploaded by tzafrir (license 46) Tested by: russell, chazzam * Resolve crash in ast_mutex_init() 2011-02-25 Leif Madsen * Asterisk 1.8.4-rc2 Released. * Fix Deadlock with attended transfer of SIP call (Closes issue #18837. Reported, patched by alecdavis. Tested by alecdavid, Irontec, ZX81, cmaj) 2011-02-23 Leif Madsen * Asterisk 1.8.4-rc1 Released. 2011-02-23 23:38 +0000 [r308622] Richard Mudgett * channels/sig_pri.c: sig_pri_new_ast_channel() should return NULL when new_ast_channel() fails. (closes issue #18874) Reported by: cmaj Patches: patch-sig_pri-crash-possible-null-channel-pointer.diff.txt uploaded by cmaj (license 830) JIRA SWP-3172 2011-02-22 15:31 +0000 [r308526] Andrew Latham * main/http.c: Use ast_debug for console logging Guessed the log levels based on info that level 3 is the soft roof. Can we create a page / document to define the levels? 2011-02-21 15:02 +0000 [r308416] Matthew Nicholson * main/udptl.c, /: Merged revisions 308414 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r308414 | mnicholson | 2011-02-21 09:00:22 -0600 (Mon, 21 Feb 2011) | 12 lines Merged revisions 308413 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r308413 | mnicholson | 2011-02-21 08:57:15 -0600 (Mon, 21 Feb 2011) | 5 lines Properly check the bounds of arrays when decoding UDPTL packets. Also, remove broken support for receiving UDPTL packets larger than 16k. That shouldn't ever happen anyway. AST-2011-002 FAX-281 ........ ................ 2011-02-21 14:24 +0000 [r308393] Andrew Latham * main/http.c: Add HTTP URI Debug logging and update notice enable reporting of the request URI / URL in debugging change funny debug note to a serious note. 2011-02-19 14:06 +0000 [r308330] Andrew Latham * main/http.c: Add CSS MIME Type Modern browsers are checking for the MIME Type of pages and in some cases will not load a file if the type is wrong. 2011-02-19 11:02 +0000 [r308288] Tilghman Lesher * utils: A few more (copies of) files to ignore in this directory. 2011-02-18 00:07 +0000 [r308242] Alexandr Anikin * addons/ooh323cDriver.c, addons/ooh323cDriver.h, addons/chan_ooh323.c: added g729onlyA option for announce only AnnexA g.729 codec in h.323 capabilities. Option can be global or per user/peer. 2011-02-16 20:21 +0000 [r308150] Paul Belanger * addons/ooh323c/src/ooSocket.c: Fix FreeBSD builds. 2011-02-16 07:57 +0000 [r308098] Alexandr Anikin * addons/ooh323c/src/ooSocket.c: ifdef __linux__ keepalive variables also 2011-02-15 23:34 +0000 [r308010] Jason Parker * apps/app_queue.c, /: Merged revisions 308007 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r308007 | qwell | 2011-02-15 17:33:24 -0600 (Tue, 15 Feb 2011) | 17 lines Merged revisions 308002 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r308002 | qwell | 2011-02-15 17:32:20 -0600 (Tue, 15 Feb 2011) | 10 lines Fix regression that changed behavior of queues when ringing a queue member. This reverts r298596, which was to fix a highly bizarre and contrived issue with a queue member that called into his own queue being transferred back into his own queue. I couldn't reproduce that issue in any way. I think one of the other recent transfer fixes actually fixed this. (closes issue #18747) Reported by: vrban ........ ................ 2011-02-15 23:08 +0000 [r307970] Alexandr Anikin * addons/ooh323c/src/ooSocket.c: include tcp keepalive socket calls only on linux, freebsd and others don't have these options on sockets. 2011-02-15 19:52 +0000 [r307879-307962] Richard Mudgett * apps/app_dial.c: Don't crash when forcing caller id. * channels/sig_pri.c, include/asterisk/ccss.h, channels/sig_pri.h, channels/chan_dahdi.c, channels/chan_sip.c, main/ccss.c: No response sent for SIP CC subscribe/resubscribe request. Asterisk does not send a response if we try to subscribe for call completion after we have received a 180 Ringing. You can only subscribe for call completion when the call has been cleared. When we receive the 180 Ringing, for this call, its call-completion state is 'CC_AVAILABLE'. If we then send a subscribe message to Asterisk, it trys to change the call-completion state to 'CC_CALLER_REQUESTED'. Because this is an invalid state change, it just ignores the message. The only state Asterisk will accept our subscribe message is in the 'CC_CALLER_OFFERED' state. Asterisk will go into the 'CC_CALLER_OFFERED' when the SIP client clears the call by sending a CANCEL. Asterisk should always send a response. Even if its a negative one. The fix is to allow for the CCSS core to notify a CC agent that a failure has occurred when CC is requested. The "ack" callback is replaced with a "respond" callback. The "respond" callback has a parameter indicating either a successful response or a specific type of failure that may need to be communicated to the requester. (closes issue #18336) Reported by: GeorgeKonopacki Tested by: mmichelson, rmudgett JIRA SWP-2633 (closes issue #18337) Reported by: GeorgeKonopacki Tested by: mmichelson JIRA SWP-2634 2011-02-15 07:02 +0000 [r307750-307837] Tilghman Lesher * /, funcs/func_odbc.c: Merged revisions 307836 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r307836 | tilghman | 2011-02-15 01:01:37 -0600 (Tue, 15 Feb 2011) | 8 lines Need to retrieve the rows affected before using the associated variable. (closes issue #18795) Reported by: irroot Patches: 20110211__issue18795.diff.txt uploaded by tilghman (license 14) Tested by: tilghman ........ * res/res_odbc.c, /: Merged revisions 307792 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r307792 | tilghman | 2011-02-14 14:10:28 -0600 (Mon, 14 Feb 2011) | 8 lines Increment usage count at first reference, to avoid a race condition with many threads creating connections all at once. (issue #18156) Reported by: asgaroth Patches: 20110214__issue18156.diff.txt uploaded by tilghman (license 14) Tested by: tilghman ........ * apps/app_queue.c, apps/app_dial.c: Calling a gosub routine defined in AEL from Dial/Queue ceased to work. A bug in AEL did not distinguish between the "s" extension generated by AEL and an "s" extension that was required to exist by the chan_dahdi (or another channel) that was not supplied with a starting extension. Therefore, AEL made incorrect assumptions about what commands were permissable in the context. This was fixed by making AEL generate a different extension name. However, Dial and Queue make additional assumptions about the name of the default gosub extension. Therefore, they needed to be brought into line with a "macro" rendered by AEL (as a gosub), without breaking traditional dialplans written without the aid of AEL. Related to (issue #18480) Reported by: nivek (closes issue #18729) Reported by: kkm Patches: 20110209__issue18729.diff.txt uploaded by tilghman (license 14) 018729-dial-queue-gosub-try3.patch uploaded by kkm (license 888) Tested by: kkm 2011-02-10 22:39 +0000 [r307536] Jason Parker * main/asterisk.c, contrib/init.d/rc.debian.asterisk, /: Merged revisions 307535 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r307535 | qwell | 2011-02-10 16:35:49 -0600 (Thu, 10 Feb 2011) | 15 lines Merged revisions 307534 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r307534 | qwell | 2011-02-10 16:33:09 -0600 (Thu, 10 Feb 2011) | 8 lines Remove color when executing commands via a remote console. Essentially this makes '-x' imply '-n' on rasterisk. This was done in a different and incomplete way previously, which I'm reverting here. (issue #18776) Reported by: alecdavis ........ ................ 2011-02-10 18:50 +0000 [r307509] Alexandr Anikin * addons/ooh323c/src/ooSocket.c, addons/ooh323c/src/oochannels.c, addons/ooh323c/src/ooStackCmds.c, addons/ooh323c/src/ooq931.c, addons/ooh323c/src/ooh323.c, addons/chan_ooh323.c, addons/ooh323c/src/ooh245.c, addons/ooh323c/src/ooCalls.h: Corrections for properly work with H.323v2 (older) endpoints and other small fixes. Interpret remote side H.225 version. Corrections for H.323v2 endpoints: don't start TCS and MSD before connect, don't start TCS and MSD by accepting H.245 connection, start TCS and MSD by StartH245 facility message. Other fixes: fix non zeroended remoteDisplayName issue, small fixes in call clearing by closing H.245 connection, tcp keepalive introduced on TCP connections (now is hardcoded, will be configurable in the future), don't force H.245tunneling if FastStart is active, don't send Alerting singal more than once per call. (issue 0018542) Reported by: vmikhelson Patches: issue18542-final-3.patch uploaded by may213 (license 454) Tested by: vmikhelson 2011-02-10 17:44 +0000 [r307467] Mark Michelson * configs/ccss.conf.sample: Fix a gaffe in the CCSS sample configuration. Discovered by Philippe Lindheimer and pointed out on #asterisk-dev 2011-02-09 21:44 +0000 [r307314] Andrew Latham * contrib/init.d/rc.debian.asterisk: Disable color during running test (closes issue #18776) Reported by: alecdavis Patches: ast_deb_init.diff uploaded by lathama (license 1028) Tested by: andrel, lathama 2011-02-09 21:06 +0000 [r307228-307273] Jeff Peeler * main/astobj2.c: Add missing debug info for ao2_link for use with REF_DEBUG in ao2 callback. (closes issue #18758) Reported by: rgagnon Patches: branch-1.8-r306540-astobj-fix.diff uploaded by rgagnon (license 1202) trunk-r306540-astobj-fix.diff uploaded by rgagnon (license 1202) * /, main/features.c: Merged revisions 307227 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r307227 | jpeeler | 2011-02-09 13:52:12 -0600 (Wed, 09 Feb 2011) | 11 lines Make sure to set parking dial context for non-default parking lots. Since parking_con_dial isn't settable, set all parking lots to "park-dial". (closes issue #17946) Reported by: bluecrow76 Patches: asterisk-1.8.0-beta4-multipark-fixes-2010SEP02.diff uploaded by bluecrow76 (license 270) modified by me ........ 2011-02-09 05:39 +0000 [r307142] Tilghman Lesher * main/lock.c: Initialize tracking variable in structure properly. Fixes a memory leak. (Reported by The_Boy_Wonder on IRC, fixed by me.) 2011-02-08 21:24 +0000 [r307092] Jason Parker * main/logger.c: Fix issue with verbose messages not showing on remote console. This code was reworked recently, and since the logchannel list hadn't been created yet at this point, and it was a verbose message, it was being dropped on the floor. Now it'll continue on to where it should be handled. (closes issue #18580) Reported by: pabelanger 2011-02-08 21:13 +0000 [r307065] Mark Michelson * main/ccss.c: Add a couple of useful channel variables for the CC recall macro. CC_EXTEN and CC_CONTEXT will allow you to determine the channel and context that will be called when the recall occurs. 2011-02-08 20:22 +0000 [r306999] Andrew Latham * doc/asterisk.sgml, doc/asterisk.8, configs/asterisk.conf.sample, configs/voicemail.conf.sample: 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 2011-02-08 20:18 +0000 [r306979] Terry Wilson * /, channels/chan_sip.c: Merged revisions 306973 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r306973 | twilson | 2011-02-08 12:14:09 -0800 (Tue, 08 Feb 2011) | 9 lines Merged revisions 306972 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r306972 | twilson | 2011-02-08 12:05:13 -0800 (Tue, 08 Feb 2011) | 2 lines Fix comparison for REFER Replaces tags with pedantic=yes ........ ................ 2011-02-08 19:41 +0000 [r306866-306967] Jeff Peeler * apps/app_voicemail.c, /: Merged revisions 306966 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r306966 | jpeeler | 2011-02-08 13:41:21 -0600 (Tue, 08 Feb 2011) | 9 lines Merged revisions 306965 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r306965 | jpeeler | 2011-02-08 13:40:58 -0600 (Tue, 08 Feb 2011) | 1 line fix this line again ........ ................ * apps/app_voicemail.c, /: Merged revisions 306961 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r306961 | jpeeler | 2011-02-08 13:25:10 -0600 (Tue, 08 Feb 2011) | 15 lines Merged revisions 306960 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r306960 | jpeeler | 2011-02-08 13:18:50 -0600 (Tue, 08 Feb 2011) | 9 lines Backup file storing message duration is not used with IMAP_STORAGE, remove code. The message duration is stored in the body of the email when using IMAP_STORAGE, so nothing needs to happen with the backup file. (closes issue #18718) Reported by: kerframil ........ ................ * apps/app_voicemail.c, /: Merged revisions 306865 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r306865 | jpeeler | 2011-02-08 10:21:25 -0600 (Tue, 08 Feb 2011) | 9 lines Merged revisions 306864 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r306864 | jpeeler | 2011-02-08 10:19:17 -0600 (Tue, 08 Feb 2011) | 1 line make this safer and fully correct, pointed out by Steve Davis ........ ................ 2011-02-08 01:45 +0000 [r306826] Andrew Latham * UPGRADE.txt, include/asterisk/manager.h, doc/asterisk.sgml, include/asterisk/doxygen/mantisworkflow.h: Documentation Updates. More updates to the removed doc folder and start updates to the man page. (issue #16505) Reported by: tzafrir Tested by: lathama 2011-02-07 22:43 +0000 [r306619-306674] Terry Wilson * /, main/features.c: Merged revisions 306673 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r306673 | twilson | 2011-02-07 14:40:20 -0800 (Mon, 07 Feb 2011) | 17 lines Merged revisions 306672 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r306672 | twilson | 2011-02-07 14:35:20 -0800 (Mon, 07 Feb 2011) | 10 lines Don't try to pickup a call in the middle of a masquerade If A calls B which doesn't answer and C & D both try to do a call pickup, it is possible for ast_pickup_call to answer the call, then fail to masquerade one of the calls because the other one is already in the process of masquerading. This patch checks to see if the channel is in the process of masquerading before call before selecting it for a pickup. Review: https://reviewboard.asterisk.org/r/1094/ ........ ................ * /, channels/chan_sip.c: Merged revisions 306618 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r306618 | twilson | 2011-02-07 13:59:54 -0800 (Mon, 07 Feb 2011) | 17 lines Merged revisions 306617 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r306617 | twilson | 2011-02-07 13:51:43 -0800 (Mon, 07 Feb 2011) | 10 lines Don't allow a REFER w/replaces to replace its own dialog Asterisk currently accepts a REFER with a Refer-To with an embedded Replaces header that matches the dialog of the REFER. This would be a situation like A calls B, A calls C, A transfers B to A, which is just silly. This patch makes the transfer fail instead of making Asterisk freak out and forget to hang other channels up. Review: https://reviewboard.asterisk.org/r/1093/ ........ ................ 2011-02-07 17:36 +0000 [r306575] Mark Michelson * main/ccss.c: Rearrange a bit of code in the generic CC recall operation. By waiting to call the callback macro after the CC_INTERFACES, extension, priority, and context have been set, this information can be accessed more easily within the callback macro. Reported by Philippe Lindheimer. 2011-02-04 19:24 +0000 [r306356] Jason Parker * apps/app_queue.c, /: Merged revisions 306346 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r306346 | qwell | 2011-02-04 13:21:43 -0600 (Fri, 04 Feb 2011) | 9 lines Don't fallthrough to 'unknown' in the 'ringing' case. This could cause improper exits from the queue. (closes issue #18499) Reported by: zaltar Patches: app_queue.patch uploaded by zaltar (license 1148) ........ 2011-02-04 18:53 +0000 [r306324] Richard Mudgett * apps/app_queue.c, apps/app_dial.c: Don't send redirecting updates to the caller if the dialplan forked the call. Each fork in the dial could be redirected and confuse the caller. For ISDN the DivLeg1 and DivLeg3 messages would get confused because ISDN redirects calls in sequence not in parallel. * Also fixed a formatting inconsistency in app_dial.c and make a warning message more useful about what frame type could not be written. 2011-02-03 23:49 +0000 [r306215] Jeff Peeler * channels/chan_sip.c: Fix SIP deadlock involving state changes. Once again a call to pbx_builtin_getvar_helper (and pbx_builtin_setvar_helper) has caused locking problems. Both of these functions lock the channel when the channel argument is passed in! In this case, the suspected problem (the backtrace makes it impossible to tell) was the private being locked in sip_set_rtp_peer and then: transmit_reinvite_with_sdp try_suggested_sip_codec pbx_builtin_getvar_helper (Traced to verify that the fix was only required in 1.8 and later.) (closes issue #18491) Reported by: cmaj Patches: chan_sip_fix_deadlocks_bug_18491.txt uploaded by cmaj (license 830) Tested by: cmaj 2011-02-03 21:03 +0000 [r306127] Terry Wilson * channels/chan_local.c, /: Merged revisions 306126 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r306126 | twilson | 2011-02-03 12:56:00 -0800 (Thu, 03 Feb 2011) | 16 lines Merged revisions 306119 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r306119 | twilson | 2011-02-03 12:36:34 -0800 (Thu, 03 Feb 2011) | 9 lines Set hangup cause in local_hangup When a call involves a local channel (like SIP -> Local -> SIP), the hangup cause was not being set. This resulted in SIP channels sometimes getting a 503 error instead of a 486 when the far side sent a busy. In Asterisk 1.8+ this also can cause issues with CCSS that involve a local channel. This patch sets the hangupcause for one side of the local channel to the other in local_hangup for outbound calls. ........ ................ 2011-02-03 20:50 +0000 [r306124] Jeff Peeler * /, main/features.c: Merged revisions 306123 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r306123 | jpeeler | 2011-02-03 14:49:48 -0600 (Thu, 03 Feb 2011) | 10 lines Set exception on channel in parking thread when POLLPRI event detected. This is done just to make the code be equivalent to the old select code. As noted in 303106 the same issue was already fixed in this branch, but the exception was not set on the channel in the case of POLLPRI. The reason that this did not cause a problem here is because in 122923 the check in __ast_read to check the exception flag was removed. (related to #18637) ........ 2011-02-03 15:50 +0000 [r305987] Andrew Latham * phoneprov/snom-mac.xml (added), configs/phoneprov.conf.sample, /: res_phoneprov add snom 300, 320, 360, 370, 820, 821, 870 support (issue #18713) Reported by: lathama Patches: snom_dir.diff uploaded by lathama (license 1028) Tested by: lathama 2011-02-03 00:24 +0000 [r305923] Richard Mudgett * main/channel.c, main/manager.c, /, channels/chan_sip.c, apps/app_sendtext.c: Merged revisions 305889 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r305889 | rmudgett | 2011-02-02 18:15:07 -0600 (Wed, 02 Feb 2011) | 17 lines Merged revisions 305888 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r305888 | rmudgett | 2011-02-02 18:02:43 -0600 (Wed, 02 Feb 2011) | 8 lines Minor AST_FRAME_TEXT related issues. * Include the null terminator in the buffer length. When the frame is queued it is copied. If the null terminator is not part of the frame buffer length, the receiver could see garbage appended onto it. * Add channel lock protection with ast_sendtext(). * Fixed AMI SendText action ast_sendtext() return value check. ........ ................ 2011-02-02 20:05 +0000 [r305844] Tilghman Lesher * funcs/func_env.c: Eliminate a file descriptor leak when using the FILE() dialplan function. (closes issue #18731) Reported by: marioabajo 2011-02-02 19:27 +0000 [r305753-305838] Andrew Latham * apps/app_externalivr.c, configs/sip.conf.sample, configs/skinny.conf.sample, configs/h323.conf.sample, configs/sla.conf.sample, apps/app_voicemail.c, configs/iax.conf.sample, funcs/func_enum.c, configs/dundi.conf.sample, funcs/func_callcompletion.c, configs/mgcp.conf.sample, configs/iaxprov.conf.sample, configs/unistim.conf.sample: Replacing doc/* and asterisk.pdf with wiki links Adding links to http(s)://wiki.asterisk.org * configs/ccss.conf.sample, configs/sip.conf.sample, configs/skinny.conf.sample, main/config.c, configs/h323.conf.sample, configs/sla.conf.sample, main/ast_expr2.fl, res/res_srtp.c, configs/chan_dahdi.conf.sample, configs/extconfig.conf.sample, configs/res_snmp.conf.sample, main/ast_expr2f.c, res/res_timing_dahdi.c: Replacing doc/* with wiki links Adding links to http(s)://wiki.asterisk.org * channels/chan_sip.c: Replace link to old doc with new wiki page. Link to https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions 2011-02-01 22:48 +0000 [r305692] Jason Parker * channels/chan_iax2.c: Reverse sense of an error test when reading from astdb. (closes issue #18545) Reported by: jcovert Patches: chan_iax2.c.patch uploaded by jcovert (license 551) 2011-02-01 21:14 +0000 [r305649] Andrew Latham * configs/sip.conf.sample: SIP Configuration Documentation sip show settings reports qualifyfreq in milliseconds. sip.conf configures qualifyfreg in seconds. 2011-02-01 19:23 +0000 [r305603] Brett Bryant * cel/cel_pgsql.c: Add a possible solution to a customer problem with reloading cel_pgsql.so quickly. 2011-02-01 18:02 +0000 [r305560] Andrew Latham * CHANGES, Makefile, README, /: doc/tex dir removed, but corresponding entries still exists Update README, CHANGES, and Makefile. Direct users to http://wiki.asterisk.org for documentation or to the AST.txt and AST.pdf included in the tarball. (closes issue #18443) Reported by: bas Patches: changes.diff uploaded by lathama (license 1028) readme.diff uploaded by lathama (license 1028) Tested by: lathama bas 2011-02-01 17:04 +0000 [r305473] Jason Parker * res/res_musiconhold.c, /: Merged revisions 305472 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r305472 | qwell | 2011-02-01 11:02:09 -0600 (Tue, 01 Feb 2011) | 16 lines Merged revisions 305471 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r305471 | qwell | 2011-02-01 11:00:55 -0600 (Tue, 01 Feb 2011) | 9 lines Close file descriptor for timing source when a MOH class gets destroyed. (closes issue #18457) Reported by: mcallist Patches: 18457-closetimer.diff uploaded by qwell (license 4) 18457-closetimer_trunk.diff uploaded by qwell (license 4) Tested by: qwell, loloski ........ ................ 2011-02-01 00:01 +0000 [r305343] Richard Mudgett * channels/sig_pri.c, /: Merged revisions 305342 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r305342 | rmudgett | 2011-01-31 17:50:10 -0600 (Mon, 31 Jan 2011) | 14 lines Merged revisions 305341 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r305341 | rmudgett | 2011-01-31 17:45:58 -0600 (Mon, 31 Jan 2011) | 7 lines Obtain the pri lock for PRI queue counters. Need to obtain the pri lock when calling pri_dump_info_str() to avoid a reentrancy problem when calculating the Q.921 Q count statistic. JIRA AST-484 ........ ................ 2011-01-31 23:07 +0000 [r305131-305254] Jason Parker * apps/app_dial.c, /, channels/chan_sip.c: Merged revisions 305253 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r305253 | qwell | 2011-01-31 16:59:34 -0600 (Mon, 31 Jan 2011) | 17 lines Merged revisions 305252 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r305252 | qwell | 2011-01-31 16:56:54 -0600 (Mon, 31 Jan 2011) | 10 lines Prevent a crash when dialing a technology with no destination (ex: Dial(SIP/)) chan_iax2 and other channel drivers already had code to prevent this. The attempt that app_dial was making to prevent it was not correct, so I fixed that. (closes issue #18371) Reported by: gbour Patches: 18371.patch uploaded by gbour (license 1162) ........ ................ * configs/sip.conf.sample, main/tcptls.c: Add alternative name for config option. The SIP sample configuration had "tlscadir" as the option name, but chan_sip used the more correct "tlscapath". Now both are accepted. Discovered (sort of) by a user on IRC in #asterisk * res/res_musiconhold.c: Fix compile error. pseudofd no longer exists. * res/res_musiconhold.c, /: Merged revisions 305130 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r305130 | qwell | 2011-01-31 14:59:37 -0600 (Mon, 31 Jan 2011) | 9 lines Merged revisions 305129 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r305129 | qwell | 2011-01-31 14:56:25 -0600 (Mon, 31 Jan 2011) | 2 lines Set file descriptors to -1 on creation, so that we don't see weirdness later. ........ ................ 2011-01-31 13:56 +0000 [r305083] Andrew Latham * main/http.c: Asterisk HTTP response Content-type Address content type for BSD and other platforms (closes issue #18456) Reported by: alexo Patches: asterisk18_http.patch uploaded by alexo (license 1175) Tested by: alexo 2011-01-31 07:51 +0000 [r304950-305040] Tilghman Lesher * include/asterisk/lock.h: Use the non-specific API aliases, to avoid a problem with building the utils directory. * apps/app_voicemail.c, /: Merged revisions 304978 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r304978 | tilghman | 2011-01-31 01:25:14 -0600 (Mon, 31 Jan 2011) | 9 lines Merged revisions 304952 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r304952 | tilghman | 2011-01-31 00:54:45 -0600 (Mon, 31 Jan 2011) | 2 lines Fix compilation when ODBC_STORAGE is defined. ........ ................ * main/utils.c, include/asterisk/lock.h, .cleancount, main/lock.c, main/heap.c: Change mutex tracking so that it only consumes memory in the core mutex object when it's actually being used. This reduces the overall size of a mutex which was 3016 bytes before this back down to 216 bytes (this is on 64-bit Linux with a glibc-implemented mutex). The exactness of the numbers here may vary slightly based upon how mutexes are implemented on a platform, but the long and short of it is that prior to this commit, chan_iax2 held down 98MB of memory on a 64-bit system for nothing more than a table of 32767 locks. After this commit, the same table occupies a mere 7MB of memory. (closes issue #18194) Reported by: job Patches: 20110124__issue18194.diff.txt uploaded by tilghman (license 14) Tested by: tilghman Review: https://reviewboard.asterisk.org/r/1066 2011-01-30 00:11 +0000 [r304908] Andrew Latham * apps/app_externalivr.c, apps/app_queue.c, apps/app_voicemail.c, funcs/func_realtime.c, res/res_calendar.c, funcs/func_callcompletion.c: Add Function and Application Relationships to documentation Add and extend the see-also sections to the documentation for applications and functions in an effort to expand the online documentation of the wiki. Also check for and update any links to moved documentation in the doc folder. 2011-01-29 23:07 +0000 [r304638-304866] Sean Bright * res/res_config_ldap.c, /: Merged revisions 304865 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r304865 | seanbright | 2011-01-29 18:05:25 -0500 (Sat, 29 Jan 2011) | 7 lines Plug some memory leaks in the LDAP realtime driver. (closes issue #18435) Reported by: zaltar Patches: res_config_ldap.patch uploaded by zaltar (license 1148) ........ * /, apps/app_meetme.c: Merged revisions 304776 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r304776 | seanbright | 2011-01-29 13:08:14 -0500 (Sat, 29 Jan 2011) | 15 lines If we fail to allocate our announcement objects, make sure we don't leak objects. The majority of this patch was committed already in r304726 and r304729. (issue #18225) Reported by: kenji (issue #18444) Reported by: junky (closes issue #18343) Reported by: kobaz Patches: meetme-refs.diff uploaded by kobaz (license 834) ........ * /, apps/app_meetme.c: Merged revisions 304773 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r304773 | seanbright | 2011-01-29 12:51:28 -0500 (Sat, 29 Jan 2011) | 9 lines When we pass the S() or L() options to MeetMe, make sure that we honor C as well. Without this patch, if the user was kicked from the conference via the S() or L() mechanism, we would just hang up on them even if we also passed C (continue in dialplan when kicked). With this patch we honor the C flag in those cases. (closes issue #17317) Reported by: var ........ * /, apps/app_meetme.c: Merged revisions 304729 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r304729 | seanbright | 2011-01-29 12:01:51 -0500 (Sat, 29 Jan 2011) | 15 lines Make sure that we unref the correct object when ejecting the most recent caller. Currently, when we kick the last user to enter, we decrement our own reference count which results in a crash when we kick another user or when we exit the conference ourselves. This will fix #18225 in 1.8 and trunk, but that particular bug does not exist in 1.6.2. (closes issue #18225) Reported by: kenji Patches: issue18225.patch uploaded by seanbright (license 71) Tested by: seanbright ........ * /, apps/app_meetme.c: Merged revisions 304726 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r304726 | seanbright | 2011-01-29 11:26:57 -0500 (Sat, 29 Jan 2011) | 9 lines Fix user reference leak in MeetMe. We were unlinking the user from the conferences user container, but not decrementing the reference count of the user as well, resulting in a leak. (closes issue #18444) Reported by: junky Tested by: seanbright ........ * /, apps/app_meetme.c: Merged revisions 304659,304682 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r304659 | seanbright | 2011-01-28 16:22:09 -0500 (Fri, 28 Jan 2011) | 5 lines Don't leak references if we can't create a pseudo channel for mixing in MeetMe. If there was a problem allocating a pseudo channel when building our meetme, we weren't destroying our user container or destroying the mutexes that we created. ........ r304682 | seanbright | 2011-01-28 17:38:05 -0500 (Fri, 28 Jan 2011) | 2 lines Revert part of the previous commit that snuck in. ........ * main/acl.c: Restore some conditionals that we lost in r277814. There are some cases where ast_append_ha() is called with a NULL instead of a valid int pointer. So if we get a NULL, don't try to dereference it. (closes issue #18162) Reported by: imcdona Patches: issue0018162.patch uploaded by pabelanger (license 224) Tested by: enegaard 2011-01-27 19:08 +0000 [r304554] Richard Mudgett * main/ccss.c: Warning message if CALLCOMPLETION(cc_callback_macro or cc_agent_dialstring) are empty. Test if the value pointer is not NULL instead of not ast_strlen_zero(). 2011-01-27 17:03 +0000 [r304462-304466] Jason Parker * /, configure, configure.ac: Merged revisions 304465 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r304465 | qwell | 2011-01-27 11:01:24 -0600 (Thu, 27 Jan 2011) | 16 lines Merged revisions 304464 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r304464 | qwell | 2011-01-27 10:57:46 -0600 (Thu, 27 Jan 2011) | 9 lines Fix default prefix=/usr regression on non-Linux systems. This partially reverts a change made in branches/1.4/ r267759, which will cause issue #17013 to be reopened. This issue was pointed out by a user on #asterisk, who helpfully discovered that paths were being set incorrectly. To truly understand what was wrong, one should run: svn diff --force -c configure ........ ................ * /, configure: Merged revisions 304461 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r304461 | qwell | 2011-01-27 10:48:00 -0600 (Thu, 27 Jan 2011) | 9 lines Merged revisions 304460 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r304460 | qwell | 2011-01-27 10:47:03 -0600 (Thu, 27 Jan 2011) | 1 line Rerun bootstrap.sh with no changes, so that it is more obvious what my next commit changes. ........ ................ 2011-01-26 22:27 +0000 [r304339] Jeff Peeler * /, main/features.c: Merged revisions 304338 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r304338 | jpeeler | 2011-01-26 16:26:37 -0600 (Wed, 26 Jan 2011) | 2 lines Change delimiter used internally for GOTO_ON_BLINDXFR to commas to match 76703. ........ 2011-01-26 21:02 +0000 [r304251] Mark Michelson * main/udptl.c, /: Merged revisions 304250 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r304250 | mmichelson | 2011-01-26 15:02:10 -0600 (Wed, 26 Jan 2011) | 9 lines Merged revisions 304242 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r304242 | mmichelson | 2011-01-26 14:38:37 -0600 (Wed, 26 Jan 2011) | 3 lines Get rid of unused 'verbose' field in ast_udptl ........ ................ 2011-01-26 20:43 +0000 [r304245] Matthew Nicholson * channels/sip/include/sip.h, channels/sip/include/reqresp_parser.h, /, channels/chan_sip.c, channels/sip/reqresp_parser.c: Merged revisions 304244 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r304244 | mnicholson | 2011-01-26 14:42:16 -0600 (Wed, 26 Jan 2011) | 13 lines Merged revisions 304241 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r304241 | mnicholson | 2011-01-26 14:38:22 -0600 (Wed, 26 Jan 2011) | 6 lines This patch modifies chan_sip to route responses to the address the request came from. It also modifies chan_sip to respect the maddr parameter in the Via header. ABE-2664 Review: https://reviewboard.asterisk.org/r/1059/ ........ ................ 2011-01-26 20:23 +0000 [r304186] Sean Bright * /, configs/queues.conf.sample: Merged revisions 304181 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r304181 | seanbright | 2011-01-26 15:22:47 -0500 (Wed, 26 Jan 2011) | 9 lines Merged revisions 304159 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r304159 | seanbright | 2011-01-26 15:18:29 -0500 (Wed, 26 Jan 2011) | 1 line Make sure the sample queues.conf is properly commented. ........ ................ 2011-01-26 19:39 +0000 [r304150] Richard Mudgett * channels/chan_dahdi.c, /: Merged revisions 304149 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r304149 | rmudgett | 2011-01-26 13:38:38 -0600 (Wed, 26 Jan 2011) | 9 lines Merged revisions 304148 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier .......... r304148 | rmudgett | 2011-01-26 13:23:46 -0600 (Wed, 26 Jan 2011) | 2 lines Update documentation for DAHDISendCallreroutingFacility() application. .......... ................ 2011-01-26 01:26 +0000 [r304097] Sean Bright * /, main/file.c: Merged revisions 304096 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r304096 | seanbright | 2011-01-25 20:24:58 -0500 (Tue, 25 Jan 2011) | 12 lines Per the man page, setvbuf() must be called before any other operation on an open file. We use setvbuf() to associate a buffer with a stream, but we have already written to the open file. This works (by chance) on Linux, but fails on other platforms, such as OpenSolaris. (closes issue #16610) Reported by: bklang Patches: setvbuf.patch uploaded by crjw (license 963) Tested by: bklang, asgaroth, efutch ........ 2011-01-25 23:28 +0000 [r304007] Richard Mudgett * /, main/features.c: Merged revisions 304006 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r304006 | rmudgett | 2011-01-25 17:25:32 -0600 (Tue, 25 Jan 2011) | 15 lines Merged revisions 304005 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r304005 | rmudgett | 2011-01-25 17:21:09 -0600 (Tue, 25 Jan 2011) | 8 lines DTMF attended transfers sometimes fail for no apparent reason. The loop in feature_request_and_dial() can exit when Party C has answered without processing an AST_CONTROL_ANSWER. Also sometimes an AST_CONTROL_ANSWER never happens even though Party C has answered. Don't hangup Party C if he is up or we receive an AST_CONTROL_ANSWER. ........ ................ 2011-01-25 22:09 +0000 [r303962] Terry Wilson * /, channels/chan_sip.c: Merged revisions 303960 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r303960 | twilson | 2011-01-25 16:02:42 -0600 (Tue, 25 Jan 2011) | 23 lines Merged revisions 303906 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r303906 | twilson | 2011-01-25 14:50:59 -0600 (Tue, 25 Jan 2011) | 16 lines Guard against retransmitting BYEs indefinitely In the case of an attended transfer (A calls B, A atxfers to C) where A becomes unreachable before replying to Asterisk's BYE, Asterisk can sometimes retransmit the BYE indefinitely. This is because __sip_autodestruct tests p->refer && !ast_test_flag(&p->flags[0], SIP_ALREADYGONE and will then transmit a BYE. When this BYE times out, it will not ever be marked as ALREADYGONE, so when __sip_autodestruct is called again, we end up starting the cycle over. This patch adds a call to sip_alreadygone(pkt->owner) in retrans_pkt in the case of a BYE that has timed out. This should prevent Asterisk from trying to transmit new BYE messages in the future. Review: https://reviewboard.asterisk.org/r/1077/ ........ ................ 2011-01-25 20:56 +0000 [r303907] Matthew Nicholson * include/asterisk/res_fax.h, res/res_fax.c: Reimplemented fax session reservation to reverse the ABI breakage introduced in r297486. 2011-01-25 18:55 +0000 [r303860] Tilghman Lesher * /, channels/chan_sip.c: Merged revisions 303858 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r303858 | tilghman | 2011-01-25 12:41:26 -0600 (Tue, 25 Jan 2011) | 5 lines Fix "sip show user ", so that it actually shows results, instead of just completing the last entry. (closes issue #16675) Reported by: pj ........ 2011-01-25 17:49 +0000 [r303771] Richard Mudgett * channels/sig_pri.c, channels/sig_ss7.c, channels/sig_pri.h, channels/chan_dahdi.c, channels/sig_ss7.h, /: Merged revisions 303769 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r303769 | rmudgett | 2011-01-25 11:42:42 -0600 (Tue, 25 Jan 2011) | 47 lines Merged revisions 303765 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r303765 | rmudgett | 2011-01-25 11:36:50 -0600 (Tue, 25 Jan 2011) | 40 lines Sending out unnecessary PROCEEDING messages breaks overlap dialing. Issue #16789 was a good idea. Unfortunately, it breaks overlap dialing through Asterisk. There is not enough information available at this point to know if dialing is complete. The ast_exists_extension(), ast_matchmore_extension(), and ast_canmatch_extension() calls are not adequate to detect a dial through extension pattern of "_9!". Workaround is to use the dialplan Proceeding() application early in non-dial through extensions. * Effectively revert issue #16789. * Allow outgoing overlap dialing to hear dialtone and other early media. A PROGRESS "inband-information is now available" message is now sent after the SETUP_ACKNOWLEDGE message for non-digital calls. An AST_CONTROL_PROGRESS is now generated for incoming SETUP_ACKNOWLEDGE messages for non-digital calls. * Handling of the AST_CONTROL_CONGESTION in chan_dahdi/sig_pri was inconsistent with the cause codes. * Added better protection from sending out of sequence messages by combining several flags into a single enum value representing call progress level. * Added diagnostic messages for deferred overlap digits handling corner cases. (closes issue #17085) Reported by: shawkris (closes issue #18509) Reported by: wimpy Patches: issue18509_early_media_v1.8_v3.patch uploaded by rmudgett (license 664) Expanded upon issue18509_early_media_v1.8_v3.patch to include analog and SS7 because of backporting requirements. Tested by: wimpy, rmudgett ........ ................ 2011-01-25 17:02 +0000 [r303678] Jeff Peeler * apps/app_voicemail.c, /: Merged revisions 303677 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r303677 | jpeeler | 2011-01-25 10:59:28 -0600 (Tue, 25 Jan 2011) | 26 lines Merged revisions 303676 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r303676 | jpeeler | 2011-01-25 10:58:29 -0600 (Tue, 25 Jan 2011) | 20 lines Fix voicemail sequencing for file based storage. A previous change was made to account for when the number of voicemail messages exceeds the max limit to be handled properly, but it caused gaps in the messages to not be properly handled. This has now been resolved. In later non 1.4 branches, it appears that resequencing wasn't even occurring due from what appears and accidental code removal. (closes issue #18498) Reported by: JJCinAZ Patches: bug18498v2.patch uploaded by jpeeler (license 325) (closes issue #18486) Reported by: bluefox Patches: bug18486.patch uploaded by jpeeler (license 325) ........ ................ 2011-01-24 20:51 +0000 [r303549] Russell Bryant * include/asterisk/channel.h, main/channel.c, main/pbx.c, /, apps/app_meetme.c, main/features.c: Merged revisions 303548 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r303548 | russell | 2011-01-24 14:49:53 -0600 (Mon, 24 Jan 2011) | 38 lines Merged revisions 303546 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r303546 | russell | 2011-01-24 14:32:21 -0600 (Mon, 24 Jan 2011) | 31 lines Fix channel redirect out of MeetMe() and other issues with channel softhangup. Mantis issue #18585 reports that a channel redirect out of MeetMe() stopped working properly. This issue includes a patch that resolves the issue by removing a call to ast_check_hangup() from app_meetme.c. I left that in my patch, as it doesn't need to be there. However, the rest of the patch fixes this problem with or without the change to app_meetme. The key difference between what happens before and after this patch is the effect of the END_OF_Q control frame. After END_OF_Q is hit in ast_read(), ast_read() will return NULL. With the ast_check_hangup() removed, app_meetme sees this which causes it to exit as intended. Checking ast_check_hangup() caused app_meetme to exit earlier in the process, and the target of the redirect saw the condition where ast_read() returned NULL. Removing ast_check_hangup() works around the issue in app_meetme, but doesn't solve the issue if another application did the same thing. There are also other edge cases where if an application finishes at the same time that a redirect happens, the target of the redirect will think that the channel hung up. So, I made some changes in pbx.c to resolve it at a deeper level. There are already places that unset the SOFTHANGUP_ASYNCGOTO flag in an attempt to abort the hangup process. My patch extends this to remove the END_OF_Q frame from the channel's read queue, making the "abort hangup" more complete. This same technique was used in every place where a softhangup flag was cleared. (closes issue #18585) Reported by: oej Tested by: oej, wedhorn, russell Review: https://reviewboard.asterisk.org/r/1082/ ........ ................ 2011-01-24 17:20 +0000 [r303467] Jason Parker * channels/chan_dahdi.c, /: Merged revisions 303285 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r303285 | qwell | 2011-01-21 15:48:09 -0600 (Fri, 21 Jan 2011) | 15 lines Merged revisions 303284 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r303284 | qwell | 2011-01-21 15:45:34 -0600 (Fri, 21 Jan 2011) | 8 lines Reset configuration before parsing users.conf. Some values configured in chan_dahdi.conf were able to leak in to users.conf configuration. This was surprising users, and potentially setting non-sane "defaults". ASTNOW-125 ........ ................ 2011-01-21 23:11 +0000 [r303286-303375] Jason Parker * channels/chan_dahdi.c, /: Temporarily revert r303286 * channels/chan_dahdi.c, /: Merged revisions 303285 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r303285 | qwell | 2011-01-21 15:48:09 -0600 (Fri, 21 Jan 2011) | 15 lines Merged revisions 303284 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r303284 | qwell | 2011-01-21 15:45:34 -0600 (Fri, 21 Jan 2011) | 8 lines Reset configuration before parsing users.conf. Some values configured in chan_dahdi.conf were able to leak in to users.conf configuration. This was surprising users, and potentially setting non-sane "defaults". ASTNOW-125 ........ ................ 2011-01-20 20:31 +0000 [r303153] Richard Mudgett * main/ccss.c: Merged revision 303098 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier .......... r303098 | rmudgett | 2011-01-20 12:11:45 -0600 (Thu, 20 Jan 2011) | 15 lines CC_INTERFACES does not get built correctly with local channels. If local channels are used with CCSS, CC_INTERFACES gets garbage prepended to it so the CC recall fails. Also CC_INTERFACES gets "&(null)" appended to it. * Initialize the buffer to eliminate the prepended garbage. * Filter out the empty interface strings to eliminate the latter. * Added a diagnostic message if the CC_INTERFACES is ever empty. JIRA ABE-2740 JIRA SWP-2848 .......... 2011-01-20 19:57 +0000 [r303107] Shaun Ruffell * /, main/features.c: Merged revisions 303106 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r303106 | sruffell | 2011-01-20 13:56:34 -0600 (Thu, 20 Jan 2011) | 15 lines main/features: Use POLLPRI when waiting for events on parked channels. This change resolves a regression in the 1.6.2 when converting from select to poll. The DAHDI timers use POLLPRI to indicate that the timer fired, but features was not waiting for that flag. The result was no audio for MOH when a call was parked and res_timing_dahdi was in use. This patch is slightly modified from the one on the mantis issue. It does not set an exception on the channel if the POLLPRI flag is set. (closes issue #18262) Reported by: francesco_r Patches: patch_park_moh-trunk-2.txt uploaded by cjacobsen (license 1029) Tested by: francesco_r, rfrantik, one47 ........ 2011-01-20 17:10 +0000 [r303009] Jeff Peeler * apps/app_queue.c, /, configs/queues.conf.sample: Merged revisions 303008 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r303008 | jpeeler | 2011-01-20 11:07:44 -0600 (Thu, 20 Jan 2011) | 14 lines Merged revisions 303007 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r303007 | jpeeler | 2011-01-20 11:04:08 -0600 (Thu, 20 Jan 2011) | 8 lines Add new queue strategy to preserve behavior for when queue members moved to ao2. Add queue strategy called "rrordered" to mimic old behavior from when queue members were stored in a linked list. ABE-2707 ........ ................ 2011-01-20 16:12 +0000 [r302921] Russell Bryant * /, apps/app_privacy.c: Merged revisions 302920 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r302920 | russell | 2011-01-20 10:11:58 -0600 (Thu, 20 Jan 2011) | 2 lines Resolve a compiler warning. ........ 2011-01-20 15:45 +0000 [r302918] Leif Madsen * apps/app_dial.c, /: Merged revisions 302917 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r302917 | lmadsen | 2011-01-20 09:42:05 -0600 (Thu, 20 Jan 2011) | 8 lines Option L() is milliseconds, not seconds. > Change the verbose output of option L() to say milliseconds and not seconds > as the value is in milliseconds. > > (closes issue #18264) > Reported by: jacco > Patches: > app_dial_patch.txt uploaded by lmadsen (license 10) ........ 2011-01-19 23:56 +0000 [r302837] Russell Bryant * main/manager.c: Only check container count if it exists. 2011-01-19 23:49 +0000 [r302834] Sean Bright * apps/app_voicemail.c, /: Merged revisions 302833 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r302833 | seanbright | 2011-01-19 18:47:22 -0500 (Wed, 19 Jan 2011) | 7 lines Support greetingsfolder as documented in voicemail.conf.sample. (closes issue #17870) Reported by: edhorton Patches: __20100816-app_voicemail-greetingsfolder-support.txt uploaded by lmadsen (license 10) ........ 2011-01-19 23:29 +0000 [r302831] Paul Belanger * contrib/scripts/install_prereq: Add binutils-dev for BETTER_BACKTRACES 2011-01-19 23:06 +0000 [r302785-302789] Russell Bryant * main/manager.c, /: Merged revisions 302788 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r302788 | russell | 2011-01-19 17:06:14 -0600 (Wed, 19 Jan 2011) | 4 lines Turn a noisy verbose message into a debug message. This can drown your console if you're using the AMI over HTTP. ........ * main/manager.c: Resolve a memory leak with the manager interface is disabled. The intent of this check as it stands in previous versions of Asterisk was to check if there are any active sessions. If there were no sessions, then the function would return immediately and not bother with queueing up the manager event to be processed. Since the conversion of storing sessions in an astobj2 container, this check will always pass. I changed it to go back to checking what was intended. The side effect of this was that if the AMI is disabled, the manager event queue is populated anyway, but the code that runs to clear out the queue never runs. A producer with no consumer is a bad thing. Reported internally by kmorgan. 2011-01-19 21:29 +0000 [r302713] Richard Mudgett * /, main/features.c: Merged revisions 302693 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r302693 | rmudgett | 2011-01-19 15:25:41 -0600 (Wed, 19 Jan 2011) | 22 lines Merged revisions 302671 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r302671 | rmudgett | 2011-01-19 15:21:56 -0600 (Wed, 19 Jan 2011) | 15 lines DTMF transfer plays the wrong sounds for wrong number or other call failure. * Set the default for features.conf.sample xferfailsound option to "beeperr" as documented instead of "pbx-invalid" and corrected the use of it in DTMF blind transfer (#1). * Improved DTMF blind transfer handling of wrong numbers. Most of the concerns in this issue were taken care of by the patch for issue 17999: Issues with DTMF triggered attended transfers. (closes issue #18379) Reported by: gincantalupo Tested by: rmudgett ........ ................ 2011-01-19 21:23 +0000 [r302634-302680] Tilghman Lesher * include/asterisk/astdb.h, /: Merged revisions 302675 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r302675 | tilghman | 2011-01-19 15:22:45 -0600 (Wed, 19 Jan 2011) | 9 lines Merged revisions 302663 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r302663 | tilghman | 2011-01-19 15:20:28 -0600 (Wed, 19 Jan 2011) | 2 lines Add some API documentation ........ ................ * main/app.c, /: Merged revisions 302599 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r302599 | tilghman | 2011-01-19 14:13:24 -0600 (Wed, 19 Jan 2011) | 15 lines Kill zombies. When we ast_safe_fork() with a non-zero argument, we're expected to reap our own zombies. On a zero argument, however, the zombies are only reaped when there aren't any non-zero forked children alive. At other times, we accumulate zombies. This code is forward ported from res_agi in 1.4, so that forked children are always reaped, thus preventing an accumulation of zombie processes. (closes issue #18515) Reported by: ernied Patches: 20101221__issue18515.diff.txt uploaded by tilghman (license 14) Tested by: ernied ........ 2011-01-19 20:14 +0000 [r302600] Jason Parker * res/res_fax.c: Fix typo pointed out on asterisk-users list. 2011-01-19 19:03 +0000 [r302505-302555] Sean Bright * main/utils.c, /: Merged revisions 302554 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r302554 | seanbright | 2011-01-19 14:02:29 -0500 (Wed, 19 Jan 2011) | 7 lines Don't call strlen() when we only need to look at the next character or two. (closes issue #18042) Reported by: wdoekes Patches: astsvn-inefficient-ast-uri-decode.patch uploaded by wdoekes (license 717) ........ * /, main/features.c: Merged revisions 302551 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r302551 | seanbright | 2011-01-19 13:54:03 -0500 (Wed, 19 Jan 2011) | 7 lines Remove an extraneous \r\n at the end of a parking manager events. (closes issue #18363) Reported by: clegall_proformatique Patches: asterisk_1.8_295998_parking_manager_events_format.patch uploaded by clegall proformatique (license 1139) ........ * /, res/res_agi.c: Merged revisions 302548 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r302548 | seanbright | 2011-01-19 13:37:09 -0500 (Wed, 19 Jan 2011) | 10 lines Properly handle partial reads from fgets() when handling AGIs. When fgets() failed with EAGAIN, we were continually decrementing the available space left in our buffer, resulting in botched command handling. (closes issue #16032) Reported by: notahat Patches: agi_buffer_patch2.diff uploaded by fnordian (license 110) ........ * main/utils.c, /: Merged revisions 302504 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r302504 | seanbright | 2011-01-19 12:56:32 -0500 (Wed, 19 Jan 2011) | 7 lines Make sure that h_length is set when we short-circuit out of ast_gethostbyname. (closes issue #16135) Reported by: thedavidfactor Patches: utils.patch uploaded by thedavidfactor (license 903) ........ 2011-01-19 17:09 +0000 [r302462] Paul Belanger * /, res/res_timing_timerfd.c: Merged revisions 302461 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r302461 | pabelanger | 2011-01-19 12:08:01 -0500 (Wed, 19 Jan 2011) | 2 lines Handle 'Resource temporarily unavailable' error more gracefully. ........ 2011-01-19 15:53 +0000 [r302412-302417] Sean Bright * configs/extensions.conf.sample, /: Merged revisions 302416 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r302416 | seanbright | 2011-01-19 10:52:44 -0500 (Wed, 19 Jan 2011) | 9 lines Remove references to priorityjumping from the sample extensions.conf. Priority jumping was removed from pbx_config in r68970. (closes issue #18622) Reported by: kshumard Patches: extensions.conf.sample.patch uploaded by kshumard (license 92) ........ * channels/chan_sip.c: Initialize an uninitialized variable. (closes issue #18640) Reported by: jcovert Patches: chan_sip.c.patch uploaded by jcovert (license 551) * channels/chan_local.c: Use appropriate type for requested format in chan_local. We were passing and storing the requested format as an int instead of format_t resulting in truncation. (closes issue #18238) Reported by: whizemen Patches: 0018238_speex16.patch uploaded by whizemen (license 1143) 2011-01-18 22:04 +0000 [r302318] Richard Mudgett * main/features.c: Use the expanded format type instead of plain int. 2011-01-18 21:43 +0000 [r302314] Matthew Nicholson * /, channels/chan_sip.c: Merged revisions 302313 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r302313 | mnicholson | 2011-01-18 15:40:03 -0600 (Tue, 18 Jan 2011) | 11 lines Merged revisions 302311 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r302311 | mnicholson | 2011-01-18 15:35:03 -0600 (Tue, 18 Jan 2011) | 4 lines URI encode the user part of the contact header. ABE-2705 ........ ................ 2011-01-18 20:19 +0000 [r302267] Russell Bryant * main/astobj2.c: Don't enable AO2_DEBUG by default if AST_DEVMODE is on. AO2_DEBUG is not important and is causing a false compiler warning to be generated on my Ubuntu Natty dev box. 2011-01-18 20:19 +0000 [r302266] Jeff Peeler * main/pbx.c, /: Merged revisions 302265 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r302265 | jpeeler | 2011-01-18 14:13:52 -0600 (Tue, 18 Jan 2011) | 27 lines Convert device state callbacks to ao2 objects to fix a deadlock in chan_sip. Lock scenario presented here: Thread 1 holds ast_rdlock_contexts &conlock holds handle_statechange hints holds handle_statechange hint waiting for cb_extensionstate Locked Here: chan_sip.c line 7428 (find_call) Thread 2 holds handle_request_do &netlock holds find_call sip_pvt_ptr waiting for ast_rdlock_contexts &conlock Locked Here: pbx.c line 9911 (ast_rdlock_contexts) Chan_sip has an established locking order of locking the sip_pvt and then getting the context lock. So the as stated by the summary, the operations in thread 2 have been modified to no longer require the context lock. (closes issue #18310) Reported by: one47 Patches: statecbs_ao2.mk2.patch uploaded by one47 (license 23), modified by me Review: https://reviewboard.asterisk.org/r/1072/ ........ 2011-01-18 18:11 +0000 [r302174] Richard Mudgett * /, main/features.c: Merged revisions 302173 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r302173 | rmudgett | 2011-01-18 12:07:15 -0600 (Tue, 18 Jan 2011) | 95 lines Merged revisions 302172 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r302172 | rmudgett | 2011-01-18 12:04:36 -0600 (Tue, 18 Jan 2011) | 88 lines Issues with DTMF triggered attended transfers. Issue #17999 1) A calls B. B answers. 2) B using DTMF dial *2 (code in features.conf for attended transfer). 3) A hears MOH. B dial number C 4) C ringing. A hears MOH. 5) B hangup. A still hears MOH. C ringing. 6) A hangup. C still ringing until "atxfernoanswertimeout" expires. For v1.4 C will ring forever until C answers the dead line. (Issue #17096) Problem: When A and B hangup, C is still ringing. Issue #18395 SIP call limit of B is 1 1. A call B, B answered 2. B *2(atxfer) call C 3. B hangup, C ringing 4. Timeout waiting for C to answer 5. Recall to B fails because B has reached its call limit. Because B reached its call limit, it cannot do anything until the transfer it started completes. Issue #17273 Same scenario as issue 18395 but party B is an FXS port. Party B cannot do anything until the transfer it started completes. If B goes back off hook before C answers, B hears ringback instead of the expected dialtone. ********** Note for the issue #17273 and #18395 fix: DTMF attended transfer works within the channel bridge. Unfortunately, when either party A or B in the channel bridge hangs up, that channel is not completely hung up until the transfer completes. This is a real problem depending upon the channel technology involved. For chan_dahdi, the channel is crippled until the hangup is complete. Either the channel is not useable (analog) or the protocol disconnect messages are held up (PRI/BRI/SS7) and the media is not released. For chan_sip, a call limit of one is going to block that endpoint from any further calls until the hangup is complete. For party A this is a minor problem. The party A channel will only be in this condition while party B is dialing and when party B and C are conferring. The conversation between party B and C is expected to be a short one. Party B is either asking a question of party C or announcing party A. Also party A does not have much incentive to hangup at this point. For party B this can be a major problem during a blonde transfer. (A blonde transfer is our term for an attended transfer that is converted into a blind transfer. :)) Party B could be the operator. When party B hangs up, he assumes that he is out of the original call entirely. The party B channel will be in this condition while party C is ringing, while attempting to recall party B, and while waiting between call attempts. WARNING: The ATXFER_NULL_TECH conditional is a hack to fix the problem. It will replace the party B channel technology with a NULL channel driver to complete hanging up the party B channel technology. The consequences of this code is that the 'h' extension will not be able to access any channel technology specific information like SIP statistics for the call. ATXFER_NULL_TECH is not defined by default. ********** (closes issue #17999) Reported by: iskatel Tested by: rmudgett JIRA SWP-2246 (closes issue #17096) Reported by: gelo Tested by: rmudgett JIRA SWP-1192 (closes issue #18395) Reported by: shihchuan Tested by: rmudgett (closes issue #17273) Reported by: grecco Tested by: rmudgett Review: https://reviewboard.asterisk.org/r/1047/ ........ ................ 2011-02-22 Leif Madsen * Asterisk 1.8.3 Released. * Merged changes related to AST-2011-002 2011-02-16 Leif Madsen * Asterisk 1.8.3-rc3 Released. ------------------------------------------------------------------------ r301790 | jpeeler | 2011-01-14 11:32:53 -0600 (Fri, 14 Jan 2011) | 42 lines Resolve deadlock involving REFER. (closes issue 0018403) Reported by: jthurman Patches: 20110103-blind_deadlock.diff uploaded by jthurman (license 614) issue18403.patch uploaded by jpeeler (license 325) Tested by: jthurman ------------------------------------------------------------------------ ------------------------------------------------------------------------ r308002 | qwell | 2011-02-15 17:32:21 -0600 (Tue, 15 Feb 2011) | 10 lines Fix regression that changed behavior of queues when ringing a queue member. This reverts r298596, which was to fix a highly bizarre and contrived issue with a queue member that called into his own queue being transferred back into his own queue. I couldn't reproduce that issue in any way. I think one of the other recent transfer fixes actually fixed this. (closes issue 0018747) Reported by: vrban ------------------------------------------------------------------------ 2011-01-20 Leif Madsen * Asterisk 1.8.3-rc2 Released. ------------------------------------------------------------------------ r303907 | mnicholson | 2011-01-25 14:56:12 -0600 (Tue, 25 Jan 2011) | 2 lines Reimplemented fax session reservation to reverse the ABI breakage introduced in r297486. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r303106 | sruffell | 2011-01-20 13:56:35 -0600 (Thu, 20 Jan 2011) | 15 lines main/features: Use POLLPRI when waiting for events on parked channels. This change resolves a regression in the 1.6.2 when converting from select to poll. The DAHDI timers use POLLPRI to indicate that the timer fired, but features was not waiting for that flag. The result was no audio for MOH when a call was parked and res_timing_dahdi was in use. This patch is slightly modified from the one on the mantis issue. It does not set an exception on the channel if the POLLPRI flag is set. (closes issue 0018262) Reported by: francesco_r Patches: patch_park_moh-trunk-2.txt uploaded by cjacobsen (license 1029) Tested by: francesco_r, rfrantik, one47 ------------------------------------------------------------------------ ------------------------------------------------------------------------ r302785 | russell | 2011-01-19 16:35:15 -0600 (Wed, 19 Jan 2011) | 15 lines Resolve a memory leak with the manager interface is disabled. The intent of this check as it stands in previous versions of Asterisk was to check if there are any active sessions. If there were no sessions, then the function would return immediately and not bother with queueing up the manager event to be processed. Since the conversion of storing sessions in an astobj2 container, this check will always pass. I changed it to go back to checking what was intended. The side effect of this was that if the AMI is disabled, the manager event queue is populated anyway, but the code that runs to clear out the queue never runs. A producer with no consumer is a bad thing. Reported internally by kmorgan. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r302837 | russell | 2011-01-19 17:56:48 -0600 (Wed, 19 Jan 2011) | 2 lines Only check container count if it exists. ------------------------------------------------------------------------ 2011-01-17 Leif Madsen * Asterisk 1.8.3-rc1 Released. 2011-01-18 18:11 +0000 [r302174] Richard Mudgett * /, main/features.c: Merged revisions 302173 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r302173 | rmudgett | 2011-01-18 12:07:15 -0600 (Tue, 18 Jan 2011) | 95 lines Merged revisions 302172 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r302172 | rmudgett | 2011-01-18 12:04:36 -0600 (Tue, 18 Jan 2011) | 88 lines Issues with DTMF triggered attended transfers. Issue #17999 1) A calls B. B answers. 2) B using DTMF dial *2 (code in features.conf for attended transfer). 3) A hears MOH. B dial number C 4) C ringing. A hears MOH. 5) B hangup. A still hears MOH. C ringing. 6) A hangup. C still ringing until "atxfernoanswertimeout" expires. For v1.4 C will ring forever until C answers the dead line. (Issue #17096) Problem: When A and B hangup, C is still ringing. Issue #18395 SIP call limit of B is 1 1. A call B, B answered 2. B *2(atxfer) call C 3. B hangup, C ringing 4. Timeout waiting for C to answer 5. Recall to B fails because B has reached its call limit. Because B reached its call limit, it cannot do anything until the transfer it started completes. Issue #17273 Same scenario as issue 18395 but party B is an FXS port. Party B cannot do anything until the transfer it started completes. If B goes back off hook before C answers, B hears ringback instead of the expected dialtone. ********** Note for the issue #17273 and #18395 fix: DTMF attended transfer works within the channel bridge. Unfortunately, when either party A or B in the channel bridge hangs up, that channel is not completely hung up until the transfer completes. This is a real problem depending upon the channel technology involved. For chan_dahdi, the channel is crippled until the hangup is complete. Either the channel is not useable (analog) or the protocol disconnect messages are held up (PRI/BRI/SS7) and the media is not released. For chan_sip, a call limit of one is going to block that endpoint from any further calls until the hangup is complete. For party A this is a minor problem. The party A channel will only be in this condition while party B is dialing and when party B and C are conferring. The conversation between party B and C is expected to be a short one. Party B is either asking a question of party C or announcing party A. Also party A does not have much incentive to hangup at this point. For party B this can be a major problem during a blonde transfer. (A blonde transfer is our term for an attended transfer that is converted into a blind transfer. :)) Party B could be the operator. When party B hangs up, he assumes that he is out of the original call entirely. The party B channel will be in this condition while party C is ringing, while attempting to recall party B, and while waiting between call attempts. WARNING: The ATXFER_NULL_TECH conditional is a hack to fix the problem. It will replace the party B channel technology with a NULL channel driver to complete hanging up the party B channel technology. The consequences of this code is that the 'h' extension will not be able to access any channel technology specific information like SIP statistics for the call. ATXFER_NULL_TECH is not defined by default. ********** (closes issue #17999) Reported by: iskatel Tested by: rmudgett JIRA SWP-2246 (closes issue #17096) Reported by: gelo Tested by: rmudgett JIRA SWP-1192 (closes issue #18395) Reported by: shihchuan Tested by: rmudgett (closes issue #17273) Reported by: grecco Tested by: rmudgett Review: https://reviewboard.asterisk.org/r/1047/ ........ ................ 2011-01-17 15:04 +0000 [r302005] Terry Wilson * configs/sip.conf.sample: Document "encryption" option in sip.conf.sample 2011-01-14 21:09 +0000 [r301946] Richard Mudgett * channels/sig_pri.c: Deadlock between dahdi_request() and pri_dchannel() processing an incomming call. The sig_pri_new_ast_channel() is called with the channel private lock held when pri_dchannel() calls it and no channel private lock held when dahdi_request() calls it. The use of pri_grab() in sig_pri_new_ast_channel() could leave the channel private lock held when it returns if the lock was not held before calling it. Make sig_pri_new_ast_channel() just lock the PRI span lock instead of using pri_grab(). It is safe to do this because dahdi_request() does not have the channel private lock and the deadlock potential with the PRI span lock is only between pri_dchannel() and other threads. 2011-01-14 20:11 +0000 [r301851] Brett Bryant * channels/chan_multicast_rtp.c: Changing previous revisions 301845/301847 to use ast_sockaddr_setnull() instead of setting the field manually to avoid uninitialized data. Review: https://reviewboard.asterisk.org/r/1076/ 2011-01-14 20:05 +0000 [r301849] Andrew Latham * funcs/func_base64.c, /, funcs/func_aes.c: Add relationships to function documentation. Fix amatuer type mistake 2011-01-14 19:35 +0000 [r301845] Brett Bryant * channels/chan_multicast_rtp.c: Fix for a consistent MulticastRTP channel driver crash due to use of unitilized data. (closes issue #18290) (closes issue #18602) Reported by: voipgate, wybecom Review: https://reviewboard.asterisk.org/r/1076/ 2011-01-14 19:35 +0000 [r301844] Andrew Latham * funcs/func_base64.c, /, funcs/func_aes.c: Add relationships to function documentation. 2011-01-14 17:32 +0000 [r301790] Jeff Peeler * channels/chan_sip.c: Resolve deadlock involving REFER. Two fixes: 1) One must always have the private unlocked before calling pbx_builtin_setvar_helper to not invalidate locking order since it locks the channel. 2) Unlock the channel before calling pbx_find_extension, which starts and stops autoservice during the lookup. The problem scenario as illustrated by the reporter: Thread: do_monitor ----------------------- handle_request_do handle_incoming handle_request_refer ast_parking_ext_valid pbx_find_extension ast_autoservice_stop while (chan_list_state == as_chan_list_state) { usleep(1000); } Thread: autoservice_run ----------------------- autoservice_run chan = ast_waitfor_n ast_waitfor_nandfds ast_waitfor_nandfds_classic / simple / complex (depending on your system) ast_channel_lock(c[x]); handle_request_do and schedule_process_request_queue locks the owner if it exists. The autoservice thread is waiting for the channel lock, which wasn't ever released since the do_monitor thread was waiting for autoservice operations to complete. Solved by unlocking the channel but keeping a reference to guarantee safety. (closes issue #18403) Reported by: jthurman Patches: 20110103-blind_deadlock.diff uploaded by jthurman (license 614) issue18403.patch uploaded by jpeeler (license 325) Tested by: jthurman 2011-01-13 17:01 +0000 [r301731] Leif Madsen * configs/phoneprov.conf.sample, /: Merged revisions 301730 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r301730 | lmadsen | 2011-01-13 11:01:11 -0600 (Thu, 13 Jan 2011) | 7 lines Add static entry for split Polycom 332 firmware. (closes issue #18607) Reported by: cjacobsen Patches: polycom_331.diff uploaded by cjacobsen (license 1029) Tested by: lathama ........ 2011-01-12 21:19 +0000 [r301683] Terry Wilson * /, channels/chan_sip.c: Merged revisions 301682 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r301682 | twilson | 2011-01-12 15:05:02 -0600 (Wed, 12 Jan 2011) | 9 lines Don't reject all SUBSCRIBE auth requests When merging another SUBSCRIBE fix from 1.4, some braces were put in the wrong place. This patch fixes that. (closes issue #18597) Reported by: thsgmbh ........ 2011-01-12 18:51 +0000 [r301595] Matthew Nicholson * main/manager.c, /: Merged revisions 301594 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r301594 | mnicholson | 2011-01-12 12:50:31 -0600 (Wed, 12 Jan 2011) | 15 lines Removed a usleep(1) that shouldn't be necessary in session_do, and removed the ms_t member from the mansession_session structure. Merged revisions 301591 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r301591 | mnicholson | 2011-01-12 12:39:03 -0600 (Wed, 12 Jan 2011) | 5 lines Don't store the thread id for the manager session in the structure we pass to the thread for the manager session. ABE-2543 ........ ................ 2011-01-12 18:12 +0000 [r301504] Jeff Peeler * main/channel.c, /: Merged revisions 301503 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r301503 | jpeeler | 2011-01-12 12:11:49 -0600 (Wed, 12 Jan 2011) | 19 lines Merged revisions 301502 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r301502 | jpeeler | 2011-01-12 12:10:42 -0600 (Wed, 12 Jan 2011) | 12 lines Fix CPU spike when pressing DTMF after agent login. The problem here is that DTMF was being continuously deferred and requeued since ast_safe_sleep is called in a loop. There are serveral other places in the code that sleeps and then loops in a similar fashion. Because of this fact I opted to not defer DTMF any more, which will not affect the original fix: https://reviewboard.asterisk.org/r/674 (closes issue #18130) Reported by: rgj ........ ................ 2011-01-12 16:05 +0000 [r301446] David Vossel * main/file.c: Removal of unused variables so Asterisk will compile. 2011-01-12 15:57 +0000 [r301444] Stefan Schmidt * Makefile: fix wrong text of rerun menuselect after user interface warning the warning, if no user interface for menuselect warning was found is not right. you have to rerun configure before make menuselect after installing a proper user interface. (closes issue #18594) Reported by: Dovid 2011-01-12 00:26 +0000 [r301402] Tilghman Lesher * main/file.c: Call execl() directly for a better solution for paths with spaces. (closes issue #18600) Reported by: ebroad Patches: 20110111__issue18600__2.diff.txt uploaded by tilghman (license 14) 2011-01-11 19:16 +0000 [r301311] Paul Belanger * configs/extensions.conf.sample, /: Merged revisions 301310 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r301310 | pabelanger | 2011-01-11 14:14:31 -0500 (Tue, 11 Jan 2011) | 2 lines Fix a logic issue when passing context ARG ........ 2011-01-11 18:51 +0000 [r301308] Matthew Nicholson * main/utils.c, /: Merged revisions 301307 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r301307 | mnicholson | 2011-01-11 12:42:05 -0600 (Tue, 11 Jan 2011) | 11 lines Merged revisions 301305 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r301305 | mnicholson | 2011-01-11 12:34:40 -0600 (Tue, 11 Jan 2011) | 4 lines Prevent buffer overflows in ast_uri_encode() ABE-2705 ........ ................ 2011-01-10 22:39 +0000 [r301263] Tilghman Lesher * main/strcompat.c: Little endian machines were not converted properly. (closes issue #18583) Reported by: jcovert Patches: 20110110__issue18583.diff.txt uploaded by tilghman (license 14) Tested by: jcovert 2011-01-09 21:40 +0000 [r301177-301221] Paul Belanger * autoconf/ast_ext_lib.m4, /, configure, configure.ac: Merged revisions 301220 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r301220 | pabelanger | 2011-01-09 16:38:24 -0500 (Sun, 09 Jan 2011) | 14 lines SOUND_CACHE_DIR now defaults to empty Sounds files included in the Asterisk tarball were being ignored and re-downloaded. Users wanting to cache the files can still override the setting using the --with-sounds-cache option. (closes issue #18589) Reported by: pabelanger Patches: issue18589.patch uploaded by pabelanger (license 224) Tested by: pabelanger Review: https://reviewboard.asterisk.org/r/1074/ ........ * apps/app_verbose.c, /: Merged revisions 301176 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r301176 | pabelanger | 2011-01-08 16:58:24 -0500 (Sat, 08 Jan 2011) | 7 lines Indicate log level argument for Log() is not optional (closes issue #18586) Reported by: kshumard Patches: app_verbose.c.patch uploaded by kshumard (license 92) ........ 2011-01-08 01:11 +0000 [r301134] Richard Mudgett * channels/chan_dahdi.c: The DTMF attended transfer feature cannot callback a chan_dahdi BRI phone. The DAHDI ISDN channel name is not dialable. Make a channel name like DAHDI/i3/400-12 dialable when the sequence number is stripped off of the name. 2011-01-07 20:53 +0000 [r301090] Jason Parker * /, apps/app_meetme.c: Merged revisions 301089 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r301089 | qwell | 2011-01-07 14:52:00 -0600 (Fri, 07 Jan 2011) | 8 lines Initialize useropts/adminopts in case there is no column in the realtime DB. (closes issue #18182) Reported by: dimas Patches: v1-18182.patch uploaded by dimas (license 88) Tested by: dimas ........ 2011-01-07 19:58 +0000 [r300955-301047] Jeff Peeler * apps/app_voicemail.c, /: Merged revisions 301046 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r301046 | jpeeler | 2011-01-07 13:57:42 -0600 (Fri, 07 Jan 2011) | 8 lines Fix regression causing forwarding voicemails to not work with file storage. I had actually already fixed this in 295200 in 1.4 and thought it wasn't missing in the other branches for some reason. (closes issue #18358) Reported by: cabal95 ........ * apps/app_voicemail.c, /: Merged revisions 300951 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r300951 | jpeeler | 2011-01-07 11:23:37 -0600 (Fri, 07 Jan 2011) | 14 lines Merged revisions 300918 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r300918 | jpeeler | 2011-01-07 11:13:21 -0600 (Fri, 07 Jan 2011) | 7 lines Ensure good bye prompt in voicemail is played at the correct time. Specifically in the case of timing out but not leaving voicemail nothing should be heard. And when leaving voicemail it should be heard. ABE-2647 ........ ................ 2011-01-06 06:28 +0000 [r300798] Tilghman Lesher * addons/res_config_mysql.c: Don't destroy handle not created by use (because the caller will). (closes issue #18526) Reported by: makoto Patches: res-config-mysql-include.patch uploaded by makoto (license 38) Tested by: makoto 2011-01-05 20:54 +0000 [r300714] Richard Mudgett * channels/sig_pri.c: Merged revision 300711 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier .......... r300711 | rmudgett | 2011-01-05 13:43:55 -0600 (Wed, 05 Jan 2011) | 14 lines A call retrieved from hold may wind up with no audio. If the retrieved call is natively bridged then the call may not have any audio path. The following warning message is given: "Failed to add to conference /: Invalid argument". * Open the media on a B channel when pri_fixup_principle() moves the call from a no_b_channel channel to a real channel. * Added lock protection while pri_fixup_principle() moves a call from one private structure to another. * Made some pri_fixup_principle() messages more meaningful. .......... 2011-01-05 18:56 +0000 [r300623] Tilghman Lesher * res/res_odbc.c, /: Merged revisions 300622 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r300622 | tilghman | 2011-01-05 12:54:58 -0600 (Wed, 05 Jan 2011) | 17 lines Merged revisions 300621 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r300621 | tilghman | 2011-01-05 12:47:46 -0600 (Wed, 05 Jan 2011) | 10 lines Use the sanity check in place of the disconnect/connect cycle. The disconnect/connect cycle has the potential to cause random crashes. (closes issue #18243) Reported by: ks3 Patches: res_odbc.patch uploaded by ks3 (license 1147) Tested by: ks3 ........ ................ 2011-01-05 16:29 +0000 [r300575] Paul Belanger * /, cdr/cdr_sqlite.c: Merged revisions 300574 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r300574 | pabelanger | 2011-01-05 11:28:07 -0500 (Wed, 05 Jan 2011) | 6 lines Change deprecated message to LOG_WARNING Also removed latter part of message Discussed on #asterisk-dev ........ 2011-01-04 21:53 +0000 [r300433-300521] Leif Madsen * channels/chan_iax2.c, main/xmldoc.c, /, channels/chan_sip.c, channels/chan_agent.c: Merged revisions 300520 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r300520 | lmadsen | 2011-01-04 15:52:41 -0600 (Tue, 04 Jan 2011) | 9 lines Fix backwards and broken XML documentation. (closes issue #18547) Reported by: jcovert Patches: xmldoc.c.patch uploaded by jcovert (license 551) chan_iax2.c.doc.patch uploaded by jcovert (license 551) chan_sip.c.patch uploaded by jcovert (license 551) chan_agent.c.patch uploaded by jcovert (license 551) ........ * configs/users.conf.sample, /: Merged revisions 300431 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r300431 | lmadsen | 2011-01-04 15:00:29 -0600 (Tue, 04 Jan 2011) | 7 lines Add some documentation to users.conf.sample. (closes issue #18531) Reported by: lathama Patches: users.conf.sample2.diff uploaded by lathama (license 1028) Tested by: lathama ........ 2011-01-04 21:00 +0000 [r300430] Russell Bryant * contrib/scripts/autosupport, /, contrib/scripts/autosupport.8: Merged revisions 300429 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r300429 | russell | 2011-01-04 14:59:56 -0600 (Tue, 04 Jan 2011) | 11 lines Merged revisions 300428 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r300428 | russell | 2011-01-04 14:56:04 -0600 (Tue, 04 Jan 2011) | 4 lines Update the autosupport script from Digium support. (closes AST-395) ........ ................ 2011-01-04 19:45 +0000 [r300384] Leif Madsen * phoneprov/000000000000.cfg: Update STAT() to use the comma instead of the pipe. (closes issue #18503) Reported by: cjacobsen Patches: old_separator.diff uploaded by cjacobsen (license 1029) Tested by: lathama 2011-01-04 17:54 +0000 [r300301] Terry Wilson * /, channels/chan_sip.c: Merged revisions 300298 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r300298 | twilson | 2011-01-04 11:37:26 -0600 (Tue, 04 Jan 2011) | 22 lines Merged revisions 300216 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r300216 | twilson | 2011-01-04 11:11:48 -0600 (Tue, 04 Jan 2011) | 15 lines Don't authenticate SUBSCRIBE re-transmissions This only skips authentication on retransmissions that are already authenticated. A similar method is already used for INVITES. This is the kind of thing we end up having to do when we don't have a transaction layer... (closes issue #18075) Reported by: mdu113 Patches: diff.txt uploaded by twilson (license 396) Tested by: twilson, mdu113 Review: https://reviewboard.asterisk.org/r/1005/ ........ ................ 2011-01-04 17:01 +0000 [r300214] Jan Kalab * res/res_calendar_exchange.c, res/res_calendar_icalendar.c: Memory leaking in calendars ne_request_destroy() was missing in icalendar and exchange calendar modules, causing memory leak. (closes issue #18521) Review: https://reviewboard.asterisk.org/r/1068/ 2011-01-03 23:14 +0000 [r300166] Richard Mudgett * /, main/features.c: Merged revisions 300165 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r300165 | rmudgett | 2011-01-03 17:02:13 -0600 (Mon, 03 Jan 2011) | 4 lines Use correct variable for atxfercallbackretries config option. * Misc formatting changes. ........ 2011-01-03 13:14 +0000 [r300082] Leif Madsen * pbx/pbx_dundi.c: Increase side of mapping response field. I've increased the size of the response field in a DUNDi mapping because of some documentation I'm writing. Previously it was set to AST_MAX_EXTENSION which is only 80 characters, which is far too small when you're using some dialplan functions to craft a response. The example I'm using is: extensions => RegisteredDevices,0,SIP,dundi:very_awesome_password/${IF($[${DB_EXISTS(phones/${NUMBER}/device)}]?${DB(phones/${NUMBER}/device)}:None)},nopartial 2010-12-29 22:02 +0000 [r299989] Tilghman Lesher * apps/app_voicemail.c, main/file.c: Quote arguments, just in case there's a space in a pathname. (Diagnosed by pabelanger on #asterisk-dev, fixed by me.) 2010-12-29 19:28 +0000 [r299865-299948] Paul Belanger * sounds/Makefile: Only remove /tmp/astdatadir, not /var/lib/asterisk * build_tools/make_sample_voicemail, sounds/Makefile, Makefile: Properly quote varibles for MAC OS X * apps/app_chanspy.c, /: Merged revisions 299864 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r299864 | pabelanger | 2010-12-28 13:51:13 -0500 (Tue, 28 Dec 2010) | 2 lines Documentation typo ........ 2010-12-27 21:23 +0000 [r299752-299820] Tilghman Lesher * sounds/Makefile: More space-in-pathname issues. * sounds/Makefile, Makefile, Makefile.moddir_rules: Mac OS X spaces-in-pathnames fix. * configure: Regen configure * configure.ac: Properly quote path on Darwin. 2010-12-25 16:12 +0000 [r299711] Alexandr Anikin * addons/ooh323c/src/oochannels.c, addons/ooh323c/src/ooq931.c, addons/ooh323c/src/ooh323.c, addons/ooh323c/src/ooh245.c: Change order of sending TCS and MSD packets Change order of sending Terminal Capability Set and MasterSlave Determination packets, MSD send when TCS exchange procedure is done (we send tcs ack to remote and we have remote tcs ack already or we receive tcs ack from remote and we have send our tcs ack to remote already). Some endpoints can work in this sequence only, i suggest they can't work with both (tcs and msd) exchange procedures simultaneously. Also changed StartH245 facility message sending. It send on incoming calls only due to some endpoints can't proccess properly this facility messages on their incoming calls. (issue #18433) Reported by: MrHanMan Patches: tcs-msd-h245-3.patch uploaded by may213 (license 454) Tested by: MrHanMan, may213 2010-12-25 10:07 +0000 [r299583-299626] Tilghman Lesher * channels/chan_local.c, /: Merged revisions 299625 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r299625 | tilghman | 2010-12-25 04:05:00 -0600 (Sat, 25 Dec 2010) | 12 lines Merged revisions 299624 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r299624 | tilghman | 2010-12-25 04:04:06 -0600 (Sat, 25 Dec 2010) | 5 lines Move check for extension existence below variable inheritance, due to the possible use of an eswitch. (closes issue #16228) Reported by: jlaguilar ........ ................ * addons/res_config_mysql.c: Reset 'first' variable after usage. (closes issue #18525) Reported by: makoto Patches: res-config-mysql-update2.patch uploaded by makoto (license 38) 2010-12-23 02:53 +0000 [r299531] Moises Silva * channels/chan_dahdi.c, /: Merged revisions 299530 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r299530 | moy | 2010-12-22 21:28:37 -0500 (Wed, 22 Dec 2010) | 7 lines Enqueue AST_CONTROL_PROGRESS after AST_CONTROL_RINGING when MFC-R2 calls are accepted (closes issue #18438) Reported by: mariner7 Tested by: moy ........ 2010-12-22 20:05 +0000 [r299449] Tilghman Lesher * pbx/ael/ael-test/ref.ael-test19, pbx/ael/ael-test/ref.ael-vtest13, res/ael/pval.c, pbx/ael/ael-test/ref.ael-vtest25, pbx/ael/ael-test/ref.ael-vtest17, /, pbx/ael/ael-test/ref.ael-test3: Merged revisions 299448 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r299448 | tilghman | 2010-12-22 14:03:30 -0600 (Wed, 22 Dec 2010) | 8 lines Resolve warnings by disambiguating the "s" extension as used by chan_dahdi from the "s" extension as used by the AEL macros. (closes issue #18480) Reported by: nivek Patches: 20101215__issue18480__2.diff.txt uploaded by tilghman (license 14) Tested by: nivek ........ 2010-12-22 02:10 +0000 [r299405] Richard Mudgett * channels/sig_pri.c: Chan_dahdi sends an empty COLP on the bridged channel. Chan_dahdi always inserts a connected party IE when you call from one dahdi channel to another dahdi channel, even if no such information was received on the 2nd channel. This clears the display of many phones. * Removed leftover artifact from before the valid flag was added. * Updated all of the channel's caller id information with the new connected line information instead of just the string parts. (closes issue #18508) Reported by: wimpy Patches: issue18508_trunk.patch uploaded by rmudgett (license 664) Tested by: wimpy, rmudgett 2010-12-21 15:25 +0000 [r299353] Matthew Nicholson * /, channels/chan_sip.c: Merged revisions 299242 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r299242 | mnicholson | 2010-12-20 15:25:35 -0600 (Mon, 20 Dec 2010) | 23 lines Merged revisions 299194,299198,299220 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r299194 | mnicholson | 2010-12-20 14:45:38 -0600 (Mon, 20 Dec 2010) | 6 lines Respond as soon as possible with a 202 Accepted to refer requests. This change also plugs a few memory leaks that can occur when parking sip calls. ABE-2656 ........ r299198 | mnicholson | 2010-12-20 15:00:44 -0600 (Mon, 20 Dec 2010) | 2 lines Remove changes to via processing that were not supposed to go into the last commit. ........ r299220 | mnicholson | 2010-12-20 15:21:39 -0600 (Mon, 20 Dec 2010) | 4 lines Use ast_free() instead of free() ABE-2656 ........ ................ 2010-12-21 00:44 +0000 [r299312] Paul Belanger * configs/cel.conf.sample: Correct typo with USER_DEFINED event. (closes issue #18461) Reported by: joscas Patches: cel.conf.sample.diff uploaded by lathama (license 1028) Tested by: lathama, joscas 2010-12-20 21:38 +0000 [r299248] Mark Michelson * channels/chan_sip.c: Fix a couple of CCSS issues. * Make sure to allocate a cc_params structure when creating autopeers. * Use sip_uri_cmp when retrieving SIP CC agents and monitors in case parameters appear in the URI. (closes issue #18504) Reported by: kkm (closes issue #18338) Reported by: GeorgeKonopacki Patches: 18338.diff uploaded by mmichelson (license 60) Tested by: GeorgeKonopacki 2010-12-20 18:17 +0000 [r299131-299138] Tilghman Lesher * sample.call, /: Merged revisions 299136 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r299136 | tilghman | 2010-12-20 12:16:37 -0600 (Mon, 20 Dec 2010) | 2 lines Documentation fix ........ * cdr/cdr_pgsql.c, /: Merged revisions 299130 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r299130 | tilghman | 2010-12-20 11:41:24 -0600 (Mon, 20 Dec 2010) | 11 lines If a call was not answered, then the billsec was calculated unusually large. Also, due to a copy and paste error, a request for the answer field would have given the start value, instead. (closes issue #18460) Reported by: joscas Patches: 20101215__issue18460.diff.txt uploaded by tilghman (license 14) Tested by: joscas ........ 2010-12-20 16:18 +0000 [r299088] Leif Madsen * /, main/features.c: Merged revisions 299087 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r299087 | lmadsen | 2010-12-20 10:18:03 -0600 (Mon, 20 Dec 2010) | 5 lines Note that Park() timeout is milliseconds. (closes issue #15758) Reported by: mmurdock Tested by: mmurdock, seanbright ........ 2010-12-20 09:14 +0000 [r299004] Tzafrir Cohen * main/aoc.c, channels/sig_pri.h, channels/chan_sip.c: Typos: recieved => received 2010-12-18 00:09 +0000 [r298818-298963] Tilghman Lesher * /, main/say.c: Merged revisions 298962 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r298962 | tilghman | 2010-12-17 18:08:57 -0600 (Fri, 17 Dec 2010) | 2 lines Remove backtrace used for testing merge process ........ * main/utils.c, main/astobj2.c, utils/conf2ael.c, include/asterisk/logger.h, configure, build_tools/menuselect-deps.in, main/logger.c, utils/ael_main.c, utils/hashtest2.c, makeopts.in, utils/check_expr.c, utils/refcounter.c, include/asterisk/utils.h, build_tools/cflags-devmode.xml, /, include/asterisk/autoconfig.h.in, main/Makefile, main/say.c, configure.ac, utils/hashtest.c: Merged revisions 298957 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r298957 | tilghman | 2010-12-17 17:30:55 -0600 (Fri, 17 Dec 2010) | 13 lines Merged revisions 298905 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r298905 | tilghman | 2010-12-17 15:40:56 -0600 (Fri, 17 Dec 2010) | 6 lines Let Asterisk find better backtrace information with libbfd. The menuselect option BETTER_BACKTRACES, if enabled, will use libbfd to search for better symbol information within both the Asterisk binary, as well as loaded modules, to assist when using inline backtraces to track down problems. ........ ................ * contrib/init.d/rc.debian.asterisk: -v implies -f, so override with -F. (closes issue #18446) Reported by: lathama Patches: rc.debian.asterisk.diff uploaded by lathama (license 1028) Tested by: lathama * /, configure, configure.ac: Merged revisions 298817 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r298817 | tilghman | 2010-12-17 15:03:06 -0600 (Fri, 17 Dec 2010) | 8 lines Also include PTHREAD_LIBS and PTHREAD_CFLAGS for SQLite 3, as it's needed on some platforms. (closes issue #18493) Reported by: pprindeville Patches: asterisk-1.8-sqlite3.patch uploaded by pprindeville (license 347) Tested by: pprindeville ........ 2010-12-17 17:26 +0000 [r298773] Brad Watkins * configs/sip.conf.sample, channels/chan_sip.c: Fix parsing of mwi => lines in sip.conf Reworking parsing of mwi => lines to resolve a segfault. Also add a set of unit tests for the function that does the parsing. (closes issue #18350) Reported by: gbour Tested by: Marquis, gbour Review: https://reviewboard.asterisk.org/r/1053/ 2010-12-16 23:31 +0000 [r298598-298685] Jeff Peeler * apps/app_voicemail.c, /: Merged revisions 298684 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r298684 | jpeeler | 2010-12-16 17:30:59 -0600 (Thu, 16 Dec 2010) | 9 lines Merged revisions 298683 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r298683 | jpeeler | 2010-12-16 17:29:30 -0600 (Thu, 16 Dec 2010) | 2 lines After recording only silence for a voicemail prepending, restore backup files. ........ ................ * apps/app_queue.c, /: Merged revisions 298597 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r298597 | jpeeler | 2010-12-16 14:49:33 -0600 (Thu, 16 Dec 2010) | 14 lines Merged revisions 298596 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r298596 | jpeeler | 2010-12-16 14:46:52 -0600 (Thu, 16 Dec 2010) | 7 lines Fix improper hangup when doing an attended transfer to queue. Had to indicate ringing in wait_for_answer so the attended transfer code would not try and hang up the local channel it created, which would kill the call. ABE-2624 ........ ................ 2010-12-16 09:28 +0000 [r298394-298539] Tilghman Lesher * channels/chan_sip.c: Ensure the ipaddr field in realtime is large enough to handle IPv6 addresses. (closes issue #18464) Reported by: IgorG Patches: realtime_ipv6store.diff uploaded by IgorG (license 20) (plus a few additional lines by tilghman) * res/res_config_odbc.c, /: Merged revisions 298481 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r298481 | tilghman | 2010-12-16 03:04:38 -0600 (Thu, 16 Dec 2010) | 21 lines Merged revisions 298480 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r298480 | tilghman | 2010-12-16 03:03:40 -0600 (Thu, 16 Dec 2010) | 14 lines Only increment the pointer once per loop, otherwise we corrupt the value. (closes issue #18251) Reported by: bcnit Patches: 20101110__issue18251.diff.txt uploaded by tilghman (license 14) Tested by: trev, jthurman, elguero (closes issue #18279) Reported by: zerohalo Patches: 20101109__issue18279.diff.txt uploaded by tilghman (license 14) Tested by: zerohalo ........ ................ * /, funcs/func_dialgroup.c: Merged revisions 298477 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r298477 | tilghman | 2010-12-16 02:54:23 -0600 (Thu, 16 Dec 2010) | 8 lines Eliminate duplicates from container. (closes issue #18091) Reported by: bunny Patches: 20101006__issue18091.diff.txt uploaded by tilghman (license 14) Tested by: bunny ........ * /, cdr/cdr_sqlite.c: Merged revisions 298393 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r298393 | tilghman | 2010-12-15 18:29:10 -0600 (Wed, 15 Dec 2010) | 15 lines Merged revisions 298392 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r298392 | tilghman | 2010-12-15 18:28:04 -0600 (Wed, 15 Dec 2010) | 8 lines Unregister before shutting down the connection, to avoid a race. (closes issue #18481) Reported by: pabelanger Patches: 20101215__issue18481.diff.txt uploaded by tilghman (license 14) Tested by: pabelanger ........ ................ 2010-12-13 17:11 +0000 [r298195] Richard Mudgett * channels/sig_pri.c, channels/chan_dahdi.c, /: Merged revisions 298194 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r298194 | rmudgett | 2010-12-13 11:04:41 -0600 (Mon, 13 Dec 2010) | 26 lines Merged revisions 298193 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r298193 | rmudgett | 2010-12-13 10:56:07 -0600 (Mon, 13 Dec 2010) | 19 lines Outgoing PRI/BRI calls cannot do DTMF triggered transfers. Outgoing PRI/BRI calls cannot do DTMF triggered transfers if a PROCEEDING message is not received. The debug output shows that the DTMF begin event is seen, but the DTMF end event is missing. When the DTMF begin happens, the call is muted so we now have one way audio (until a DTMF end event is somehow seen). * Made set the proceeding flag when the PRI_EVENT_ANSWER event is received. * Made absorb the DTMF begin and DTMF end events if we are overlap dialing and have not seen a PROCEEDING message. * Added a debug message when absorbing a DTMF event. JIRA SWP-2690 JIRA ABE-2697 ........ ................ 2011-01-12 Leif Madsen * Asterisk 1.8.2 Released. * Merge in a change in the configure script to fix an issue for Debian packagers. ------------------------------------------------------------------------ r301221 | pabelanger | 2011-01-09 15:40:35 -0600 (Sun, 09 Jan 2011) | 21 lines Merged revisions 301220 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 [^] ........ r301220 | pabelanger | 2011-01-09 16:38:24 -0500 (Sun, 09 Jan 2011) | 14 lines SOUND_CACHE_DIR now defaults to empty Sounds files included in the Asterisk tarball were being ignored and re-downloaded. Users wanting to cache the files can still override the setting using the --with-sounds-cache option. (closes issue 0018589) Reported by: pabelanger Patches: issue18589.patch uploaded by pabelanger (license 224) Tested by: pabelanger Review: https://reviewboard.asterisk.org/r/1074/ ------------------------------------------------------------------------ 2010-12-13 Leif Madsen * Asterisk 1.8.2-rc1 Released. 2010-12-11 21:45 +0000 [r298099] Alexandr Anikin * addons/ooh323c/src/ooGkClient.c: Correction to work with gatekeeper which don't send GK ID Don't use GK ID if it's not presented in GK replies Extract GK ID not only in GK confirm but in GK register confirm also (issue #18401) Reported by: MrHanMan Patches: no-gkid-2.patch uploaded by may213 (license 454) Tested by: may213, MrHanMan 2010-12-10 16:52 +0000 [r298054] Matthew Nicholson * res/res_fax.c: Prevent a memcpy overlap in GENERIC_FAX_EXEC_SET_VARS 2010-12-10 16:26 +0000 [r298051] Tilghman Lesher * main/netsock.c, /, configure, include/asterisk/autoconfig.h.in, configure.ac: Merged revisions 298050 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r298050 | tilghman | 2010-12-10 10:24:13 -0600 (Fri, 10 Dec 2010) | 11 lines Portability issue on OpenSolaris. Also detect the required structure element, because OpenSolaris defines SIOCGIFHWADDR, but without support for IP sockets. (closes issue #18442) Reported by: ranjtech Patches: 20101209__issue18442.diff.txt uploaded by tilghman (license 14) Tested by: ranjtech ........ 2010-12-09 22:18 +0000 [r297965] Terry Wilson * /, channels/chan_sip.c: Merged revisions 297960 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r297960 | twilson | 2010-12-09 16:10:31 -0600 (Thu, 09 Dec 2010) | 21 lines Merged revisions 297959 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r297959 | twilson | 2010-12-09 16:00:30 -0600 (Thu, 09 Dec 2010) | 14 lines Ignore spurious REGISTER requests If a REGISTER request with a Call-ID matching an existing transaction is received it was possible that the REGISTER request would overwrite the initreq of the private structure. This info is used to generate messages for other responses in the transaction. This patch ignores REGISTER requests that match non-REGISTER transactions. (closes issue #18051) Reported by: eeman Tested by: twilson Review: https://reviewboard.asterisk.org/r/1050/ ........ ................ 2010-12-09 21:32 +0000 [r297957] David Vossel * channels/chan_gtalk.c: Fixes issue with outbound google voice calls not working. Thanks to az1234 and nevermind_quack for their input in helping debug the issue. (closes issue #18412) Reported by: nevermind_quack Patches: fix uploaded by dvossel (license 671) 2010-12-09 20:48 +0000 [r297952] Terry Wilson * main/features.c: Don't crash after Set(CDR(userfield)=...) in ast_bridge_call Instead of setting peer->cdr = NULL, set it to not post. (closes issue #18415) Reported by: macbrody Patches: patch-18415 uploaded by jsolares (license 1167) Tested by: jsolares, twilson 2010-12-08 18:06 +0000 [r297909] Tilghman Lesher * configs/extensions.conf.sample, /: Merged revisions 297908 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r297908 | tilghman | 2010-12-08 12:04:38 -0600 (Wed, 08 Dec 2010) | 4 lines Use inheritance to get correct results for SIPFROMDOMAIN. (from an internal Digium discussion) ........ 2010-12-08 16:12 +0000 [r297905] Matthew Nicholson * res/res_fax.c: Display the capabilities requested when requesting a fax session fails instead of displaying a hex value. Tweak the way fax stats are calculated so that all fax attempts and faliures are logged. Also make ensure faxes are either counted as completed or falied and never both. FAX-210 2010-12-07 22:59 +0000 [r297825] Jeff Peeler * main/channel.c, /: Merged revisions 297824 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r297824 | jpeeler | 2010-12-07 16:58:54 -0600 (Tue, 07 Dec 2010) | 19 lines Merged revisions 297823 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r297823 | jpeeler | 2010-12-07 16:57:48 -0600 (Tue, 07 Dec 2010) | 12 lines Revert code that changed SSRC for DTMF. Some previous behavior was attempted to be restored, but mistakingly I did not realize that the previous behavior was incorrect. This fixes DTMF not being detected since DTMF shouldn't cause the SSRC to change. (related to issue #17404) (closes issue #18189) (closes issue #18352) Reported by: marcbou Tested by: cmbaker82 ........ ................ 2010-12-07 22:51 +0000 [r297733-297821] Tilghman Lesher * contrib/init.d/org.asterisk.muted.plist (added), Makefile, contrib/init.d/org.asterisk.asterisk.plist, utils/muted.c, /: Merged revisions 297819 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r297819 | tilghman | 2010-12-07 16:40:45 -0600 (Tue, 07 Dec 2010) | 11 lines Merged revisions 297818 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r297818 | tilghman | 2010-12-07 16:35:50 -0600 (Tue, 07 Dec 2010) | 4 lines Use non-deprecated APIs for CoreAudio Review: https://reviewboard.asterisk.org/r/1040/ ........ ................ * apps/app_followme.c, /: Merged revisions 297713 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r297713 | tilghman | 2010-12-06 18:21:50 -0600 (Mon, 06 Dec 2010) | 15 lines Merged revisions 297689 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r297689 | tilghman | 2010-12-06 18:07:37 -0600 (Mon, 06 Dec 2010) | 8 lines Don't create a Local channel if the target extension does not exist. (closes issue #18126) Reported by: junky Patches: followme.diff uploaded by junky (license 177) (partially restructured by me to avoid a possible memory leak) ........ ................ 2010-12-06 22:06 +0000 [r297607] Jeff Peeler * /, channels/chan_sip.c: Merged revisions 297605 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r297605 | jpeeler | 2010-12-06 16:03:04 -0600 (Mon, 06 Dec 2010) | 18 lines Merged revisions 297603 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r297603 | jpeeler | 2010-12-06 15:57:15 -0600 (Mon, 06 Dec 2010) | 12 lines Improve handling of REGISTER requests with multiple contact headers. The changes here attempt to more strictly follow RFC 3261 section 10.3. Basically the following will now cause a 400 Bad Response to be returned, if: - multiple Contact headers are present with one set to expire all bindings ("*") - wildcard parameter is specified for Contact without Expires header or Expires header is not set to zero. ABE-2442 ABE-2443 ........ ................ 2010-12-03 17:41 +0000 [r297535] Sean Bright * channels/chan_console.c, /: Merged revisions 297534 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r297534 | seanbright | 2010-12-03 12:40:52 -0500 (Fri, 03 Dec 2010) | 3 lines The CLI command should not contain s, these are for descriptions. ........ 2010-12-03 15:21 +0000 [r297486-297495] Matthew Nicholson * res/res_fax.c: Print a DEBUG message instead of a WARNING message when the selected fax tech does not support reserving sessions. Answer the channel before quering it for t.38 support. This is necessary for the query to work properly over local channels. * include/asterisk/res_fax.h, res/res_fax.c: Add support for reserving a fax session before answering the channel. Note: this change breaks ABI compatibility. FAX-217 2010-12-02 20:09 +0000 [r297406] Paul Belanger * Makefile, /: Merged revisions 297405 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r297405 | pabelanger | 2010-12-02 15:06:43 -0500 (Thu, 02 Dec 2010) | 14 lines Merged revisions 297404 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r297404 | pabelanger | 2010-12-02 15:01:08 -0500 (Thu, 02 Dec 2010) | 7 lines Resolve compile error under FreeBSD We now set _ASTCFLAGS+=-march=i686 for i386 processors, still allowing ASTCFLAGS to override the setting. Review: https://reviewboard.asterisk.org/r/1043/ ........ ................ 2010-12-02 18:13 +0000 [r297312] Terry Wilson * /, main/abstract_jb.c: Merged revisions 297311 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r297311 | twilson | 2010-12-02 12:07:39 -0600 (Thu, 02 Dec 2010) | 21 lines Merged revisions 297310 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r297310 | twilson | 2010-12-02 12:00:27 -0600 (Thu, 02 Dec 2010) | 12 lines Initialize offset for adaptive jitter buffer When the adaptive jitter buffer is enabled in sip.conf, the first frame placed in the jitter buffer fails with something like: jb_warning_output: Resyncing the jb. last_delay 0, this delay -215886466, threshold 1000, new offset 215886466 This happens because the offset is not initialized before calling jb_put(). This patch modifies jb_put_first_adaptive() to set the offset to the frame's timestamp. Review: https://reviewboard.asterisk.org/r/1041/ ........ ................ 2010-12-02 13:20 +0000 [r297245] Russell Bryant * /, apps/app_meetme.c: Merged revisions 297229 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r297229 | russell | 2010-12-02 07:16:47 -0600 (Thu, 02 Dec 2010) | 13 lines Merged revisions 297228 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r297228 | russell | 2010-12-02 07:16:15 -0600 (Thu, 02 Dec 2010) | 6 lines Add "DAHDI" to a couple of app_meetme error messages. This is in response to some questions on IRC. To the user, there was nothing that made it obvious that this error had anything to do with DAHDI not being loaded. ........ ................ 2010-12-01 19:47 +0000 [r297157] Matthew Nicholson * res/res_fax.c: Changed some NOTICE and WARNING messages to DEBUG messages. 2010-12-01 17:53 +0000 [r297075] Jeff Peeler * /, channels/chan_sip.c: Merged revisions 297073 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r297073 | jpeeler | 2010-12-01 11:52:46 -0600 (Wed, 01 Dec 2010) | 30 lines Merged revisions 297072 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r297072 | jpeeler | 2010-12-01 11:50:09 -0600 (Wed, 01 Dec 2010) | 23 lines Fix not stopping MOH when transfered local channel queue member is answered. The problem here is only present when local channels are used with the MOH passthru option as well as no optimization (/nm). I will describe the slightly bizarre scenario that was used to test, where phones B and C are queue members: Phone A dials into a queue with two members using local channels and the above options. Phone B answers. Phone A blind transfers phone B into the same queue. Phone A hangs up. Phone C answers, but phone B didn't stop playing MOH. In this scenario, the unhold frame that should have gotten to phone B never arrived due to the masquerade from the blind transfer. This is usually fine since app_queue manages the starting and stopping of MOH. However, with the passthrough option enabled when app_queue attempts to stop MOH it tries to do so on the local channel rather than the real channel. The easiest solution was to just make sure to send an unhold frame during the transfer since it wouldn't make sense to have MOH playing after a transfer anyway. This only modifies SIP transfers, but the other transfers did not seem to be a problem. If DTMF based transfers were a problem it might be okay to add ast_moh_stop to finishup, but I didn't want to have to add that unless required. ABE-2624 ........ ................ 2010-12-01 17:01 +0000 [r296951-296992] Tilghman Lesher * include/asterisk/frame.h, /: Merged revisions 296991 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r296991 | tilghman | 2010-12-01 11:01:00 -0600 (Wed, 01 Dec 2010) | 12 lines Merged revisions 296990 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r296990 | tilghman | 2010-12-01 10:59:26 -0600 (Wed, 01 Dec 2010) | 5 lines Clarify documentation on how we store codec preference lists. (closes issue #18397) Reported by: birgita ........ ................ * channels/chan_iax2.c, /: Merged revisions 296950 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r296950 | tilghman | 2010-11-30 19:38:19 -0600 (Tue, 30 Nov 2010) | 2 lines Missed initializations caused startup errors on Mac OS X (and possibly others, too). ........ 2010-12-01 00:28 +0000 [r296870] Jeff Peeler * apps/app_voicemail.c, /: Merged revisions 296869 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r296869 | jpeeler | 2010-11-30 18:24:58 -0600 (Tue, 30 Nov 2010) | 11 lines Merged revisions 296868 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r296868 | jpeeler | 2010-11-30 18:23:19 -0600 (Tue, 30 Nov 2010) | 4 lines Properly restore backup information file when hanging up during message prepending. ABE-2654 ........ ................ 2010-11-30 19:12 +0000 [r296787] Tilghman Lesher * apps/app_meetme.c: DOC: Conference number can be omitted; if omitted, all users in a meetme are listed. 2010-11-29 23:05 +0000 [r296673] Paul Belanger * channels/chan_iax2.c, /: Merged revisions 296671 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r296671 | pabelanger | 2010-11-29 17:54:14 -0500 (Mon, 29 Nov 2010) | 12 lines Merged revisions 296670 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r296670 | pabelanger | 2010-11-29 17:49:39 -0500 (Mon, 29 Nov 2010) | 5 lines Make sure nothing else is needed before destroying the scheduler. (closes issue #18398) Reported by: pabelanger ........ ................ 2010-11-29 21:26 +0000 [r296628] Russell Bryant * channels/chan_sip.c: Complete some error handling in transmit_publish() in chan_sip.c. This error handling block caught my eye. It was missing a couple of things, but it should be safe now. Thanks to mmichelson for the quick peer review on IRC. 2010-11-29 20:46 +0000 [r296582] Richard Mudgett * channels/misdn/isdn_msg_parser.c, channels/chan_misdn.c: Merged revision 296575 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier .......... r296575 | rmudgett | 2010-11-29 14:27:37 -0600 (Mon, 29 Nov 2010) | 13 lines Invalid mISDN PTMP redirecting signaling as TE towards NT. The mISDN PTMP redirection signaling (NOTIFY redirecting number and notification code, SETUP redirecting number) is also sent in PTMP/TE mode. It should only apply in PTMP/NT mode. The call setup proceeds but the network (Deutsche Telekom) reacts with ugly ISDN STATUS messages. Also don't send the redirecting number ie when PTP is also sending the DivertingLegInformation2 facility. The redirecting number ie is redundant and the network (Deutsche Telekom) complains about it. Patches: abe_2651_v4.patch uploaded by rmudgett (license 664) JIRA ABE-2651 JIRA SWP-2537 .......... 2010-11-29 07:28 +0000 [r296534] Tilghman Lesher * main/asterisk.c, /, configure, include/asterisk/autoconfig.h.in, configure.ac: Merged revisions 296533 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r296533 | tilghman | 2010-11-29 01:27:09 -0600 (Mon, 29 Nov 2010) | 13 lines I love standards. There are so many to choose from. Except when there isn't one. Linux and *BSD disagree on the elements within the ucred structure. Detect which one is in use on the system. (closes issue #18384) Reported by: bjm Patches: cred-diffs uploaded by bjm (license 473) 20101127__issue18384__1.6.2.diff.txt uploaded by tilghman (license 14) 20101127__issue18384__1.8.diff.txt uploaded by tilghman (license 14) Tested by: tilghman, bjm ........ 2010-11-27 10:40 +0000 [r296429-296467] Tilghman Lesher * /, apps/app_meetme.c: Merged revisions 296466 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r296466 | tilghman | 2010-11-27 04:39:01 -0600 (Sat, 27 Nov 2010) | 5 lines 18 characters is too short for most date/times (20 is the usual, but we add more in case of greater precision). (closes issue #18369) Reported by: tnakonz ........ * include/asterisk.h: Also don't build DEBUG_FD_LEAKS when STANDALONE2 is defined. (closes issue #18385) Reported by: cmaj 2010-11-26 21:37 +0000 [r296391] Olle Johansson * main/say.c: Merged revisions 296351 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r296351 | oej | 2010-11-26 13:23:03 +0100 (Fre, 26 Nov 2010) | 17 lines Merged revisions 296309 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r296309 | oej | 2010-11-26 10:53:31 +0100 (Fre, 26 Nov 2010) | 11 lines Fix bugs in saying numbers using the Swedish language syntax (closes issue #18355) Reported by: oej Patch by: oej Much help from Peter Lindahl. Testing by the ClearIT team during a coffee break. Review: https://reviewboard.asterisk.org/r/1033/ ........ ................ 2010-11-26 18:31 +0000 [r296352-296354] Brad Watkins * res/res_jabber.c: Fix XMPP PubSub-based distributed device state. Initialize pubsubflags to 0 so res_jabber doesn't think there is already an XMPP connection sending device state. Also clean up CLI commands a bit. (closes issue #18272) Reported by: klaus3000 Patches: res_jabber_fix_pubsubflags_and_CLI-patch.txt uploaded by klaus3000 (license 65) Tested by: klaus3000, Marquis Review: https://reviewboard.asterisk.org/r/1030/ * channels/chan_sip.c: Fix reloading of peer when a user is requested. Prevent peer reloading from causing multiple MWI subscriptions to be created when using realtime. This had the effect of sending one NOTIFY for every time a sip peer made a call, in one case eventually overwhelming the phone and causing it to reboot. (closes issue #18342) Reported by: nivek Patches: issue0018342p1.patch uploaded by nivek (license 636) Tested by: nivek Review: https://reviewboard.asterisk.org/r/1029/ 2010-11-24 23:29 +0000 [r296230] Russell Bryant * main/channel.c, /: Merged revisions 296221 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r296221 | russell | 2010-11-24 17:28:19 -0600 (Wed, 24 Nov 2010) | 13 lines Merged revisions 296213 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r296213 | russell | 2010-11-24 17:26:43 -0600 (Wed, 24 Nov 2010) | 6 lines Make Asterisk less crashy. Since we might not put a new translation path on the channel, go ahead and set it to NULL right after destroying the old one to ensure we don't try to free an invalid translation path later on. ........ ................ 2010-11-24 22:49 +0000 [r296167] Richard Mudgett * channels/sig_pri.h, channels/chan_dahdi.c, channels/sig_analog.c, /, channels/sig_analog.h: Merged revisions 296166 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r296166 | rmudgett | 2010-11-24 16:42:45 -0600 (Wed, 24 Nov 2010) | 50 lines Merged revisions 296165 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r296165 | rmudgett | 2010-11-24 16:41:07 -0600 (Wed, 24 Nov 2010) | 43 lines Oneway audio to SIP phone from FXS port after FXS port gets a CallWaiting pip. The FXS connected phone has to have CW/CID support to fail, as it will send back a DTMF 'A' or 'D' when it's ready to receive CallerID. A normal phone with no CID never fails. Also the SIP phone does not hear MOH when the CW call is answered. The DTMF end frame is suppressed when the phone acknowledges the CW signal for CID. The problem is the DTMF begin frame needs to be suppressed as well. The DTMF begin frame is causing SIP to start sending the DTMF RTP frames. Since the DTMF end frame is suppressed, SIP will not stop sending those DTMF RTP packets. * Suppress the DTMF begin and end frames when the channel driver is looking for DTMF digits. * Fixed a couple issues caused by not cleaning up the CID spill if you answer the CW call while it is sending the CID spill. * Fixed not sending CW/CID spill to the phone when the call is natively bridged. (Fixed by not using native bridge if CW/CID is possible.) * Suppress received audio when sending CW/CID spills. The other parties involved do not need to hear the CW/CID spills and may be confused if the CW call is for them. (closes issue #18129) Reported by: alecdavis Patches: issue_18129_v1.8_v3.patch uploaded by rmudgett (license 664) Tested by: alecdavis, rmudgett NOTE: * v1.4 does not have the main problem fixed by suppressing the DTMF start frames. The other three items fixed are relevant. * If you really must restore native bridging between analog ports, you need to disable CW/CID either by configuring chan_dahdi.conf callwaitingcallerid=no or dialing *70 before dialing the number to temporarily disable CW. ........ ................ 2010-11-24 20:23 +0000 [r296002-296084] Russell Bryant * main/channel.c, /: Merged revisions 296083 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r296083 | russell | 2010-11-24 14:23:11 -0600 (Wed, 24 Nov 2010) | 19 lines Merged revisions 296082 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r296082 | russell | 2010-11-24 14:22:32 -0600 (Wed, 24 Nov 2010) | 12 lines Fix false reporting of an error by set_format(). In the case that the native format was able to be changed to match the new requested format, the code proceeded to attempt to build a translation path, anyway. The result would be NULL, since no translation path is necessary and resulted in this function thinking an error has occurred. This case is now specifically caught and no attempt to build a translation path is attempted. Thanks to our automated tests and bamboo.asterisk.org for catching this problem and making a whole lot of noise when things started failing. :-) ........ ................ * apps/app_dial.c, main/channel.c, /: Merged revisions 296001 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r296001 | russell | 2010-11-24 11:03:16 -0600 (Wed, 24 Nov 2010) | 45 lines Merged revisions 296000 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r296000 | russell | 2010-11-24 10:48:39 -0600 (Wed, 24 Nov 2010) | 38 lines Handle failures building translation paths more effectively. The problem scenario occurred on a heavily loaded system that was using the codec_dahdi module and exceeded the hardware transcoding capacity. The failure mode at that point was not good. The report came in to us as an Asterisk lock-up. The "core show locks" shows a ton of threads locked up (but no obvious deadlock). Upon deeper investigation, when the system is in this state, the CPU was maxed out. The CPU was being consumed by the Asterisk logger spewing messages on every audio frame for calls set up after transcoder capacity was reached. The purpose of this patch is to make Asterisk handle failures to create a translation path in a more graceful manner. If we can't translate, then the call just needs to be dropped, as it's not going to work. These are the changes: 1) In set_format() of channel.c (which is called by set_read_format() and set_write_format()), it was ignoring if ast_translator_build_path() failed and returned NULL. It now pays attention to that case and returns a result reflecting failure. With this change in place, the bridging code will immediately detect a failure and end the bridge instead of proceeding to try to bridge frames that can't be translated and making channel drivers freak out by sending them frames in a format they weren't expecting. 2) In ast_indicate_data() of channel.c, failure of ast_playtones_start() was ignored. It is now reflected in the return value of the function. This didn't turn out to have any affect on the bug, but seemed like a good change to leave in. 3) In app_dial(), when only sending a call to a single endpoint, it will attempt to do some bridging of its own of early audio. It uses make_compatible() when it's going to do this. However, it ignored failure from make compatible. So, even with the fix from #1, if there was early audio going through app_dial, there would still be a period of invalid frames passing through. After detecting failure here, Dial() exits. ABE-2658 ........ ................ 2010-11-23 10:30 +0000 [r295949] Olle Johansson * /, main/say.c: Merged revisions 295907 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r295907 | oej | 2010-11-23 10:36:38 +0100 (Tis, 23 Nov 2010) | 14 lines Merged revisions 295906 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r295906 | oej | 2010-11-23 10:28:14 +0100 (Tis, 23 Nov 2010) | 8 lines Fix support of saynumber(1,n) in the Swedish language (closes issue #18353) Reported by: oej Review: https://reviewboard.asterisk.org/r/1031/ ........ ................ 2010-11-22 20:03 +0000 [r295869] Sean Bright * configs/chan_dahdi.conf.sample, /: Merged revisions 295868 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r295868 | seanbright | 2010-11-22 15:02:37 -0500 (Mon, 22 Nov 2010) | 2 lines Change some documentation to suggest dahdi_monitor instead of ztmonitor. ........ 2010-11-22 19:36 +0000 [r295866] Richard Mudgett * apps/app_macro.c, include/asterisk/channel.h, include/asterisk/frame.h, main/channel.c, main/pbx.c, /: Merged revisions 295843 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r295843 | rmudgett | 2010-11-22 13:28:23 -0600 (Mon, 22 Nov 2010) | 53 lines Merged revisions 295790 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r295790 | rmudgett | 2010-11-22 12:46:26 -0600 (Mon, 22 Nov 2010) | 46 lines The channel redirect function (CLI or AMI) hangs up the call instead of redirecting the call. To recreate the problem: 1) Party A calls Party B 2) Invoke CLI "channel redirect" command to redirect channel call leg associated with A. 3) All associated channels are hung up. Note that if the CLI command were done on the channel call leg associated with B it works. This regression was a result of the fix for issue #16946 (https://reviewboard.asterisk.org/r/740/). The regression affects all features that use an async goto to execute the dialplan because of an external event: Channel redirect, AMI redirect, SIP REFER, and FAX detection. The struct ast_channel._softhangup code is a mess. The variable is used for several purposes that do not necessarily result in the call being hung up. I have added doxygen comments to describe how the various _softhangup bits are used. I have corrected all the places where the variable was tested in a non-bit oriented manner. The primary fix is the new AST_CONTROL_END_OF_Q frame. It acts as a weak hangup request so the soft hangup requests that do not normally result in a hangup do not hangup. JIRA SWP-2470 JIRA SWP-2489 (closes issue #18171) Reported by: SantaFox (closes issue #18185) Reported by: kwemheuer (closes issue #18211) Reported by: zahir_koradia (closes issue #18230) Reported by: vmarrone (closes issue #18299) Reported by: mbrevda (closes issue #18322) Reported by: nerbos Review: https://reviewboard.asterisk.org/r/1013/ ........ ................ 2010-11-20 03:11 +0000 [r295747] Richard Mudgett * channels/chan_dahdi.c, channels/sig_analog.c, channels/sig_analog.h: One way audio before answering call waiting call on analog port. * Analog call waiting Caller ID spills could get stuck resulting in one way audio until the waiting call is answered. This only happens on the second (and later) call waiting call if the active call is not the first call. * The CLI/AMI "dahdi show channel" command could report the wrong channel information. Must keep the struct analog_pvt.owner and struct dahdi_pvt.owner pointer in sync. 2010-11-20 00:50 +0000 [r295711] Russell Bryant * main/event.c, include/asterisk/event.h, /: Merged revisions 295710 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r295710 | russell | 2010-11-19 18:45:51 -0600 (Fri, 19 Nov 2010) | 29 lines Fix cache of device state changes for multiple servers. This patch addresses a regression where device states across multiple servers were not being processing completely correctly. The code works to determine the overall state by looking at the last known state of a device on each server. However, there was a regression due to some invasive rewrites of how the cache works that led to the cache only storing the last device state change for a device, regardless of which server it was on. The code is set up to cache device state change events by ensuring that each event in the cache has a unique device name + entity ID (server ID). The code that was responsible for comparing raw information elements (which EID is) always returned a match due to a memcmp() with a length of 0. There isn't much code to fix the actual bug. This patch also introduces a new CLI command that was very useful for debugging this problem. The command allows you to dump the contents of the event cache. (closes issue #18284) Reported by: klaus3000 Patches: issue18284.rev1.txt uploaded by russell (license 2) Tested by: russell, klaus3000 (closes issue #18280) Reported by: klaus3000 Review: https://reviewboard.asterisk.org/r/1012/ ........ 2010-11-19 22:06 +0000 [r295673] Terry Wilson * /, channels/chan_sip.c: Merged revisions 295672 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r295672 | twilson | 2010-11-19 13:55:48 -0800 (Fri, 19 Nov 2010) | 15 lines Merged revisions 295628 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r295628 | twilson | 2010-11-19 12:53:36 -0800 (Fri, 19 Nov 2010) | 8 lines Discard responses with more than one Via This is not a perfect solution as headers that are joined via commas are not detected. This is a parsing issue that to fix "correctly" would necessitate a new SIP parser. Review: https://reviewboard.asterisk.org/r/1019/ ........ ................ 2010-11-19 21:40 +0000 [r295670] Brett Bryant * apps/app_queue.c: Patch for deadlock from ordering issue between channel/queue locks in app_queue (set_queue_variables). (closes issue #18031) Reported by: rain Review: https://reviewboard.asterisk.org/r/1018/ 2010-11-19 16:47 +0000 [r295516] Richard Mudgett * channels/chan_dahdi.c, channels/sig_analog.c, channels/sig_analog.h: Bring sig_analog extraction more into alignment with orig-trunk/v1.6.2 chan_dahdi. * Restore SMDI support. * Fixed initial value of struct analog_pvt.use_callerid. It may get forced on depending upon other config options. * Call analog_dnd() instead of manual inlined code. * Removed unused struct analog_pvt.usedistinctiveringdetection. * Removed the struct analog_pvt.unknown_alarm flag. It was really the struct analog_pvt.inalarm flag. * Use ast_debug() instead of ast_log(LOG_DEBUG). * Rename several function's index variable to idx. * Some formatting tweaks. 2010-11-18 20:30 +0000 [r295477] Leif Madsen * configs/sip_notify.conf.sample: 'sip notify clear-mwi' needs terminating CRLF. (closes issue #18275) Reported by: klaus3000 Patches: fix_body_CRLF_patch.txt uploaded by klaus3000 (license 65) 2010-11-18 18:02 +0000 [r295361-295441] Paul Belanger * res/res_jabber.c, /, include/asterisk/jabber.h: Merged revisions 295440 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r295440 | pabelanger | 2010-11-18 12:51:34 -0500 (Thu, 18 Nov 2010) | 4 lines Fix compiler warnings when using openssl-dev 1.0.0+ Review: https://reviewboard.asterisk.org/r/1016/ ........ * contrib/scripts/install_prereq: Add RedHat specific dependencies * configs/res_curl.conf.sample: Uncomment settings under [global], to surpress warning when loading Asterisk. 2010-11-16 23:02 +0000 [r295282] Richard Mudgett * main/channel.c, /: Merged revisions 295281 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r295281 | rmudgett | 2010-11-16 16:57:07 -0600 (Tue, 16 Nov 2010) | 9 lines Merged revisions 295280 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r295280 | rmudgett | 2010-11-16 16:52:06 -0600 (Tue, 16 Nov 2010) | 1 line Dead code elimination in channel.c:ast_channel_bridge() variable who. ........ ................ 2010-11-16 22:41 +0000 [r295164-295278] Russell Bryant * build_tools/prep_tarball: Check for pdftotext and give a useful error if not found. * build_tools/prep_tarball: Remove intentional typo I had added when testing the check. oops. * build_tools/prep_tarball: Check for wikiexport.py in PATH and give a useful error message if not found. 2010-12-02 Leif Madsen * Asterisk 1.8.1 Released. 2010-11-16 Leif Madsen * Asterisk 1.8.1-rc1 Released. 2010-11-15 18:30 +0000 [r294989-295078] Tilghman Lesher * tests/test_expr.c (added), /: Merged revisions 295062 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r295062 | tilghman | 2010-11-15 12:24:02 -0600 (Mon, 15 Nov 2010) | 9 lines Merged revisions 295026 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r295026 | tilghman | 2010-11-15 11:58:37 -0600 (Mon, 15 Nov 2010) | 2 lines Create test verifying results of expression parser ........ ................ * funcs/func_curl.c, /: Merged revisions 294988 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r294988 | tilghman | 2010-11-15 01:42:39 -0600 (Mon, 15 Nov 2010) | 8 lines It is possible to crash Asterisk by feeding the curl engine invalid data. (closes issue #18161) Reported by: wdoekes Patches: 20101029__issue18161.diff.txt uploaded by tilghman (license 14) Tested by: tilghman ........ 2010-11-12 21:14 +0000 [r294905-294911] Jeff Peeler * apps/app_voicemail.c, /: Merged revisions 294910 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r294910 | jpeeler | 2010-11-12 15:14:23 -0600 (Fri, 12 Nov 2010) | 4 lines Return correct error code if lock path fails. The recent changes to open_mailbox actually caused it to be fixed, but let's be consistent. Reported by alecdavis in asterisk-dev. ........ * apps/app_voicemail.c, /: Merged revisions 294904 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r294904 | jpeeler | 2010-11-12 14:51:15 -0600 (Fri, 12 Nov 2010) | 23 lines Merged revisions 294903 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r294903 | jpeeler | 2010-11-12 14:49:09 -0600 (Fri, 12 Nov 2010) | 16 lines Fix regression causing abort in voicemail after opening a mailbox with no mesgs. In order to be more safe, some error handling code was changed to respect more error conditions including the potential memory allocation failure for deleted and heard message tracking introduced in 293004. However, last_message_index returns -1 for zero messages (perhaps as expected) and was triggering the stricter error checking. Because last_message_index is only called directly in one place, just return 0 from open_mailbox (for file based storage) when no messages are detected unless a real error has occurred. (closes issue #18240) Reported by: leobrown Patches: bug18240.1-6-2.diff.txt uploaded by alecdavis (license 585) Tested by: pabelanger ........ ................ 2010-11-12 02:45 +0000 [r294823] Richard Mudgett * channels/sig_pri.c, channels/sig_pri.h, /: Merged revisions 294822 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r294822 | rmudgett | 2010-11-11 20:44:12 -0600 (Thu, 11 Nov 2010) | 18 lines Merged revisions 294821 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r294821 | rmudgett | 2010-11-11 20:41:13 -0600 (Thu, 11 Nov 2010) | 11 lines Asterisk is getting a "No D-channels available!" warning message every 4 seconds. Asterisk is just whining too much with this message: "No D-channels available! Using Primary channel XXX as D-channel anyway!". Filtered the message so it only comes out once if there is no D channel available without an intervening D channel available period. (closes issue #17270) Reported by: jmls ........ ................ 2010-11-11 22:17 +0000 [r294740-294745] Russell Bryant * doc/CCSS_architecture.pdf (removed): Remove CCSS architecture PDF. It has been moved to: https://wiki.asterisk.org/wiki/display/AST/CCSS+Architecture * doc/digium-mib.txt (removed), doc/followme.txt (removed), doc/building_queues.txt (removed), doc/timing.txt (removed), doc/advice_of_charge.txt (removed), doc/unistim.txt (removed), doc/video_console.txt (removed), doc/macroexclusive.txt (removed), doc/google-soc2009-ideas.txt (removed), doc/README.txt (added), doc/callfiles.txt (removed), doc/externalivr.txt (removed), doc/codec-64bit.txt (removed), build_tools/prep_tarball, doc/video.txt (removed), doc/jingle.txt (removed), doc/modules.txt (removed), doc/manager_1_1.txt (removed), doc/PEERING (removed), doc/snmp.txt (removed), doc/siptls.txt (removed), doc/HOWTO_collect_debug_information.txt (removed), doc/ldap.txt (removed), doc/sip-retransmit.txt (removed), doc/distributed_devstate.txt (removed), doc/voicemail_odbc_postgresql.txt (removed), doc/tex (removed), doc/queue.txt (removed), doc/jabber.txt (removed), doc/chan_sip-perf-testing.txt (removed), Makefile, doc/asterisk-mib.txt (removed), doc/database_transactions.txt (removed), doc/smdi.txt (removed), doc/janitor-projects.txt (removed), doc/hoard.txt (removed), doc/res_config_sqlite.txt (removed), doc/osp.txt (removed), doc/speechrec.txt (removed), doc/sms.txt (removed), doc/distributed_devstate-XMPP.txt (removed), doc/valgrind.txt (removed), doc/realtimetext.txt (removed), doc/cli.txt (removed), doc/rtp-packetization.txt (removed), doc/datastores.txt (removed), doc/CODING-GUIDELINES (removed), doc/ss7.txt (removed), doc/backtrace.txt (removed), doc/India-CID.txt (removed): Remove most of the contents of the doc dir in favor of the wiki content. This merge does the following things: * Removes most of the contents from the doc/ directory in favor of the wiki - http://wiki.asterisk.org/ * Updates the build_tools/prep_tarball script to know how to export the contents of the wiki in both PDF and plain text formats so that the documentation is still included in Asterisk release tarballs. 2010-11-11 21:58 +0000 [r294640-294734] Jeff Peeler * /, channels/chan_sip.c: Merged revisions 294733 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r294733 | jpeeler | 2010-11-11 15:57:22 -0600 (Thu, 11 Nov 2010) | 25 lines Merged revisions 294688 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r294688 | jpeeler | 2010-11-11 15:12:27 -0600 (Thu, 11 Nov 2010) | 18 lines Fix problem with qualify option packets for realtime peers never stopping. The option packets not only never stopped, but if a realtime peer was not in the peer list multiple options dialogs could accumulate over time. This scenario has the potential to progress to the point of saturating a link just from options packets. The fix was to ensure that the poke scheduler checks to see if a peer is in the peer list before continuing to poke. The reason a peer must be in the peer list to be able to properly manage an options dialog is because otherwise the call pointer is lost when the peer is regenerated from the database, which is how existing qualify dialogs are detected. (closes issue #16382) (closes issue #17779) Reported by: lftsy Patches: bug16382-3.patch uploaded by jpeeler (license 325) Tested by: zerohalo ........ ................ * main/asterisk.c, include/asterisk.h, main/pbx.c, /: Merged revisions 294639 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r294639 | jpeeler | 2010-11-11 13:31:00 -0600 (Thu, 11 Nov 2010) | 53 lines Merged revisions 294384 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r294384 | jpeeler | 2010-11-09 11:37:59 -0600 (Tue, 09 Nov 2010) | 47 lines Fix a deadlock in device state change processing. Copied from some notes from the original author (Russell): Deadlock scenario: Thread 1: device state change thread Holds - rdlock on contexts Holds - hints lock Waiting on channels container lock Thread 2: SIP monitor thread Holds the "iflock" Holds a sip_pvt lock Holds channel container lock Waiting for a channel lock Thread 3: A channel thread (chan_local in this case) Holds 2 channel locks acquired within app_dial Holds a 3rd channel lock it got inside of chan_local Holds a local_pvt lock Waiting on a rdlock of the contexts lock A bunch of other threads waiting on a wrlock of the contexts lock To address this deadlock, some locking order rules must be put in place and enforced. Existing relevant rules: 1) channel lock before a pvt lock 2) contexts lock before hints lock 3) channels container before a channel What's missing is some enforcement of the order when you involve more than any two. To fix this problem, I put in some code that ensures that (at least in the code paths involved in this bug) the locks in (3) come before the locks in (2). To change the operation of thread 1 to comply, I converted the storage of hints to an astobj2 container. This allows processing of hints without holding the hints container lock. So, in the code path that led to thread 1's state, it no longer holds either the contexts or hints lock while it attempts to lock the channels container. (closes issue #18165) Reported by: antonio ABE-2583 ........ ................ 2010-11-10 23:26 +0000 [r294569-294605] Tilghman Lesher * pbx/pbx_spool.c: Fixing the Mac OS X build (bamboo warning) * pbx/pbx_spool.c: Properly queue files with inotify(7). (closes issue #18089) Reported by: abelbeck Patches: 20101021__issue18089.diff.txt uploaded by tilghman (license 14) Tested by: tilghman 2010-11-10 14:14 +0000 [r294501-294535] Russell Bryant * UPGRADE.txt, res/ais/clm.c, res/ais/evt.c: Tweak a couple of CLI commands back to their original form. The "module" in this case is two parts, so there are two words before the verb of the CLI command. * main/devicestate.c, /: Merged revisions 294500 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r294500 | russell | 2010-11-10 06:41:41 -0600 (Wed, 10 Nov 2010) | 7 lines Improve a debug message to be more readable and consistent. (closes issue #18282) Reported by: klaus3000 Patches: ast_devstate2str-patch.txt uploaded by klaus3000 (license 65) ........ 2010-11-09 22:46 +0000 [r294466] Richard Mudgett * main/channel.c: Allow ast_do_masquerade() failure to be reported again. 2010-11-09 20:33 +0000 [r294430] Tilghman Lesher * /, configure, include/asterisk/autoconfig.h.in, configure.ac: Merged revisions 294429 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r294429 | tilghman | 2010-11-09 14:27:23 -0600 (Tue, 09 Nov 2010) | 8 lines Detect GMime properly on systems where gmime flags and libs are configured with pkg-config. (closes issue #16155) Reported by: jcollie Patches: 20100917__issue16155.diff.txt uploaded by tilghman (license 14) Tested by: tilghman ........ 2010-11-09 16:55 +0000 [r294349] Richard Mudgett * include/asterisk/channel.h, channels/sig_pri.c, main/channel.c, channels/chan_misdn.c, channels/sig_analog.c: Analog lines do not transfer CONNECTED LINE or execute the interception macros. Add connected line update for sig_analog transfers and simplify the corresponding sig_pri and chan_misdn transfer code. Note that if you create a three-way call in sig_analog before transferring the call, the distinction of the caller/callee interception macros make little sense. The interception macro writer needs to be prepared for either caller/callee macro to be executed. The current implementation swaps which caller/callee interception macro is executed after a three-way call is created. Review: https://reviewboard.asterisk.org/r/996/ JIRA ABE-2589 JIRA SWP-2372 2010-11-08 22:32 +0000 [r294278-294313] Jeff Peeler * /, res/res_timing_timerfd.c: Merged revisions 294312 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r294312 | jpeeler | 2010-11-08 16:30:49 -0600 (Mon, 08 Nov 2010) | 1 line add missing unlock not present in 294277 ........ * include/asterisk/timing.h, main/timing.c, main/channel.c, /, res/res_timing_timerfd.c: Merged revisions 294277 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r294277 | jpeeler | 2010-11-08 15:58:13 -0600 (Mon, 08 Nov 2010) | 16 lines Fix playback failure when using IAX with the timerfd module. To fix this issue the alert pipe will now be used when the timerfd module is in use. There appeared to be a race that was not solved by adding locking in the timerfd module, but needed to be there anyway. The race was between the timer being put in non-continuous mode in ast_read on the channel thread and the IAX frame scheduler queuing a frame which would enable continuous mode before the non-continuous mode event was read. This race for now is simply avoided. (closes issue #18110) Reported by: tpanton Tested by: tpanton I put tested by tpanton because it was tested on his hardware. Thanks for the remote access to debug this issue! ........ 2010-11-08 20:56 +0000 [r294243] Matthew Nicholson * /, channels/chan_sip.c: Merged revisions 294242 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r294242 | mnicholson | 2010-11-08 14:50:21 -0600 (Mon, 08 Nov 2010) | 8 lines Go off hold when we get an empty reinvite telling us to. (closes issue 0014448) Reported by: frawd (closes issue #17878) Reported by: frawd ........ 2010-11-08 19:56 +0000 [r294207] Terry Wilson * configs/calendar.conf.sample, res/res_calendar.c: Set a default waittime, and make sure to convert it to milliseconds 2010-11-08 17:16 +0000 [r294125] Richard Mudgett * channels/chan_misdn.c: valgrind reported references to freed memory during a mISDN hangup collision. Bad things have been happening in chan_misdn because the chan_misdn channel private struct chan_list is not protected from reentrancy. Hangup collisions have be causing read and write accesses to freed memory. Converted chan_misdn struct chan_list to an ao2 object for its reference counting feature. ********** Removed an impediment to converting chan_list to an ao2 object. The use of the other_ch member in chan_list is shaky at best. It is set if the incoming and outgoing call legs are mISDN. The use of the other_ch member goes against the Asterisk architecture and can even cause problems. 1) It is used to disable echo cancellation. This could be bad if the call is forked and the winning call leg is not mISDN or the winning call leg is not the last mISDN channel called by the fork. The other_ch would become a dangling pointer. 2) It is used when the far end is alerting to hear the far end's inband audio instead of Asterisk's generated ringback tone. This is bad if the call is forked. You would only hear the last forked mISDN channel and it may not be ringing yet. The other_ch would become a dangling pointer if the call is later transferred. ********** JIRA SWP-2423 JIRA ABE-2614 2010-11-05 22:03 +0000 [r294084] Brett Bryant * channels/chan_sip.c: Fixed deadlock avoidance issues while locking channel when adding the Max-Forwards header to a request. (closes issue #17949) (closes issue #18200) Reported by: bwg Review: https://reviewboard.asterisk.org/r/997/ 2010-11-05 16:05 +0000 [r294047-294049] Terry Wilson * contrib/scripts/ast_tls_cert: Corret spelling and example * contrib/scripts/ast_tls_cert: Tell people to use the correct common name for clients as well 2010-11-05 00:07 +0000 [r293970] Shaun Ruffell * codecs/codec_dahdi.c, /: Merged revisions 293969 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r293969 | sruffell | 2010-11-04 19:06:02 -0500 (Thu, 04 Nov 2010) | 25 lines Merged revisions 293968 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r293968 | sruffell | 2010-11-04 19:02:53 -0500 (Thu, 04 Nov 2010) | 17 lines codecs/codec_dahdi: Prevent "choppy" audio when receiving unexpected frame sizes. dahdi-linux 2.4.0 (specifically commit 9034) added the capability for the wctc4xxp to return more than a single packet of data in response to a read. However, when decoding packets, codec_dahdi was still assuming that the default number of samples was in each read. In other words, each packet your provider sent you, regardless of size, would result in 20 ms of decoded data (30 ms if decoding G723). If your provider was sending 60 ms packets then codec_dahdi would end up stripping 40 ms of data from each transcoded frame resulting in "choppy" audio. This would only affect systems where G729 packets are arriving in sizes greater than 20ms or G723 packets arriving in sizes greater than 30ms. DAHDI-744. ........ ................ 2010-11-04 21:39 +0000 [r293924] David Vossel * channels/chan_sip.c: Fixes ringback tone on sip semi-attended transfer. ABE-2168 2010-11-04 13:27 +0000 [r293887] Paul Belanger * channels/chan_sip.c: Do not output port in IPaddress for AMI sippeers. (closes issue #18248) Reported by: orn Patches: ami_sippeers.patch uploaded by pabelanger (license 224) Tested by: orn 2010-11-03 18:35 +0000 [r293807] Richard Mudgett * channels/chan_dahdi.c, channels/sig_analog.c, /: Merged revisions 293806 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r293806 | rmudgett | 2010-11-03 13:31:57 -0500 (Wed, 03 Nov 2010) | 27 lines Merged revisions 293805 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r293805 | rmudgett | 2010-11-03 13:23:04 -0500 (Wed, 03 Nov 2010) | 20 lines Party A in an analog 3-way call would continue to hear ringback after party C answers. All parties are analog FXS ports. 1) A calls B. 2) A flash hooks to call C. 3) A flash hooks to bring C into 3-way call before C answers. (A and B hear ringback) 4) C answers 5) A continues to hear ringback during the 3-way call. (All parties can hear each other.) * Fixed use of wrong variable in dahdi_bridge() that stopped ringback on the wrong subchannel. * Made several debug messages have more information. A similar issue happens if B and C are SIP channels. B continues to hear ringback. For some reason this only affects v1.8 and trunk. * Don't start ringback on the real and 3-way subchannels when creating the 3-way conference. Removing this code is benign on v1.6.2 and earlier. ........ ................ 2010-11-03 18:05 +0000 [r293803] Terry Wilson * include/asterisk/rtp_engine.h, main/rtp_engine.c, channels/chan_sip.c: Avoid valgrind warnings for ast_rtp_instance_get_xxx_address The documentation for ast_rtp_instance_get_(local/remote)_address stated that they returned 0 for success and -1 on failure. Instead, they returned 0 if the address structure passed in was already equivalent to the address instance local/remote address or 1 otherwise. 90% of the calls to these functions completely ignored the return address and passed in an uninitialized struct, which would make valgrind complain even though the operation was technically safe. This patch fixes the documentation and converts the get_xxx_address functions to void since all they really do is copy the address and cannot fail. Additionally two new functions (ast_rtp_instance_get_and_cmp_(local/remote)_address) are created for the 3 times where the return value was actually checked. The get_and_cmp_local_address function is currently unused, but exists for the sake of symmetry. The only functional change as a result of this change is that we will not do an ast_sockaddr_cmp() on (mostly uninitialized) addresses before doing the ast_sockaddr_copy() in the get_*_address functions. So, even though it is an API change, it shouldn't have a noticeable change in behavior. Review: https://reviewboard.asterisk.org/r/995/ 2010-11-02 23:09 +0000 [r293724] Jeff Peeler * /, channels/chan_sip.c: Merged revisions 293723 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r293723 | jpeeler | 2010-11-02 18:07:13 -0500 (Tue, 02 Nov 2010) | 15 lines Merged revisions 293722 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r293722 | jpeeler | 2010-11-02 18:02:51 -0500 (Tue, 02 Nov 2010) | 8 lines Add enabled/disabled information for rtautoclear sip show settings output. When setting to zero/"no", the numeric default was shown making it not obvious the disabled setting was respected. (closes issue #18123) Reported by: zerohalo ........ ................ 2010-11-02 21:29 +0000 [r293648] Richard Mudgett * channels/chan_dahdi.c, channels/sig_analog.c, /: Merged revisions 293647 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r293647 | rmudgett | 2010-11-02 16:26:30 -0500 (Tue, 02 Nov 2010) | 13 lines Merged revisions 293639 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r293639 | rmudgett | 2010-11-02 16:24:13 -0500 (Tue, 02 Nov 2010) | 6 lines Make warning message have more useful information in it. Change "Unable to get index, and nullok is not asserted" to "Unable to get index for '' on channel ((), line )". ........ ................ 2010-11-02 20:45 +0000 [r293611] Paul Belanger * main/manager.c: If manager and tls are disabled, do not display TCP/TLS Bindaddress. 2010-11-01 17:29 +0000 [r293530] Richard Mudgett * channels/chan_dahdi.c, channels/sig_analog.c, channels/sig_analog.h: Analog 3-way call would not connect all parties if one was using sig_pri. Also the "dahdi show channel" would not show the correct 3-way call status. * Synchronized the inthreeway flag between chan_dahdi and sig_analog. * Fixed a my_set_linear_mode() sign error and made take an analog sub channel enum. 2010-11-01 16:09 +0000 [r293496] Paul Belanger * channels/chan_iax2.c: Use ast_sockaddr_from_sin function not memcpy This resolves some IAX2 registration issue report on the asterisk-users mailing list. (closes issue #18202) Reported by: pabelanger Patches: update_registry.patch.v2 uploaded by pabelanger (license 224) Tested by: pabelanger, Nic Colledge (mailing list) Review: https://reviewboard.asterisk.org/r/993 2010-11-01 14:58 +0000 [r293493] Terry Wilson * channels/chan_sip.c: Only offer codecs both sides support for directmedia When using directmedia, Asterisk needs to limit the codecs offered to just the ones that both sides recognize, otherwise they may end up sending audio that the other side doesn't understand. (closes issue #17403) Reported by: one47 Patches: sip_codecs_simplified4 uploaded by one47 (license 23) Tested by: one47, falves11 Review: https://reviewboard.asterisk.org/r/967/ 2010-10-30 01:53 +0000 [r293341-293418] Richard Mudgett * channels/chan_dahdi.c, channels/sig_analog.c, /: Merged revisions 293417 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r293417 | rmudgett | 2010-10-29 20:49:15 -0500 (Fri, 29 Oct 2010) | 9 lines Merged revisions 293416 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r293416 | rmudgett | 2010-10-29 20:45:49 -0500 (Fri, 29 Oct 2010) | 1 line Remove some more code that serves no purpose. ........ ................ * channels/chan_dahdi.c, channels/sig_analog.c, /: Merged revisions 293340 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r293340 | rmudgett | 2010-10-29 19:40:10 -0500 (Fri, 29 Oct 2010) | 9 lines Merged revisions 293339 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r293339 | rmudgett | 2010-10-29 19:34:12 -0500 (Fri, 29 Oct 2010) | 1 line Remove some code that serves no purpose. ........ ................ 2010-10-29 21:48 +0000 [r293305] Jeff Peeler * channels/chan_sip.c: Modify sip_setoption to not complain about unknown options. This now behaves just like the other setoption callbacks. For the curious the offending option for the reporter was AST_OPTION_CHANNEL_WRITE which was getting passed due to a fix for chan_local in 286189. (closes issue #17985) Reported by: globalnetinc 2010-10-28 20:00 +0000 [r293197] Tilghman Lesher * res/ael/ael.tab.h, main/ast_expr2.c, /, main/ast_expr2.h, res/ael/ael.tab.c, main/ast_expr2.y, res/ael/ael_lex.c: Merged revisions 293195-293196 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r293195 | tilghman | 2010-10-28 14:52:52 -0500 (Thu, 28 Oct 2010) | 12 lines Merged revisions 293194 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r293194 | tilghman | 2010-10-28 14:44:37 -0500 (Thu, 28 Oct 2010) | 5 lines "!00" evaluated as false, which is incorrect. Fixing. Reported (though the reporter did not understand he was reporting a bug) on the asterisk-users list: http://lists.digium.com/pipermail/asterisk-users/2010-October/255505.html ........ ................ r293196 | tilghman | 2010-10-28 14:54:34 -0500 (Thu, 28 Oct 2010) | 12 lines Merged revisions 293194 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r293194 | tilghman | 2010-10-28 14:44:37 -0500 (Thu, 28 Oct 2010) | 5 lines "!00" evaluated as false, which is incorrect. Fixing. Reported (though the reporter did not understand he was reporting a bug) on the asterisk-users list: http://lists.digium.com/pipermail/asterisk-users/2010-October/255505.html ........ ................ 2010-10-28 16:11 +0000 [r293159] Jeff Peeler * /, funcs/func_strings.c: Merged revisions 293158 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r293158 | jpeeler | 2010-10-28 11:09:40 -0500 (Thu, 28 Oct 2010) | 11 lines Fix infinite loop in FILTER(). Specifically when you're using characters above \x7f or invalid character escapes (e.g. \xgg). (closes issue #18060) Reported by: wdoekes Patches: issue18060_func_strings_filter_infinite_loop.patch uploaded by wdoekes (license 717) Tested by: wdoekes ........ 2010-10-26 18:49 +0000 [r293119] Jeff Peeler * apps/app_voicemail.c, /: Merged revisions 293118 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r293118 | jpeeler | 2010-10-26 13:33:24 -0500 (Tue, 26 Oct 2010) | 36 lines Merged revisions 293004 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r293004 | jpeeler | 2010-10-25 17:55:28 -0500 (Mon, 25 Oct 2010) | 29 lines Fix inprocess_container in voicemail to correctly restrict max messages. The comparison function logic was off, so the number of sessions for a given mailbox were not being incremented properly. This problem caused the maximum number of messages per folder to not be respected when simultaneously leaving multiple voicemails just below the threshold. These problems should be fixed by the above, but just in case: Fixed resequence_mailbox to rely on the actual number of detected number of files in a directory rather than just assuming only 10 messages more than the maximum had been left. Also if more messages than the maximum are deleted they are actually removed now. The second purpose of this commit should have been separated out probably, but is related to the above. Again, if the number of messages in a given voicemail folder exceeds the maximum set limit make sure to allocate enough space for the deleted and heard index tracking array. A few random fixes: There was a forgotten decrement of the inprocess count in imap_store_file. When using IMAP storage, do not look in the directory where file based storage messages may still reside and influence the message count. Ensure to use only the first format in sendmail. ABE-2516 ........ ................ 2010-10-26 16:32 +0000 [r293046-293081] Richard Mudgett * channels/sig_pri.c: No need to define the struct if there are no users. * channels/sig_pri.c, configure, include/asterisk/autoconfig.h.in, configure.ac: Allow the DAHDI driver to compile, even with a sufficiently older version of libpri. Fixes our Bamboo builds. 2010-10-25 21:15 +0000 [r292906-292969] Tilghman Lesher * channels/sig_pri.c: Several more defines that need to be altered for compiling against an older version of libpri * channels/sig_pri.c, configure, include/asterisk/autoconfig.h.in, configure.ac: Allow the DAHDI driver to compile, even with a sufficiently older version of libpri. Fixes our Bamboo builds. 2010-10-25 19:07 +0000 [r292868] David Vossel * channels/chan_local.c, /: Merged revisions 292867 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r292867 | dvossel | 2010-10-25 14:06:21 -0500 (Mon, 25 Oct 2010) | 32 lines Merged revisions 292866 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r292866 | dvossel | 2010-10-25 14:05:07 -0500 (Mon, 25 Oct 2010) | 27 lines This patch turns chan_local pvts into astobj2 objects. chan_local does some dangerous things involving deadlock avoidance. tech_pvt functions like hangup and queue_frame are provided with a locked channel upon entry. Those functions are completely safe as long as you don't attempt to give up that channel lock, but that is impossible to guarantee due to the required deadlock avoidance necessary to lock both the tech_pvt and both channels involved. In the past, we have tried to account for this by doing things like setting a "glare" flag that indicates what function should destroy the pvt. This was used in local_hangup and local_queue_frame to decided who should destroy the pvt if they collided in separate threads. I have removed the need to do this by converting all chan_local tech_pvts to astobj2. This means we can ref a pvt before deadlock avoidance and not have to worry about that pvt possibly getting destroyed under us. It also cleans up where we destroy the tech_pvt. The only unlink from the tech_pvt container occurs in local_hangup now, which is where it should occur. Since there still may be thread collisions on some functions like local_hangup after deadlock avoidance, I have added some checks to detect those collisions and exit appropriately. I think this patch is going to solve quite a bit of weirdness we have had with local channels in the past. ........ ................ 2010-10-22 22:35 +0000 [r292794-292825] Terry Wilson * contrib/scripts/ast_tls_cert: Don't create directories without at least o+x Also, making files that you are going to modify read-only is dumb. * contrib/scripts/ast_tls_cert: Make files readable only by the owner 2010-10-22 21:28 +0000 [r292787] Leif Madsen * configs/res_ldap.conf.sample, contrib/scripts/asterisk.ldif, /, channels/chan_sip.c: Merged revisions 292786 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r292786 | lmadsen | 2010-10-22 16:16:12 -0500 (Fri, 22 Oct 2010) | 13 lines Update the LDIF file for LDAP. The LDIF file asterisk.ldif was quite a bit out of date from the asterisk.ldap-schema file, so I've now updated that to be in sync. The asterisk.ldif file being out of sync was a problem on my systems where I was doing an ldapadd to import the schema into the LDAP database, and the existing file would cause problems and ERROR messages when registering. Additional documention has been added based on feedback in the issue I'm closing. (closes issue #13861) Reported by: scramatte Patches: ldap-update.txt uploaded by lmadsen (license 10) Tested by: lmadsen, jcovert, suretec, rgenthner ........ 2010-10-22 17:09 +0000 [r292741] Mark Michelson * tests/test_event.c: Prevent multiple runs of event_sub_test from producing false failure results. The array of test subscriptions was declared "static," meaning that the data.count field would retain its value between runs of the test. After the first test run, this would result in false reports of test failures. I chose to just remove the "static" keyword from the structure since it's not a huge deal to construct this structure during each run of the test. Another alternative would have been to zero out the data.count fields of each test subscription instead. 2010-10-22 16:49 +0000 [r292740] Terry Wilson * contrib/scripts/ast_tls_cert (added): Add TLS cert helper script This script is useful for quickly generating self-signed CA, server, and client certificates for use with Asterisk. It is still recommended to obtain certificates from a recognized Certificate Authority and to develop an understanding how SSL certificates work. Real security is hard work. OPTIONS: -h Show this message -m Type of cert "client" or "server". Defaults to server. -f Config filename (openssl config file format) -c CA cert filename (creates new CA cert/key as ca.crt/ca.key if not passed) -k CA key filename -C Common name (cert field) For a server cert, this should be the same address that clients attempt to connect to. Usually this will be the Fully Qualified Domain Name, but might be the IP of the server. For a CA or client cert, it is merely informational. Make sure your certs have unique common names. -O Org name (cert field) An informational string (company name) -o Output filename base (defaults to asterisk) -d Output directory (defaults to the current directory) Example: To create a CA and a server (pbx.mycompany.com) cert with output in /tmp: ast_tls_cert -C pbx.mycompany.com -O "My Company" -d /tmp This will create a CA cert and key as well as asterisk.pem and the the two files that it is made from: asterisk.crt and asterisk.key. Copy asterisk.pem and ca.crt somewhere (like /etc/asterisk) and set tlscertfile=/etc/asterisk.pem and tlscafile=/etc/ca.crt. Since this is a self-signed key, many devices will require you to import the ca.crt file as a trusted cert. To create a client cert using the CA cert created by the example above: ast_tls_cert -m client -c /tmp/ca.crt -k /tmp/ca.key -C "Joe User" -O \ "My Company" -d /tmp -o joe_user This will create client.crt/key/pem in /tmp. Use this if your device supports a client certificate. Make sure that you have the ca.crt file set up as a tlscafile in the necessary Asterisk configs. Make backups of all .key files in case you need them later. 2010-10-22 15:47 +0000 [r292704] Richard Mudgett * channels/sig_pri.c, main/channel.c, channels/chan_misdn.c: Connected line is not updated when chan_dahdi/sig_pri or chan_misdn transfers a call. When a call is transfered by ECT or implicitly by disconnect in sig_pri or implicitly by disconnect in chan_misdn, the connected line information is not exchanged. The connected line interception macros also need to be executed if defined. The CALLER interception macro is executed for the held call. The CALLEE interception macro is executed for the active/ringing call. JIRA ABE-2589 JIRA SWP-2296 Patches: abe_2589_c3bier.patch uploaded by rmudgett (license 664) abe_2589_v1.8_v2.patch uploaded by rmudgett (license 664) Review: https://reviewboard.asterisk.org/r/958/ 2010-10-21 22:09 +0000 [r292667] Tilghman Lesher * channels/misdn/ie.c: Compile correctly on Linux (asterisk/localtime.h depends upon asterisk/autoconfig.h loading first). 2010-10-21 18:13 +0000 [r292628] Paul Belanger * contrib/init.d/rc.suse.asterisk: Fix typo in SUSE init script. Reported by: Dave Cotton on asterisk-users list. 2010-10-21 16:14 +0000 [r292595] David Vossel * main/manager.c: Fixes recursive lock problem in manager.c It is possible for a AMI session to freeze because of invalid use of recursive locks during the EVENT processing. This patch removes the unnecessary locks. (closes issue #18167) Reported by: sustav Patches: manager_locking_v1.diff uploaded by dvossel (license 671) Tested by: sustav 2010-10-21 13:12 +0000 [r292557] Leif Madsen * configs/res_ldap.conf.sample, /: Merged revisions 292556 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r292556 | lmadsen | 2010-10-21 08:11:52 -0500 (Thu, 21 Oct 2010) | 6 lines Change res_ldap.sample.conf to match the schema. (closes issue #17376) Reported by: jcovert Patches: res_ldap.conf.sample.patch uploaded by jcovert (license 551) ........ 2010-10-21 11:36 +0000 [r292523] Russell Bryant * res/res_config_ldap.c: Add var=value to log message on update failure, and add newline. ... just for you, Leif. 2010-10-21 01:02 +0000 [r292489] Richard Mudgett * channels/sig_pri.c: Send CONNECT_ACKNOWLEDGE for CIS calls too. The originator of the Q.SIG call completion signaling link was not changed to the active state when the CONNECT message came in. The T309 processing would immediately kill the signaling link because it was not in the active state. 2010-10-21 00:21 +0000 [r292413-292436] Paul Belanger * apps/app_voicemail.c: Application not properly unregister in voicemail (closes issue #18128) Reported by: junky Patches: vm_unregister.diff uploaded by junky (license 177) Tested by: pabelanger, lmadsen * apps/app_dial.c, /: Merged revisions 292412 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r292412 | pabelanger | 2010-10-20 20:05:45 -0400 (Wed, 20 Oct 2010) | 17 lines Merged revisions 292411 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r292411 | pabelanger | 2010-10-20 20:00:51 -0400 (Wed, 20 Oct 2010) | 10 lines Record priv-recordintro as sln, not gsm This removes the gsm->sln step when transcoding priv-recordintro. (closes issue #18176) Reported by: pabelanger Patches: chan_sip.diff uploaded by pabelanger (license 224) ........ ................ 2010-10-20 00:40 +0000 [r292376] Tilghman Lesher * res/res_musiconhold.c: Oops. This module uses the generic timer and no longer uses DAHDI. This causes a problem with the Solaris and other system builds that have gcc 4.1 (where optional_api is non-optional). 2010-10-19 22:14 +0000 [r292343] Paul Belanger * contrib/scripts/install_prereq: Add resample and imap_tk dependencies. 2010-10-19 19:27 +0000 [r292309] Terry Wilson * res/res_srtp.c, channels/chan_sip.c: Add sip show peer info about crypto and remove dated comment This patch adds information about the encryption setting to 'sip show peers' and removes an out-of-date comment from res_srtp.c and instead directs users to the proper documentation. (closes issue #18140) Reported by: chodorenko 2010-10-21 Leif Madsen * Asterisk 1.8.0 Released. 2010-10-18 Leif Madsen * Asterisk 1.8.0-rc5 Released. 2010-10-18 22:02 +0000 [r292230] Leif Madsen * sounds/Makefile, /: Merged revisions 292229 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r292229 | lmadsen | 2010-10-18 17:01:16 -0500 (Mon, 18 Oct 2010) | 3 lines Fix typo in the sounds/Makefile. (Issue #17426) ........ 2010-10-18 21:55 +0000 [r292227] Jeff Peeler * apps/app_voicemail.c, /: Merged revisions 292226 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r292226 | jpeeler | 2010-10-18 16:54:38 -0500 (Mon, 18 Oct 2010) | 18 lines Merged revisions 292223 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r292223 | jpeeler | 2010-10-18 16:50:30 -0500 (Mon, 18 Oct 2010) | 11 lines Fix improper operator key acceptance and clean up temp recording files. This is a fix for when pressing the operator key after recording an unavailable, busy, name, or temporary message in mailbox options. The operator key should not be accepted here, but should be allowed during the message recording. If the operator key is pressed during ensure the file is saved or deleted as apporopriate. Also, ensure removal of temporary recorded files after an early hang up or when message acceptance confirmation times out. ABE-2518 ........ ................ 2010-10-18 21:51 +0000 [r292225] Leif Madsen * sounds/sounds.xml, sounds/Makefile, /: Merged revisions 292224 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r292224 | lmadsen | 2010-10-18 16:50:47 -0500 (Mon, 18 Oct 2010) | 17 lines Merged revisions 292222 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r292222 | lmadsen | 2010-10-18 16:47:25 -0500 (Mon, 18 Oct 2010) | 9 lines Add support for the new English (Australian Accent) sound files. (closes issue #17426) Reported by: camsown Patches: core-sounds-en_AU.txt uploaded by camsown (license 1050) add_AU_sounds.patch.txt uploaded by lmadsen (license 10) Tested by: camsown, lmadsen, jtodd, qwell ........ ................ 2010-10-18 19:50 +0000 [r292188] Russell Bryant * main/netsock2.c: Resolve some compiler errors in ast_sockaddr_is_any(). These errors came up once this function was used from within netsock2.c. The errors were like the following: netsock2.c:393: error: dereferencing pointer ‘({anonymous})’ does break strict-aliasing rules The usage of a union here avoids this problem. 2010-10-18 19:16 +0000 [r292155] David Vossel * main/netsock2.c: Fixes build error for systems not supporting IPV6_TCLASS. 2010-10-18 17:15 +0000 [r292122] Matthew Nicholson * addons/chan_mobile.c: Fix the cmgr parser. (closes issue 0018152) Reported by: menschentier 2010-10-18 Leif Madsen * Asterisk 1.8.0-rc4 Released 2010-10-18 16:02 +0000 [r292085] David Vossel * main/netsock2.c: Fixes qos settings for sockets bound to any IPv6 or IPv4 address. (closes issue #18099) Reported by: jamesnet Patches: issues_18099_v3.diff uploaded by dvossel (license 671 2010-10-18 15:32 +0000 [r292083] Jeff Peeler * pbx/pbx_spool.c: Disable use of inotify for call file handling as it is not working properly. (related to #18089) 2010-10-16 10:47 +0000 [r292050] Tzafrir Cohen * res/res_musiconhold.c, /, configs/musiconhold.conf.sample: Merged revisions 292049 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r292049 | tzafrir | 2010-10-16 12:03:04 +0200 (ש', 16 אוק 2010) | 15 lines Base directory for MOH should be ASTDATADIR If the directive 'directory' is relative, make it relative to the datadir, rather than to the varlibdir. In the sample configuration it is relative ('moh'). This has no effect unless you have actively set the datadir explicitly (at build time or at run time). (closes issue #16906) Patches: moh_datadir uploaded by tzafrir (license 46) Review: https://reviewboard.asterisk.org/r/974/ ........ 2010-10-15 21:40 +0000 [r292016] Terry Wilson * res/res_srtp.c: Ref/unref res_srtp when we create/destroy a session This avoids unhappy crashing when we try to 'core stop gracefully' and res_srtp tries to unload before chan_sip does. Thanks, Russell! (closes issue #18085) Reported by: st 2010-10-15 20:12 +0000 [r291942] David Vossel * channels/chan_sip.c: Fixes peer's host port information being lost on sip reload. (closes issue #18135) Reported by: lmadsen Patches: crazy_ports_v2.diff uploaded by dvossel (license 671) Tested by: lmadsen 2010-10-15 19:50 +0000 [r291940] Paul Belanger * configs/gtalk.conf.sample, /: Merged revisions 291939 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r291939 | pabelanger | 2010-10-15 15:35:20 -0400 (Fri, 15 Oct 2010) | 9 lines Merged revisions 291938 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r291938 | pabelanger | 2010-10-15 15:30:41 -0400 (Fri, 15 Oct 2010) | 2 lines Clean up formatting. ........ ................ 2010-10-15 16:39 +0000 [r291905] Terry Wilson * res/res_jabber.c, /: Merged revisions 291904 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r291904 | twilson | 2010-10-15 09:16:57 -0700 (Fri, 15 Oct 2010) | 7 lines Don't crash or deadlock on module unload We can't hold the lock while pthread_join is called since aji_log_hook will attempt to lock from the other therad. We reorder the pthread_join and ast_aji_disconnect so that we don't do an SSL_read() while SSL_shutdown is running, causing a crash. ........ 2010-10-14 22:09 +0000 [r291827-291829] David Vossel * main/netsock2.c: Set TCLASS field of IPv6 header when sip qos options are set. (closes issue #18099) Reported by: jamesnet Patches: issues_18099_v2.diff uploaded by dvossel (license 671) Tested by: dvossel, jamesnet * channels/chan_gtalk.c: Safer xml parsing, treat all clients the same, and better local candidate selection. The gtalk channel driver was doing several unsafe operations in regards to how it parsed incoming XML messages. I have cleaned that code up so it should be much safer now. We now treat all clients types the same. We have no reason to distinguish between GMAIL and GOOGLE VOICE clients anymore because they all work the same way. I also modified how the local ip is found. If no bindaddress is provided in the config file, we attempt to determine the local ip we would use to connect to google.com. If that fails, then we fall back to the ast_find_ourip() function as a last resort. Using the new method makes it much less likely that we would ever advertise a local RTP candidate as a loopback address. 2010-10-14 18:45 +0000 [r291791] Jeff Peeler * main/stdtime/localtime.c: Add missing ifdefs for test framework and new locale code. (closes issue #18137) Reported by: ovi Patches: 18137_test_framework_ifdef.patch uploaded by wdoekes (license 717) 18137_localelist_warning.patch uploaded by wdoekes (license 717) Tested by: ovi 2010-10-14 15:15 +0000 [r291758] Paul Belanger * channels/chan_gtalk.c, channels/chan_jingle.c, include/asterisk/acl.h, channels/chan_sip.c, channels/chan_h323.c, main/acl.c: Add the ability for ast_find_ourip to return IPv4, IPv6 or both. While testing chan_gtalk I noticed jabber was using my IPv6 address and not IPv4. When using bindaddr=0.0.0.0 it is possible for ast_find_ourip() to return both IPv6 and IPv4 results. Adding a family parameter gives you the ablility to choose. Since jabber/gtalk/h323 do not support IPv6, we should only return IPv4 results. Review: https://reviewboard.asterisk.org/r/973/ 2010-10-14 12:08 +0000 [r291725] Russell Bryant * doc/tex/secure-calls.tex: Fix a typo - s/seucre/secure/ 2010-10-13 23:45 +0000 [r291656] Richard Mudgett * channels/chan_dahdi.c, channels/sig_analog.c, /, channels/sig_analog.h: Merged revisions 291655 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r291655 | rmudgett | 2010-10-13 18:36:50 -0500 (Wed, 13 Oct 2010) | 27 lines Merged revisions 291643 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r291643 | rmudgett | 2010-10-13 18:29:58 -0500 (Wed, 13 Oct 2010) | 20 lines Deadlock between dahdi_exception() and dahdi_indicate(). There is a deadlock between dahdi_exception() and dahdi_indicate() for analog ports. The call-waiting and three-way-calling feature can experience deadlock if these features are trying to do something and an event from the bridged channel happens at the same time. Deadlock avoidance code added to obtain necessary channel locks before attemting an operation with call-waiting and three-way-calling. (closes issue #16847) Reported by: shin-shoryuken Patches: issue_16847_v1.4.patch uploaded by rmudgett (license 664) issue_16847_v1.6.2.patch uploaded by rmudgett (license 664) issue_16847_v1.8_v2.patch uploaded by rmudgett (license 664) Tested by: alecdavis, rmudgett Review: https://reviewboard.asterisk.org/r/971/ ........ ................ 2010-10-13 23:01 +0000 [r291581] Terry Wilson * main/channel.c, /: Merged revisions 291580 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r291580 | twilson | 2010-10-13 15:58:43 -0700 (Wed, 13 Oct 2010) | 28 lines Merged revisions 291577 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r291577 | twilson | 2010-10-13 15:45:15 -0700 (Wed, 13 Oct 2010) | 21 lines Don't ignore frames that have been queued when softhangup'd When an outgoing call is answered and hung up by the far end *very* quickly, we may not read any frames and therefor end up with a call that displays the wrong disposition/DIALSTATUS. The reason is because ast_queue_hangup() immediately sets the _softhangup flag on the channel and then queues the HANGUP control frame, but __ast_read refuses to read any frames if ast_check_hangup() indicates that a hangup request has been made (which it will if _softhangup is set). So, we end up losing control frames. This change makes __ast_read continue to read frames even if a soft hangup has been requested. It queues a hangup frame to make sure that __ast_read() will still eventually return NULL. Much thanks to David Vossel for all of the reviews, discussion, and help! (closes issue #16946) Reported by: davidw Review: https://reviewboard.asterisk.org/r/740/ ........ ................ 2010-10-13 22:46 +0000 [r291578] David Vossel * channels/chan_gtalk.c: More fixup for chan_gtalk. This patch makes the xml parsing safer. 2010-10-13 22:24 +0000 [r291575] Terry Wilson * Makefile, static-http/mantest.html (added): Add a simple AMI client web page This patch uses the XML docs to parse all of the available AMI commands and allows you to enter the command name and be presented with a form with the available fields. You can then rapidly tab through the fields and submit the command and view the response. It is much faster/easier than having to use telnet for testing purposes. 2010-10-13 20:21 +0000 [r291469-291541] Richard Mudgett * channels/chan_dahdi.c: The chan_dahdi faxdetect option only works for the first FAX call. The chan_dahdi faxdetect option only works for the first call. After that the option no longer works. The struct dahdi_pvt.callprogress member is the encoded user config setting for the callprogress and faxdetect config options. Changing this value alters the configuration for all following calls until the chan_dahdi.conf file is reloaded. * Fixed the chan_dahdi ast_channel_setoption callback to not change the users faxdetect config setting except for the current call. * Fixed the chan_dahdi ast_channel_queryoption callback to read the active DSP setting of the faxdetect option. * Made actually disable the active faxdetect DSP setting for the current call on the analog port. my_handle_dtmfup() is used for normal analog ports. dahdi_handle_dtmfup() is the legacy code and is no longer used unless in a radio mode. (closes issue #18116) Reported by: seandarcy Patches: issue18116_v1.8.patch uploaded by rmudgett (license 664) Review: https://reviewboard.asterisk.org/r/972/ * channels/chan_misdn.c: Merged revision 291504 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier .......... r291504 | rmudgett | 2010-10-13 13:30:21 -0500 (Wed, 13 Oct 2010) | 11 lines Hold off ast_hangup() from destroying the ast_channel. Must get the ast_channel lock before proceeding with release_chan() and release_chan_early() to hold off ast_hangup() from destroying the ast_channel. Missed this change for -r291468. JIRA ABE-2598 JIRA SWP-2317 .......... * channels/chan_misdn.c: Merge revision 291468 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier .......... r291468 | rmudgett | 2010-10-13 12:39:02 -0500 (Wed, 13 Oct 2010) | 16 lines Memory overwrites when releasing mISDN call. Phone <--> Asterisk <-- ALERTING --> DISCONNECT <-- RELEASE --> RELEASE_COMPLETE * Add lock protection around channel list for find/add/delete operations. * Protect misdn_hangup() from release_chan() and vise versa using the release_lock. JIRA ABE-2598 JIRA SWP-2317 .......... 2010-10-13 15:46 +0000 [r291394] Russell Bryant * /, channels/chan_sip.c: Merged revisions 291393 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r291393 | russell | 2010-10-13 10:29:21 -0500 (Wed, 13 Oct 2010) | 13 lines Merged revisions 291392 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r291392 | russell | 2010-10-13 10:23:19 -0500 (Wed, 13 Oct 2010) | 6 lines Lock pvt so pvt->owner can't disappear when queueing up a frame. This fixes a crash due to a hangup race condition. ABE-2601 ........ ................ 2010-10-12 17:20 +0000 [r291284] Leif Madsen * configs/phoneprov.conf.sample, /: Merged revisions 291280 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r291280 | lmadsen | 2010-10-12 12:20:02 -0500 (Tue, 12 Oct 2010) | 7 lines Add undocumented variables to phoneprov.conf.sample (closes issue #18107) Reported by: lathama Patches: phoneprov.conf.sample.diff uploaded by lathama (license 1028) ........ 2010-10-12 17:06 +0000 [r291265] Tilghman Lesher * /, main/acl.c: Merged revisions 291264 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r291264 | tilghman | 2010-10-12 12:05:31 -0500 (Tue, 12 Oct 2010) | 9 lines Merged revisions 291263 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r291263 | tilghman | 2010-10-12 11:55:30 -0500 (Tue, 12 Oct 2010) | 2 lines Oops, incorrect range (although unallocated at ARIN) ........ ................ 2010-10-12 16:08 +0000 [r291230] Leif Madsen * configs/manager.conf.sample, /: Merged revisions 291229 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r291229 | lmadsen | 2010-10-12 11:07:28 -0500 (Tue, 12 Oct 2010) | 2 lines Add documention that mentions options are defined but not used. (Issue #18101) ........ 2010-10-12 15:58 +0000 [r291192-291227] David Vossel * main/manager.c: Fixes manager.c crash. This issue was caused by improper use of the mansession lock and manession_session lock. These two structures are confusing to begin with so I'm not surprised this occurred. I fixed this by consistently making sure we use each of these locks only to protect the data in the corresponding structure. We had mismatched usage of these locks which resulted in no mutual exclusivity occurring at all. (closes issue #17994) Reported by: vrban Patches: mansession_locking_fix.diff uploaded by dvossel (license 671) Tested by: vrban * CHANGES: Update CHANGES to reflect new gtalk.conf options. * channels/chan_gtalk.c, include/asterisk/stun.h, configs/gtalk.conf.sample, res/res_stun_monitor.c: Gtalk enhancements and general code cleanup. This patch includes several chan_gtalk enhancements. Two new gtalk.conf options have been added, externip and stunadd. Setting externip allows us to manually specify what the external IP address is outside of a NAT environment. Setting the stunaddr option to a valid stun server allows for that external ip to be retrieved via a STUN server automatically. This external IP is then advertised during call setup as a possible candidate. I have also attempted to clean up chan_gtalk's code so it meets our coding guidelines. During this cleanup I noticed several things that need to be done in the code and made a TODO section at the top of the file. 2010-10-11 18:51 +0000 [r291075-291113] Richard Mudgett * channels/chan_sip.c: Move declaration closer to where now used. * /, channels/chan_sip.c: Merged revisions 291110-291111 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r291110 | rmudgett | 2010-10-11 13:34:22 -0500 (Mon, 11 Oct 2010) | 9 lines Merged revisions 291109 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r291109 | rmudgett | 2010-10-11 13:29:43 -0500 (Mon, 11 Oct 2010) | 1 line Add missing unlock to an exception condition in reload_config(). ........ ................ r291111 | rmudgett | 2010-10-11 13:39:06 -0500 (Mon, 11 Oct 2010) | 1 line Make exit from handle_request_do() consistent. ................ * main/cli.c, /: Merged revisions 291073 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r291073 | rmudgett | 2010-10-11 11:39:17 -0500 (Mon, 11 Oct 2010) | 15 lines Fixed infinite loop in verbose/debug message output. Setting the module/filename specific message level and then changing it resulted in the linked list being looped on itself. Traversing this linked list is an infinite loop if what you are looking for is not in the list. Also plugged some CLI parsing holes in the associated CLI command: * Removing a nonexistent module from the list actually added it with a level of zero. * Setting the non-module specific level to zero is now equivalent to setting it to "off" as documented. ........ 2010-10-09 23:25 +0000 [r291038] Tilghman Lesher * cdr/cdr_pgsql.c, configs/cdr_pgsql.conf.sample: Add missing option to set calls to be logged in GMT/UTC. 2010-10-09 15:00 +0000 [r291005-291037] Alexandr Anikin * addons/ooh323c/src/oochannels.c: small correction for verbose print h.323 packets * addons/ooh323c/src/ooh323.c, addons/chan_ooh323.c, addons/ooh323c/src/ooh245.c: Added fast start and h.245 tunneling options per user and peer. Added options for faststart/h.245 tunneling per user/peer, properly handle these and global options, correction of handling fs/tunneling fields in signalling responses (issue #17972) Reported by: salecha Patches: fs-tunnel-per-point-3.patch uploaded by may213 (license 454) Tested by: may213, salecha 2010-10-08 20:44 +0000 [r290973] David Vossel * channels/chan_gtalk.c: Make outbound Google Voice calls. This patch allows for outbound Google Voice calls to be dialed from Asterisk using chan_gtalk. Below is an example dialstring. exten -> blah,1,Dial(Gtalk/asterisk/+15552225555@voice.google.com,,) In this example, 'asterisk' is the jabber.conf profile configured to connect to your gmail account. In order to receive Google Voice calls make sure to enable 'allowguest=yes' in gtalk.conf. 2010-10-08 15:49 +0000 [r290937-290938] Erin Spiceland * addons/res_config_mysql.c: Parentheses around assignment used as truth value, introduced in r290937. * addons/res_config_mysql.c, addons/app_mysql.c, configs/res_config_mysql.conf.sample: Add option to res_config_mysql and app_mysql to specify a character set that MySQL should use. (closes issue 17948) Reported by qmax. 2010-10-08 02:56 +0000 [r290864] Jeff Peeler * main/asterisk.c, /: Merged revisions 290863 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r290863 | jpeeler | 2010-10-07 21:45:44 -0500 (Thu, 07 Oct 2010) | 16 lines Merged revisions 290862 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r290862 | jpeeler | 2010-10-07 21:35:29 -0500 (Thu, 07 Oct 2010) | 9 lines Ensure editline cleanup occurs when Ctrl-C is pressed at control console. A recent change was made to avoid a race condition on shutdown which only called the end functions from the console thread. However, when pressing Ctrl-C the quit handler is called from the signal handler thread. (closes issue #17698) Reported by: jmls ........ ................ 2010-10-07 22:38 +0000 [r290828-290829] David Vossel * channels/chan_gtalk.c: Add Philippe Sultan to chan_gtalk author list. Philippe has made some notable contributions to the gtalk channel driver. His name deserves to be listed amoung the authors of that file. Thanks Philippe! * channels/chan_gtalk.c: Outbound gtalk calls now work correctly. There was a problem with how the candidates were being built on an outbound call. This patch fixes that. 2010-10-07 20:58 +0000 [r290752] Jason Parker * autoconf/ast_ext_lib.m4, /, configure, include/asterisk/autoconfig.h.in: Merged revisions 290751 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r290751 | qwell | 2010-10-07 15:57:14 -0500 (Thu, 07 Oct 2010) | 16 lines Merged revisions 290750 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r290750 | qwell | 2010-10-07 15:56:04 -0500 (Thu, 07 Oct 2010) | 9 lines Allow PRI to build properly when using --with-pri. Use the directories found for the parent when using lib dependencies. (closes issue #17314) Reported by: tzafrir Patches: 17314-withdeps.diff uploaded by qwell (license 4) ........ ................ 2010-10-07 Leif Madsen * Asterisk 1.8.0-rc3 Released. 2010-10-07 11:00 +0000 [r290713] Russell Bryant * main/pbx.c, /: Merged revisions 290712 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r290712 | russell | 2010-10-07 12:53:56 +0200 (Thu, 07 Oct 2010) | 4 lines Don't crash when Set() is called without a value. Review: https://reviewboard.asterisk.org/r/949/ ........ 2010-10-06 21:22 +0000 [r290648-290674] David Vossel * channels/chan_gtalk.c: Fixes commented out code to use #if 0 instead. Thanks to rmudgett for catching this! * channels/chan_gtalk.c: Fixes gtalk outbound DTMF to work properly. Outbound DTMF with gtalk needs to be done within the RTP stream. I discovered this after investigating a packet capture from the gmail client. Instead of performing jingle signaling DTMF, the gtalk servers expect all DTMF to arrive on the RTP stream using RFC2833 way of doing things. Chan_gtalk also had an issue with negotiating RTP payload type 106 for the telephony-event and then sending DTMF as payload 101. This has been resolved by always negotiating 101 as the payload type like we do everywhere else. With this patch, incoming google voice calls forwarded to Asterisk via gtalk work. 2010-10-06 18:50 +0000 [r290614] Richard Mudgett * apps/app_dial.c: Merged revision 290613 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier .......... r290613 | rmudgett | 2010-10-06 13:42:41 -0500 (Wed, 06 Oct 2010) | 5 lines Eliminate a redundant test for AST_CONTROL_REDIRECTING. Eliminate redundant test for AST_CONTROL_REDIRECTING that prevents running the redirecting interception macro if it is defined. .......... 2010-10-06 13:49 +0000 [r290576] Tilghman Lesher * /, main/file.c: Merged revisions 290575 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r290575 | tilghman | 2010-10-06 08:48:27 -0500 (Wed, 06 Oct 2010) | 8 lines Allow streaming audio from a pipe. (closes issue #18001) Reported by: jamicque Patches: 20100926__issue18001.diff.txt uploaded by tilghman (license 14) Tested by: jamicque ........ 2010-10-06 04:35 +0000 [r290542] Terry Wilson * res/res_rtp_asterisk.c: Don't try to send RTP when remote_address is null It is possible for ast_rtp_stop() to be called which will clear the remote address and cause the sendto to fail and spam warnings. Don't send in this case. 2010-10-05 22:23 +0000 [r290479-290506] David Vossel * channels/chan_iax2.c: Fixes uninitialized memory problem in 'iax2 set debug peer' option. * include/asterisk/jingle.h, channels/chan_gtalk.c, res/res_jabber.c, include/asterisk/jabber.h: Fixes chan_gtalk to work with gmail client This patch was written by Philippe Sultan (phsultan). Thanks for keeping this up to date! 2010-10-05 20:23 +0000 [r290408] Tilghman Lesher * res/res_jabber.c, /: Merged revisions 290396 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r290396 | tilghman | 2010-10-05 15:21:02 -0500 (Tue, 05 Oct 2010) | 15 lines Merged revisions 290392 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r290392 | tilghman | 2010-10-05 15:20:07 -0500 (Tue, 05 Oct 2010) | 8 lines Fix a crash by ensuring that we don't alter memory after it's freed. (closes issue #17387) Reported by: jmls Patches: 20100726__issue17387.diff.txt uploaded by tilghman (license 14) Tested by: jmls ........ ................ 2010-10-05 20:09 +0000 [r290376-290378] David Vossel * channels/chan_iax2.c: Resolves dnsmgr memory corruption in chan_iax2. (closes issue #17902) Reported by: afried Patches: issue_17902.rev1.txt uploaded by russell (license 2) Tested by: afried, russell, dvossel Review: https://reviewboard.asterisk.org/r/965/ * /, apps/app_directed_pickup.c: Merged revisions 290375 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r290375 | dvossel | 2010-10-05 14:54:50 -0500 (Tue, 05 Oct 2010) | 10 lines Fixes PickupChan() not working with full channel name. (closes issue #18011) Reported by: schern Patches: app_directed_pickup.c.2.patch uploaded by schern (license 995) app_directed_pickup.c.trunk.patch uploaded by schern (license 995) Tested by: schern, dvossel ........ 2010-10-05 14:15 +0000 [r290066-290289] Tilghman Lesher * configure, configure.ac: Restore run directory for OS X, as well as standardizing some other paths to Mac OS X. * pbx/ael/ael-test/ref.ael-test4, pbx/ael/ael-test/ref.ael-test5, pbx/ael/ael-test/ref.ael-test19, pbx/ael/ael-test/ref.ael-vtest13, res/ael/pval.c, main/pbx.c, pbx/ael/ael-test/ref.ael-vtest17, /, pbx/ael/ael-test/ref.ael-ntest10, pbx/ael/ael-test/ref.ael-test1, pbx/ael/ael-test/ref.ael-test2, pbx/ael/ael-test/ref.ael-test3: Merged revisions 290254 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r290254 | tilghman | 2010-10-04 18:14:59 -0500 (Mon, 04 Oct 2010) | 11 lines Change new pattern matcher to regard dashes the same as the old pattern matcher -- as visual candy to be ignored. Also change the AEL parser to not generate dashes within extensions, as those dashes would be ignored. Update the AEL tests to match this behavior. (closes issue #17366) Reported by: murf Patches: 20100727__issue17366.diff.txt uploaded by tilghman (license 14) Tested by: tilghman ........ * /, configure, configure.ac: Merged revisions 290201 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r290201 | tilghman | 2010-10-04 15:22:03 -0500 (Mon, 04 Oct 2010) | 9 lines Merged revisions 290177 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r290177 | tilghman | 2010-10-04 15:15:26 -0500 (Mon, 04 Oct 2010) | 2 lines Fixing Mac OS X auto-builder. ........ ................ * /, configure, configure.ac: Merged revisions 290101 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r290101 | tilghman | 2010-10-03 16:06:58 -0500 (Sun, 03 Oct 2010) | 9 lines Merged revisions 290100 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r290100 | tilghman | 2010-10-03 16:04:29 -0500 (Sun, 03 Oct 2010) | 2 lines Automatically re-run configure test for menuselect, when the relevant makeopts settings change. ........ ................ * pbx/pbx_spool.c: Get notification only when file is closed, not when created. (closes issue #17924) Reported by: mkeuter Patches: asterisk-1.8-bugid17924.patch uploaded by abelbeck (license 946) Tested by: abelbeck 2010-10-02 17:57 +0000 [r290026] Kevin P. Fleming * contrib/scripts/get_mp3_source.sh: Allow users to pass additional arguments to the Subversion command that obtains the MP-3 source code. (reported on IRC by jmls) 2010-10-02 08:56 +0000 [r289951] Olle Johansson * main/manager.c, /: Merged revisions 289950 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r289950 | oej | 2010-10-02 10:52:03 +0200 (Lör, 02 Okt 2010) | 9 lines Merged revisions 289949 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r289949 | oej | 2010-10-02 10:50:05 +0200 (Lör, 02 Okt 2010) | 2 lines Add documentation for undocumented option to AMI action originate ........ ................ 2010-10-02 04:46 +0000 [r289875] Tilghman Lesher * apps/app_voicemail.c, /: Merged revisions 289874 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r289874 | tilghman | 2010-10-01 23:45:49 -0500 (Fri, 01 Oct 2010) | 15 lines Merged revisions 289873 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r289873 | tilghman | 2010-10-01 23:42:08 -0500 (Fri, 01 Oct 2010) | 8 lines When forwarding a message, a prepend means that the filesystem will always have a better copy. (closes issue #17803) Reported by: dpetersen Patches: 20100923__issue17803.diff.txt uploaded by tilghman (license 14) Tested by: dpetersen ........ ................ 2010-10-02 02:43 +0000 [r289840] Jeff Peeler * include/asterisk/rtp_engine.h, res/res_rtp_asterisk.c, main/rtp_engine.c, /, channels/chan_sip.c: Merged revisions 289798 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r289798 | jpeeler | 2010-10-01 18:01:31 -0500 (Fri, 01 Oct 2010) | 22 lines Merged revisions 289797 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r289797 | jpeeler | 2010-10-01 17:58:38 -0500 (Fri, 01 Oct 2010) | 15 lines Change RFC2833 DTMF event duration on end to report actual elapsed time. The scenario here is with a non P2P early media session. The reported time length of DTMF presses are coming up short when sending to the remote side. Currently the event duration is a running total that is incremented when sending continuation packets. These continuation packets are only triggered upon incoming media from the remote side, which means that the running total probably is not going to end up matching the actual length of time Asterisk received DTMF. This patch changes the end event duration to be lengthened if it is detected that the end event is going to come up short. Review: https://reviewboard.asterisk.org/r/957/ ABE-2476 ........ ................ 2010-10-01 17:19 +0000 [r289718] Paul Belanger * res/res_jabber.c, /, configs/jabber.conf.sample: Merged revisions 289704 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r289704 | pabelanger | 2010-10-01 13:09:03 -0400 (Fri, 01 Oct 2010) | 13 lines Merged revisions 289703 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r289703 | pabelanger | 2010-10-01 13:03:11 -0400 (Fri, 01 Oct 2010) | 6 lines Disable debugging by default and reformat .config file. Review: https://reviewboard.asterisk.org/r/929/ ........ ................ 2010-10-01 16:22 +0000 [r289701] Jeff Peeler * /, channels/chan_sip.c: Merged revisions 289700 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r289700 | jpeeler | 2010-10-01 11:21:04 -0500 (Fri, 01 Oct 2010) | 21 lines Merged revisions 289699 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r289699 | jpeeler | 2010-10-01 11:20:00 -0500 (Fri, 01 Oct 2010) | 14 lines Ensure user portion of SIP URI matches dialplan when using encoded characters. This commit takes a simliar approach to 288112 and checks the dialplan to determine the proper action for an incoming contact header as to whether or not it should be decoded or not. sip_new was blindly always decoding the extension, which also caused the outgoing contact header to be incorrect as well as failing to match the encoded extension in the dialplan. (closes issue #17892) Reported by: wdoekes Patches: bug17892-1.patch uploaded by jpeeler (license 325) Tested by: wdoekes ........ ................ 2010-10-01 09:42 +0000 [r289622] Stefan Schmidt * channels/chan_sip.c: don't iterate through all dialogs to find and delete old subscribes On every incoming subscribe there is a iteration through all dialogs to find old subscribes and delete them. This is slow and not RFC conform. This was only needed in 1.2 cause a subscribe was not deleted when a dialog was destroyed, after 1.4 a subscribe get removed when its dialog is destroyed. (closes issue #17950) Reported by: schmidts Tested by: schmidts Review: https://reviewboard.asterisk.org/r/901/ 2010-09-30 20:23 +0000 [r289581] Tilghman Lesher * funcs/func_env.c: Solaris fixes. 2010-09-30 19:53 +0000 [r289554] Matthew Nicholson * /, channels/chan_sip.c: Merged revisions 289553 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r289553 | mnicholson | 2010-09-30 14:51:27 -0500 (Thu, 30 Sep 2010) | 4 lines Properly handle channel allocation failures duing invites with replaces. ABE-2588 ........ 2010-09-30 19:28 +0000 [r289549] Richard Mudgett * channels/chan_misdn.c: Merged revision 289547 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier .......... r289547 | rmudgett | 2010-09-30 14:16:36 -0500 (Thu, 30 Sep 2010) | 10 lines In chan_misdn, the DivertingLegInformation2 DivertingNr is garbage when the number is restricted. The same thing happens with DivertingLegInformation1 DivertedTo number. The misdn_PresentedNumberUnscreened_extract() extracted the Unscreened PartyNumber field unconditionally. It now checks the presented number unscreened type to see if the PartyNumber was even present. JIRA ABE-2595 .......... 2010-09-30 17:50 +0000 [r289543] Tilghman Lesher * include/asterisk/localtime.h, main/stdtime/localtime.c, tests/test_time.c, tests/test_utils.c, res/res_agi.c: More Solaris compatibility fixes 2010-09-30 15:39 +0000 [r289426] Russell Bryant * apps/app_sms.c, /: Merged revisions 289425 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r289425 | russell | 2010-09-30 10:37:29 -0500 (Thu, 30 Sep 2010) | 15 lines Merged revisions 289424 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r289424 | russell | 2010-09-30 10:34:29 -0500 (Thu, 30 Sep 2010) | 8 lines Fix a crash in app_sms. Since the data being passed to the generator callback is on the stack of the SMS() application, we must ensure that the generator is stopped before the application exits. ABE-2587 ........ ................ 2010-09-29 21:12 +0000 [r289340] Jason Parker * main/channel.c, /, main/features.c: Merged revisions 289339 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r289339 | qwell | 2010-09-29 16:03:47 -0500 (Wed, 29 Sep 2010) | 15 lines Merged revisions 289338 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r289338 | qwell | 2010-09-29 15:56:26 -0500 (Wed, 29 Sep 2010) | 8 lines Allow a manager originate to succeed on forwarded devices. The timeout to wait for an answer was being set to 0 when a device forwarded to another extension. We don't always need the timeout set like this, so make it an optional parameter, and don't use it in this case. ABE-2544 ........ ................ 2010-09-29 20:27 +0000 [r289336] Leif Madsen * configs/res_ldap.conf.sample, /: Merged revisions 289334 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r289334 | lmadsen | 2010-09-29 15:24:47 -0500 (Wed, 29 Sep 2010) | 1 line Update sample documentation to note md5secret requirements. ........ 2010-09-29 20:20 +0000 [r289333] Russell Bryant * res/res_config_ldap.c, /: Merged revisions 289332 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r289332 | russell | 2010-09-29 15:15:57 -0500 (Wed, 29 Sep 2010) | 4 lines Don't completely ignore md5secret from LDAP if the value does not begin with {md5}. This fixes a problem that lmadsen ran in to where md5secret was not working for him. ........ 2010-09-29 17:53 +0000 [r289268-289300] Matthew Nicholson * configs/res_fax.conf.sample: Add 'ecm' to the sample fax config file * main/channel.c: Update the CDR record when ast_channel_set_caller_event() is called (related to issue #17569) Reported by: tbelder 2010-09-29 16:16 +0000 [r289253] Richard Mudgett * main/channel.c: Make development error message indicate which channel. 2010-09-29 15:04 +0000 [r289179] Matthew Nicholson * main/channel.c, /: Merged revisions 289178 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r289178 | mnicholson | 2010-09-29 10:04:11 -0500 (Wed, 29 Sep 2010) | 15 lines Merged revisions 289177 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r289177 | mnicholson | 2010-09-29 10:03:27 -0500 (Wed, 29 Sep 2010) | 8 lines Set the caller id on CDRs when it is set on the parent channel. (closes issue #17569) Reported by: tbelder Patches: 17569.diff uploaded by tbelder (license 618) Tested by: tbelder ........ ................ 2010-09-28 18:18 +0000 [r289104] Tilghman Lesher * makeopts.in, apps/app_voicemail.c, Makefile, tests/test_time.c, configure, include/asterisk/autoconfig.h.in, include/asterisk/compat.h, main/strcompat.c, tests/test_utils.c, configure.ac: Solaris compatibility fixes Review: https://reviewboard.asterisk.org/r/942/ 2010-09-28 18:18 +0000 [r289099] Brett Bryant * main/channel.c, /: Merged revisions 289095 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r289095 | bbryant | 2010-09-28 14:14:19 -0400 (Tue, 28 Sep 2010) | 21 lines Merged revisions 289094 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r289094 | bbryant | 2010-09-28 14:10:19 -0400 (Tue, 28 Sep 2010) | 14 lines Fixes an issue with the Newchannel AMI event during the Masquerading process. Fixes an issue with the Newchannel AMI event during the Masquerading process, where no Newchannel AMI event was generated for the psuedo channel used during the masquerading process. (closes issue #17987) Reported by: RadicAlish Patches: newchannel.patch.txt uploaded by RadicAlish (license 1122) Tested by: RadicAlish Review: https://reviewboard.asterisk.org/r/937/ ........ ................ 2010-09-28 01:04 +0000 [r289054-289057] Richard Mudgett * channels/sig_pri.c: Avoid deadlock processing incoming AOC-E messages. Deadlock avoidance for the owner channel was not done when processing incoming AOC-E messages. * channels/sig_pri.c: Revert stuff not ready for commit in -r289054. * channels/sig_pri.c, channels/chan_sip.c: Break up long ast_manager_event_multichan() event lines. 2010-09-27 18:37 +0000 [r288961] Tilghman Lesher * channels/chan_sip.c: Still build SIP, even if res_crypto cannot be built (use, not depend). (closes issue #18062) Reported by: a user on the mailing list 2010-09-27 13:03 +0000 [r288925-288927] Russell Bryant * res/res_agi.c: Fix some documentation typos and spelling errors. * res/res_agi.c: Fix a documentation spelling error. 2010-09-24 17:58 +0000 [r288821-288852] David Vossel * channels/chan_sip.c: Append Retry-After header on 500 error response to Re-INVITE according to RFC3261 section 14.2. ABE-2301 * channels/chan_sip.c: Inspect Require header on BYE transaction according to RFC3261 section 8.2.2.3. ABE-2293 2010-09-24 16:02 +0000 [r288748] Terry Wilson * channels/chan_local.c, /: Merged revisions 288747 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r288747 | twilson | 2010-09-24 08:37:39 -0700 (Fri, 24 Sep 2010) | 12 lines Merged revisions 288746 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r288746 | twilson | 2010-09-24 08:26:09 -0700 (Fri, 24 Sep 2010) | 5 lines Don't fail a masquerade if it is already being hung up This avoids noise on some Local channel situations where we don't use /n. Thanks to Alec Davis for the suggestion. ........ ................ 2010-09-24 13:54 +0000 [r288606-288713] Tilghman Lesher * /, funcs/func_strings.c: Merged revisions 288712 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r288712 | tilghman | 2010-09-24 08:53:30 -0500 (Fri, 24 Sep 2010) | 5 lines Solaris won't printf a NULL. (closes issue #18041) Reported by: asgaroth ........ * main/asterisk.exports.in: Export timersub for platforms which do not have it * include/asterisk/channel.h, cdr/cdr_pgsql.c, /, configure, include/asterisk/autoconfig.h.in, include/asterisk/compat.h, main/strcompat.c, configure.ac: Merged revisions 288637 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r288637 | tilghman | 2010-09-23 22:36:01 -0500 (Thu, 23 Sep 2010) | 9 lines Merged revisions 288636 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r288636 | tilghman | 2010-09-23 22:20:24 -0500 (Thu, 23 Sep 2010) | 2 lines Solaris compatibility fixes ........ ................ * CHANGES: Add note about the checkhangup option of ${CHANNEL()} 2010-09-23 Leif Madsen * Asterisk 1.8.0-rc2 Released. 2010-09-23 18:05 +0000 [r288507-288572] Terry Wilson * main/manager.c: Make AMI honor enabled=no (closes issue #18040) Reported by: twilson Review: https://reviewboard.asterisk.org/r/938/ * channels/chan_local.c, /: Merged revisions 288500 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r288500 | twilson | 2010-09-22 16:10:09 -0700 (Wed, 22 Sep 2010) | 15 lines Merged revisions 288499 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r288499 | twilson | 2010-09-22 16:00:30 -0700 (Wed, 22 Sep 2010) | 8 lines Don't let a Local channel get bridged to itself If a local channel gets bridged to itself, it becomes orphaned with no devices left to actually tell it to hang up. This patch modifies local_fixup() to detect this case and deny it. Review: https://reviewboard.asterisk.org/r/934 ........ ................ 2010-09-22 Leif Madsen * Asterisk 1.8.0-rc1 Released. 2010-09-22 17:49 +0000 [r288345-288418] David Vossel * /, channels/chan_sip.c: Merged revisions 288417 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r288417 | dvossel | 2010-09-22 12:49:05 -0500 (Wed, 22 Sep 2010) | 11 lines Merged revisions 288416 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r288416 | dvossel | 2010-09-22 12:48:15 -0500 (Wed, 22 Sep 2010) | 5 lines RFC3261 section 12.2 explicitly says out of order requests are responded with a 500 Server Internal Error response. ABE-2458 ........ ................ * /, channels/chan_sip.c: Merged revisions 288344 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r288344 | dvossel | 2010-09-22 11:53:28 -0500 (Wed, 22 Sep 2010) | 9 lines Merged revisions 288343 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r288343 | dvossel | 2010-09-22 11:49:56 -0500 (Wed, 22 Sep 2010) | 2 lines During check_pendings, if the dialog is terminated with a CANCEL, change the invitestate to INV_CANCEL like in sip_hangup. ........ ................ 2010-09-22 16:45 +0000 [r288341] Russell Bryant * main/asterisk.c, /: Merged revisions 288340 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r288340 | russell | 2010-09-22 11:44:13 -0500 (Wed, 22 Sep 2010) | 18 lines Merged revisions 288339 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r288339 | russell | 2010-09-22 11:39:16 -0500 (Wed, 22 Sep 2010) | 11 lines Fix a 100% CPU consumption problem when setting console=yes in asterisk.conf. The handling of -c and console=yes should be the same, but they were not. When you specify -c, it sets both a flag for console module and for asterisk not to fork() off into the background. The handling of console=yes only set console mode, so you would end up with a background process() trying to run the Asterisk console and freaking out since it didn't have anything to read input from. Thanks to beagles for reporting and helping debug the problem! ........ ................ 2010-09-22 15:14 +0000 [r288268] Tilghman Lesher * UPGRADE.txt, cdr/cdr_pgsql.c, configs/cdr_pgsql.conf.sample, /: Merged revisions 288267 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r288267 | tilghman | 2010-09-22 10:11:09 -0500 (Wed, 22 Sep 2010) | 23 lines Merged revisions 288265-288266 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r288265 | tilghman | 2010-09-22 09:48:04 -0500 (Wed, 22 Sep 2010) | 9 lines Allow the encoding to be set, in case local charset does not agree with database. (closes issue #16940) Reported by: jamicque Patches: 20100827__issue16940.diff.txt uploaded by tilghman (license 14) 20100921__issue16940__1.6.2.diff.txt uploaded by tilghman (license 14) Tested by: jamicque ........ r288266 | tilghman | 2010-09-22 10:04:52 -0500 (Wed, 22 Sep 2010) | 5 lines Document addition of encoding parameter. (issue #16940) Reported by: jamicque ........ ................ 2010-09-22 00:06 +0000 [r288194] Richard Mudgett * channels/chan_iax2.c, /: Merged revisions 288193 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r288193 | rmudgett | 2010-09-21 19:03:37 -0500 (Tue, 21 Sep 2010) | 33 lines Merged revisions 288192 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r288192 | rmudgett | 2010-09-21 18:55:58 -0500 (Tue, 21 Sep 2010) | 26 lines In chan_iax2.c:schedule_delivery() calls ast_bridged_channel() on an unlocked channel. Near the beginning of schedule_delivery(), ast_bridged_channel() is called on iaxs[fr->callno]->owner. However, the channel is not locked, which can result in ast_bridged_channel() crashing should owner->tech change to a technology that doesn't implement bridged_channel. I also fixed the other calls to ast_bridged_channel() in chan_iax2.c since the owner lock was not held there either. Converted the existing channel deadlock avoidance to use iax2_lock_owner(). Using the new function simplified some awkward code. In the process of fixing the locking on ast_bridged_channel(), I also found a memory leak in socket_process() for v1.6.2 and v1.8. The local struct variable ies.vars is not freed on early/abnormal function exits. (closes issue #17919) Reported by: rain Patches: issue17919_v1.4.patch uploaded by rmudgett (license 664) issue17919_w_leak_v1.6.2.patch uploaded by rmudgett (license 664) issue17919_w_leak_v1.8.patch uploaded by rmudgett (license 664) Review: https://reviewboard.asterisk.org/r/926/ ........ ................ 2010-09-21 22:57 +0000 [r288159] Tilghman Lesher * /, channels/chan_sip.c: Merged revisions 288113 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r288113 | tilghman | 2010-09-21 16:59:46 -0500 (Tue, 21 Sep 2010) | 22 lines Merged revisions 288112 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r288112 | tilghman | 2010-09-21 16:58:13 -0500 (Tue, 21 Sep 2010) | 15 lines Try both the encoded and unencoded subscription URI for a match in hints. When a phone sends an encoded URI for a subscription, the URI is not matched with the actual hint that is in decoded format. For example, if we have an extension with a hint that is named: "#5601" or "*5601", the subscription will work fine if the phone subscribes with an already decoded URI, but when it's decoded like "%255601" or "%2A5601", Asterisk is unable to match it with the correct hint. (closes issue #17785) Reported by: ramonpeek Patches: 20100831__issue17785.diff.txt uploaded by tilghman (license 14) Tested by: ramonpeek ........ ................ 2010-09-21 22:26 +0000 [r288157] Paul Belanger * channels/chan_iax2.c, /: Merged revisions 288147 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r288147 | pabelanger | 2010-09-21 18:22:43 -0400 (Tue, 21 Sep 2010) | 9 lines Setup timer before set_config(). (closes issue #18019) Reported by: Netview Patches: issue_0018019.patch uploaded by pabelanger (license 224) Tested by: Netview ........ 2010-09-21 21:03 +0000 [r288079-288082] Richard Mudgett * doc/tex/partymanip.tex: Add note in party manipulation chapter on interception macros. * apps/app_queue.c, apps/app_dial.c: Simplify locking code for REDIRECTING interception macro when forwarding a call. Simplified the locking code by using a local copy of the redirecting party information in app_dial.c:do_forward() and app_queue.c:wait_for_answer() for launching the REDIRECTING interception macro when a call is forwarded. Reduced the lock time of the 'o->chan' and 'in' channels. * main/channel.c: Protect channel access in CONNECTED_LINE and REDIRECTING interception macro launch code. 2010-09-21 19:48 +0000 [r288007] Brett Bryant * main/channel.c, /: Merged revisions 288006 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r288006 | bbryant | 2010-09-21 15:46:20 -0400 (Tue, 21 Sep 2010) | 14 lines Merged revisions 288005 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r288005 | bbryant | 2010-09-21 15:43:46 -0400 (Tue, 21 Sep 2010) | 8 lines Add a check to fix a rare segmentation fault you'd get if ast_frdup couldn't allocate memory on the first frame being queued in ast_queue_frame. (closes issue #17882) Reported by: seanbright Tested by: seanbright ........ ................ 2010-09-21 19:08 +0000 [r287935] Tilghman Lesher * main/asterisk.c, /: Merged revisions 287934 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r287934 | tilghman | 2010-09-21 14:07:53 -0500 (Tue, 21 Sep 2010) | 9 lines Merged revisions 287933 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r287933 | tilghman | 2010-09-21 14:07:07 -0500 (Tue, 21 Sep 2010) | 2 lines Less than zero is an error, not any non-zero value. ........ ................ 2010-09-21 19:02 +0000 [r287931] Terry Wilson * main/channel.c: Revert change in favor of a more targeted fix 2010-09-21 18:32 +0000 [r287929] David Vossel * channels/chan_sip.c: Send a "415 Unsupported Media Type" after failure to process sdp due to unknown Content-Encoding header. ABE-2258 2010-09-21 15:53 +0000 [r287897] Richard Mudgett * main/features.c: Cut-n-paste error in builtin_blindtransfer(). 2010-09-21 15:43 +0000 [r287895] Russell Bryant * res/res_rtp_asterisk.c, main/dnsmgr.c, channels/chan_sip.c, main/acl.c: Don't use ast_strdupa() from within the arguments to a function. (closes issue #17902) Reported by: afried Patches: issue_17902.rev1.txt uploaded by russell (license 2) Tested by: russell Review: https://reviewboard.asterisk.org/r/927/ 2010-09-21 15:24 +0000 [r287893] Tilghman Lesher * channels/chan_sip.c: Anonymous callerid needs a "sip:" uri prefix. (closes issue #17981) Reported by: avalentin Patches: sip-anonymous-aastra.patch uploaded by avalentin (license 1107) (plus an additional fix by me) Tested by: avalentin 2010-09-21 13:41 +0000 [r287863] Russell Bryant * main/logger.c: Fix a regression in verbose logger processing. 2010-09-21 04:37 +0000 [r287833] Terry Wilson * main/channel.c: Don't generate connected line buffer twice for comparison 2010-09-21 00:00 +0000 [r287760] Brett Bryant * /, apps/app_meetme.c: Merged revisions 287759 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r287759 | bbryant | 2010-09-20 19:58:26 -0400 (Mon, 20 Sep 2010) | 23 lines Merged revisions 287758 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r287758 | bbryant | 2010-09-20 19:57:08 -0400 (Mon, 20 Sep 2010) | 16 lines Fix misvalidation of meetme pins in conjunction with the 'a' MeetMe flag. When using the 'a' MeetMe flag and having a user and admin pin setup for your conference, using the user pin would gain you admin priviledges. Also, when no user pin was set, an admin pin was, the 'a' MeetMe flag wasn't used, and the user tried to enter a conference then they were still prompted for a pin and forced to hit #. (closes issue #17908) Reported by: kuj Patches: pins_2.patch uploaded by kuj (license 1111) Tested by: kuj Review: [full review board URL with trailing slash] ........ ................ 2010-09-20 23:51 +0000 [r287757] Terry Wilson * main/channel.c: Avoid infinite loop with certain local channel connected line updates Compare connected line data before sending a connected line indication to avoid possible loops. Review: https://reviewboard.asterisk.org/r/932/ 2010-09-20 23:20 +0000 [r287701] Alec L Davis * main/channel.c, /: Merged revisions 287685 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r287685 | alecdavis | 2010-09-21 11:16:45 +1200 (Tue, 21 Sep 2010) | 18 lines ast_channel_masquerade: Avoid recursive masquerades. Check all 4 combinations of (original/clonechan) * (masq/masqr). Initially original->masq and clonechan->masqr were only checked. It's possible with multiple masq's planned - and not yet executed, that the 'original' chan could already have another masq'd into it - thus original->masqr would be set, that masqr would lost. Likewise for the clonechan->masq. (closes issue #16057;#17363) Reported by: amorsen;davidw,alecdavis Patches: based on bug16057.diff4.txt uploaded by alecdavis (license 585) Tested by: ramonpeek, davidw, alecdavis ........ 2010-09-20 23:14 +0000 [r287683] Richard Mudgett * channels/chan_dahdi.c: The inalarm flag was not set in sig_analog struct if the port is initially in alarm. Fixed initial inalarm value for sig_analog ports. Along with -r261007, this gets the inalarm flag in sync with chan_dahdi for sig_analog ports. (closes issue #16983) 2010-09-20 22:21 +0000 [r287661] Alec L Davis * main/channel.c: ast_do_masquerade. Keep channels ao2_container locked while unlink and linking channels. Previously, Masquerade would unlock 'original' and 'clonechan' and allow another masq thread to run. End result would be corrupted memory, and the frequent report 'Bad Magic Number'. (closes issue #17801,#17710) Reported by: notthematrix Patches: Based on bug17801.diff1.txt uploaded by alecdavis (license 585) Tested by: alecdavis Review: https://reviewboard.asterisk.org/r/928 2010-09-20 22:09 +0000 [r287645-287647] David Vossel * include/asterisk/channel.h, CHANGES, include/asterisk/framehook.h (added), main/channel.c, main/framehook.c (added), funcs/func_frame_trace.c (added): Addition of the FrameHook API (AKA AwesomeHooks) So far all our tools for viewing and manipulating media streams within Asterisk have been entirely focused on audio. That made sense then, but is not scalable now. The FrameHook API lets us tap into and manipulate _ANY_ type of media or signaling passed on a channel present today or in the future. This tool is a step in the direction of expanding Asterisk's boundaries and will help generate some rather interesting applications in the future. In addition to the FrameHook API, a simple dialplan function exercising the api has been included as well. This function is called FRAME_TRACE(). FRAME_TRACE() allows for the internal ast_frames read and written to a channel to be output. Filters can be placed on this function to debug only certain types of frames. This function could be thought of as an internal way of doing ast_frame packet captures. Review: https://reviewboard.asterisk.org/r/925/ * channels/chan_sip.c: Fixes issue with registrations not working properly with pedantic=yes. (closes issue #18017) Reported by: schmidts Patches: issues_18017_v1.diff uploaded by dvossel (license 671) Tested by: schmidts 2010-09-20 21:29 +0000 [r287643] Jason Parker * /, channels/chan_skinny.c: Merged revisions 287642 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r287642 | qwell | 2010-09-20 16:28:32 -0500 (Mon, 20 Sep 2010) | 8 lines Don't crash when parking a non-bridged call. (closes issue #17680) Reported by: jmhunter Patches: chan_skinny-park-v1.txt uploaded by DEA (license 3) Tested by: jmhunter, DEA ........ 2010-09-20 21:19 +0000 [r287639] Brett Bryant * main/logger.c: Fixes an error with the logger that caused verbose messages to be spammed to the screen if syslog was configured in logger.conf (closes issue #17974) Reported by: lmadsen Review: https://reviewboard.asterisk.org/r/915/ 2010-09-20 15:57 +0000 [r287559] Matthew Nicholson * main/pbx.c, /: Merged revisions 287558 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r287558 | mnicholson | 2010-09-20 10:56:21 -0500 (Mon, 20 Sep 2010) | 14 lines Use ast_str when processing hint state changes Merged revisions 287555 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r287555 | mnicholson | 2010-09-20 10:48:14 -0500 (Mon, 20 Sep 2010) | 5 lines Use ast_dynamic_str when processing hint state changes (related to issue #17928) Reported by: mdu113 ........ ................ 2010-09-19 16:09 +0000 [r287471] Olle Johansson * main/manager.c, /: Merged revisions 287470 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r287470 | oej | 2010-09-19 18:06:10 +0200 (Sön, 19 Sep 2010) | 14 lines Merged revisions 287469 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r287469 | oej | 2010-09-19 17:56:50 +0200 (Sön, 19 Sep 2010) | 7 lines Make sure we always free variables properly in manager originate. (closes issue #17891) reported, solved and tested by oej Review: https://reviewboard.asterisk.org/r/869/ ........ ................ 2010-09-17 21:08 +0000 [r287388] Tilghman Lesher * apps/app_queue.c, /: Merged revisions 287387 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r287387 | tilghman | 2010-09-17 16:08:00 -0500 (Fri, 17 Sep 2010) | 14 lines Merged revisions 287386 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r287386 | tilghman | 2010-09-17 16:06:03 -0500 (Fri, 17 Sep 2010) | 7 lines Blank columns should get set on reload, not ignored. (closes issue #16893) Reported by: haakon Patches: 20100818__issue16893.diff.txt uploaded by tilghman (license 14) ........ ................ 2010-09-17 13:37 +0000 [r287309] Matthew Nicholson * main/pbx.c, /: Merged revisions 287308 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r287308 | mnicholson | 2010-09-17 08:36:07 -0500 (Fri, 17 Sep 2010) | 12 lines Merged revisions 287307 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r287307 | mnicholson | 2010-09-17 08:34:34 -0500 (Fri, 17 Sep 2010) | 5 lines Use ast_strdup() instead of ast_strdupa() while processing in ast_hint_state_changed(). (related to issue #17928) Reported by: mdu113 ........ ................ 2010-09-17 08:44 +0000 [r287269-287271] Jan Kalab * res/res_calendar_ews.c: Events are visible after they were removed from EWS calendar Because we must merge calendar even when it's empty. (closes issue #17786) * res/res_calendar_ews.c: Asterisk crashing because of double free when EWS request fails The free is done later in code. I think ast_free() should have built in checks for double free. (closes issue #17782) * res/res_calendar_caldav.c, res/res_calendar_ews.c, res/res_calendar_exchange.c, res/res_calendar_icalendar.c: Support for HTTP redirects in calendar's URL libneon does not support HTTP redirects (3xx responses) by default. You must tell it to follow them. Also, another little unsigned int fix. (closes issue #17776) Review: https://reviewboard.asterisk.org/r/921/ 2010-09-16 22:04 +0000 [r287195] Jason Parker * contrib/init.d/rc.debian.asterisk: Don't fail when running the Debian init script directly (as one would normally do). readlink apparently returns 1 when the arg isn't a symlink, which caused the script to exit. (closes issue #17910) Reported by: wurstsalat 2010-09-16 21:57 +0000 [r287193] Russell Bryant * UPGRADE.txt, apps/app_queue.c, configs/queues.conf.sample: Set the default for "autofill" and "shared_lastcall" to "yes" in queues.conf. Review: https://reviewboard.asterisk.org/r/922/ 2010-09-16 20:07 +0000 [r287116-287120] Matthew Nicholson * main/pbx.c, /: Merged revisions 287119 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r287119 | mnicholson | 2010-09-16 15:06:16 -0500 (Thu, 16 Sep 2010) | 15 lines Merged revisions 287118 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r287118 | mnicholson | 2010-09-16 15:04:46 -0500 (Thu, 16 Sep 2010) | 8 lines Don't limit hint processing in ast_hint_state_changed() to AST_MAX_EXTENSION length strings. (closes issue #17928) Reported by: mdu113 Patches: 20100831__issue17928.diff.txt uploaded by tilghman (license 14) Tested by: mdu113 ........ ................ * main/cdr.c, /: Merged revisions 287115 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r287115 | mnicholson | 2010-09-16 14:53:41 -0500 (Thu, 16 Sep 2010) | 15 lines Merged revisions 287114 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r287114 | mnicholson | 2010-09-16 14:52:39 -0500 (Thu, 16 Sep 2010) | 8 lines Don't stop printing cdr variables if we encounter one with a blank name or value. (closes issue #17900) Reported by: under Patches: core-show-channel-cdr-fix1.diff uploaded by mnicholson (license 96) Tested by: mnicholson ........ ................ 2010-09-15 22:17 +0000 [r287056] Terry Wilson * res/res_srtp.c: Don't hang up a call on an SRTP unprotect failure Also make it more obvious when there is an issue en/decrypting. (closes issue #17563) Reported by: Alexcr Patches: res_srtp.c.patch uploaded by sfritsch (license 1089) Tested by: twilson 2010-09-15 20:58 +0000 [r287020] Jeff Peeler * main/features.c: fix uninintialized variable 2010-09-15 20:53 +0000 [r287017] Richard Mudgett * channels/misdn/isdn_msg_parser.c, channels/chan_misdn.c: Merged revision 287014 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier .......... r287014 | rmudgett | 2010-09-15 15:32:24 -0500 (Wed, 15 Sep 2010) | 58 lines The handling of call transfer signaling for mISDN PTMP is not fully implemented. The handling of call transfer signaling for mISDN PTMP is not fully implemented. The signaling of number updates with ISDN/DSS1 ECT supplementary services (ETS 300 369-1) comes along with a notification indicator IE and redirection number IE for PTMP. The implementation in the current Asterisk mISDN channel unfortunately can handle these information elements only in a NOTIFY message. These information elements are also signaled in a FACILTY message with a RequestSubaddress facility, when the subscriber is already in the active state (see 9.2.4 and 9.2.5 of ETS 300 369-1). ********** abe_2526_ast.patch * Added support to handle the notification indicator IE and redirection number IE with the RequestSubaddress facility. * Made misdn_update_connected_line() send a NOTIFY message if Asterisk originated the call and it is not connected yet. * Made misdn_update_connected_line() send a FACILITY message if the call is already connected. This patch requires the presence of the associated mISDN patches to compile. I had to enhance mISDN to allow the notification indicator IE and the redirection number IE to be used with a FACILITY message. Earlier versions of the Digium enhanced mISDN are no longer going to work. ********** abe_2526_misdn.patch * Made an incoming FACILITY message allow the presence of the notification indicator IE and the redirection number IE. ********** abe_2526_misdnuser_v3.patch * Added support to send and receive a FACILITY message with the notification indicator IE and the redirection number IE. * Added the ability to send a NOTIFY message in PTMP/NT mode to all responding subcalls in Q.931 states 6, 7, 8, 9, and 25. ********** Patches: abe_2526_ast.patch uploaded by rmudgett (license 664) abe_2526_misdn.patch uploaded by rmudgett (license 664) abe_2526_misdnuser_v3.patch uploaded by rmudgett (license 664) Tested by: rmudgett and reporter JIRA SWP-2146 JIRA ABE-2526 .......... 2010-09-15 20:32 +0000 [r286931-287015] Jeff Peeler * apps/app_voicemail.c, /: Merged revisions 286998 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r286998 | jpeeler | 2010-09-15 15:28:02 -0500 (Wed, 15 Sep 2010) | 14 lines Merged revisions 286941 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r286941 | jpeeler | 2010-09-15 15:08:52 -0500 (Wed, 15 Sep 2010) | 7 lines Ensure mailbox is not filled to capacity before doing message forwarding. Specifically, before prompting to record a prepended message the capacity is checked first. If the mailbox is full the extension will be reprompted. ABE-2517 ........ ................ * CHANGES, channels/chan_iax2.c, channels/sip/include/sip.h, configs/features.conf.sample, channels/chan_mgcp.c, include/asterisk/features.h, channels/chan_dahdi.c, channels/sig_analog.c, channels/chan_sip.c, main/features.c: Add parking extension for non-default parking lots. This is a new feature that allows for parking to custom parking lots to be accessed directly, rather than with channel variables or by changing the default parking lot. The extension is set with the parkext option just as the default parking lot is done. Also, the manager action has been updated to optionally allow a specified parking lot. (closes issue #14882) Reported by: vmikhnevych Patches: patch_14882.txt uploaded by mnick (license 874) modified by me Review: https://reviewboard.asterisk.org/r/884/ 2010-09-15 18:29 +0000 [r286904-286905] Richard Mudgett * channels/sig_analog.c: Simplify some code in sig_analog. * channels/sig_analog.c: Unable to originate calls using E&M over T1. When originating a call from Unit Under Test to Reference Unit using E&M RBS signaling mode, I get the following warning message: "Ring/Off-hook in strange state 3 on channel 1". Fixed the sig_analog outgoing flag. It was never set when sig_analog was extracted from chan_dahdi. JIRA SWP-2191 JIRA AST-408 2010-09-15 13:05 +0000 [r286868] Matthew Nicholson * channels/chan_sip.c: Set tohost to the domain specified in the configuration file instead of the IP address of the host we are calling. This fixes a regression introduced in r274783. (closes issue #17960) Reported by: adriavidal Patches: sip-tohost-fix1.diff uploaded by mnicholson (license 96) Tested by: mich, mnicholson, adriavidal (closes issue #17676) Reported by: outcast Patches: sip-tohost-fix1.diff uploaded by mnicholson (license 96) Tested by: mnicholson 2010-09-14 21:57 +0000 [r286834] David Vossel * channels/chan_sip.c: Sets subscribed type for outgoing MWI subscriptions so correct Event header is used. 2010-09-14 19:28 +0000 [r286682-286758] Matthew Nicholson * /, channels/chan_sip.c: Merged revisions 286757 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r286757 | mnicholson | 2010-09-14 14:27:28 -0500 (Tue, 14 Sep 2010) | 20 lines Merged revisions 286756 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r286756 | mnicholson | 2010-09-14 14:26:18 -0500 (Tue, 14 Sep 2010) | 13 lines Don't clear the username from a realtime database when a registration expires. Non-realtime chan_sip does not clear the username from memory when a registration expiries so realtime probably shouldn't either. (closes issue #17551) Reported by: ricardolandim Patches: reg-expiry-username-1.4-fix1.diff uploaded by mnicholson (license 96) reg-expiry-username-1.6.2-fix1.diff uploaded by mnicholson (license 96) reg-expiry-username-1.8-fix1.diff uploaded by mnicholson (license 96) reg-expiry-username-trunk-fix1.diff uploaded by mnicholson (license 96) Tested by: ricardolandim, mnicholson ........ ................ * main/channel.c, /: Merged revisions 286681 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r286681 | mnicholson | 2010-09-14 13:02:24 -0500 (Tue, 14 Sep 2010) | 14 lines Merged revisions 286679 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r286679 | mnicholson | 2010-09-14 13:00:01 -0500 (Tue, 14 Sep 2010) | 7 lines Only drop duplicate answer frames if the channel is bridged. Back in r3710 ast_read() was modified to drop answer frames on channels that were in the UP state. This modification prevented bridges that were up before the answer from being broken and reestablished by an ANSWER control frame. That change also prevents pickup of channels called from the ast_dial framework from working properly. The ast_dial framework expects to see an ANSWER frame after dialing and the pickup code queues one but ast_read() drops it. This new change only drops ANSWER frames when the channel is bridged, allowing the answer queued by the pickup code to properly pass through ast_read() on to the ast_dial framework. ABE-2473 (related to issue #2342) ........ ................ 2010-09-14 15:30 +0000 [r286647] Richard Mudgett * doc/tex/channelvariables.tex, doc/tex/partymanip.tex: Corrected documented CONNECTED_LINE and REDIRECTING party manipulation macro names. 2010-09-14 06:55 +0000 [r286617] Jan Kalab * res/res_calendar_ews.c: Merging events for Exchange web service doesn't work as expected, resulting in only one event in calendar The solution is to use "global" counter of events, since we do new requests for every event and calendar sync after every request. So now we do sync only after last request. (closes issue #17877) Review: https://reviewboard.asterisk.org/r/916/ 2010-09-14 05:07 +0000 [r286528-286588] Tilghman Lesher * contrib/realtime/mysql/voicemail_data.sql (added), /, contrib/realtime/mysql/voicemail_messages.sql (added): Merged revisions 286587 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r286587 | tilghman | 2010-09-14 00:06:05 -0500 (Tue, 14 Sep 2010) | 2 lines Add documentation on missing backend tables for Voicemail ........ * /, main/features.c: Merged revisions 286557 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r286557 | tilghman | 2010-09-13 18:48:51 -0500 (Mon, 13 Sep 2010) | 2 lines C precedence got me ........ * /, main/features.c: Merged revisions 286527 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r286527 | tilghman | 2010-09-13 18:03:26 -0500 (Mon, 13 Sep 2010) | 2 lines Refactor conversion to ast_poll() to fix callparking regression. ........ 2010-09-13 19:40 +0000 [r286457] Jason Parker * /, channels/chan_sip.c: Merged revisions 286456 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r286456 | qwell | 2010-09-13 14:38:35 -0500 (Mon, 13 Sep 2010) | 5 lines Remove "Internal IP" from sip show settings, as it's not at all useful to display. (closes issue #17840) Reported by: oej ........ 2010-09-13 15:52 +0000 [r286426] Richard Mudgett * configs/chan_dahdi.conf.sample: Update chan_dahdi.conf.sample to reflect new libpri T309 default value. 2010-09-11 17:09 +0000 [r286270] Olle Johansson * /, main/file.c: Merged revisions 286268 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r286268 | oej | 2010-09-11 19:05:16 +0200 (Lör, 11 Sep 2010) | 11 lines Merged revisions 286267 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r286267 | oej | 2010-09-11 18:59:20 +0200 (Lör, 11 Sep 2010) | 4 lines Handle error response when we can't make file compatible Review: https://reviewboard.asterisk.org/r/911/ ........ ................ 2010-09-10 22:04 +0000 [r286189] Terry Wilson * include/asterisk/channel.h, include/asterisk/pbx.h, include/asterisk/frame.h, channels/chan_local.c, funcs/func_channel.c: Merged revisions 286115 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r286115 | twilson | 2010-09-10 15:35:25 -0500 (Fri, 10 Sep 2010) | 23 lines Merged revisions 286059 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r286059 | twilson | 2010-09-10 14:25:08 -0500 (Fri, 10 Sep 2010) | 16 lines Inherit CHANNEL() writes to both sides of a Local channel Having Local (/n) channels as queue members and setting the language in the extension with Set(CHANNEL(language)=fr) sets the language on the Local/...,2 channel. Hold time report playbacks happen on the Local/...,1 channel and therefor do not play in the specified language. This patch modifies func_channel_write to call the setoption callback and pass the CHANNEL() write info to the callback. chan_local uses this information to look up the other side of the channel and apply the same changes to it. (closes issue #17673) Reported by: Guggemand Review: https://reviewboard.asterisk.org/r/903/ ........ ................ 2010-09-10 21:11 +0000 [r286120] Paul Belanger * channels/chan_iax2.c, /: Merged revisions 286117 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r286117 | pabelanger | 2010-09-10 16:55:06 -0400 (Fri, 10 Sep 2010) | 11 lines Merged revisions 286114 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r286114 | pabelanger | 2010-09-10 16:35:08 -0400 (Fri, 10 Sep 2010) | 4 lines Load iax.conf before registering any functions/applications/actions. Review: https://reviewboard.asterisk.org/r/914/ ........ ................ 2010-09-10 20:55 +0000 [r286118] Richard Mudgett * channels/sig_pri.c, /: Merged revisions 286116 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r286116 | rmudgett | 2010-09-10 15:42:44 -0500 (Fri, 10 Sep 2010) | 18 lines Merged revisions 286113 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r286113 | rmudgett | 2010-09-10 15:33:16 -0500 (Fri, 10 Sep 2010) | 11 lines An outgoing call may not get hung up if a pre-connect incoming ISDN call is disconnected. If the ISDN link a pre-connect incoming call is using fails or is reset, the outgoing leg may not hang up or be delayed in hanging up. (Causes: PRI_CAUSE_NETWORK_OUT_OF_ORDER, PRI_CAUSE_DESTINATION_OUT_OF_ORDER, and PRI_CAUSE_NORMAL_TEMPORARY_FAILURE.) Just hang up the call if the incoming call leg hangs up before connecting for any reason. It makes no sense to send a BUSY or CONGESTION control frame to the outgoing call leg under these circumstances. ........ ................ 2010-09-10 20:31 +0000 [r286112] Russell Bryant * main/db.c: Rate limit calls to fsync() to 1 per second after astdb updates. Astdb was determined to be one of the most significant bottlenecks in SIP registration processing. This patch improved the speed of an astdb load test by 50000% (yes, Fifty-Thousand Percent). On this particular load test setup, this doubled the number of SIP registrations the server could handle. Review: https://reviewboard.asterisk.org/r/825/ 2010-09-10 18:31 +0000 [r286025] Tilghman Lesher * /: Merged revisions 286024 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r286024 | tilghman | 2010-09-10 13:30:21 -0500 (Fri, 10 Sep 2010) | 9 lines Merged revisions 286023 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r286023 | tilghman | 2010-09-10 13:22:04 -0500 (Fri, 10 Sep 2010) | 2 lines Missing newline ........ ................ 2010-09-10 13:13 +0000 [r285992] David Ruggles * doc/externalivr.txt, CHANGES: Added missing documentation for ExternalIVR feature added in January 2010 2010-09-10 05:32 +0000 [r285931-285962] Tilghman Lesher * include/asterisk/select.h, /: Merged revisions 285961 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r285961 | tilghman | 2010-09-10 00:31:31 -0500 (Fri, 10 Sep 2010) | 6 lines Another fix for Mac OS X. While trying to fix this the "right" way, I wandered into dependency hell. Two hours later, I backed out, and just removed the offending code. ast_inline_api only goes one level deep and then it breaks. Ouch. ........ * tests/test_poll.c, include/asterisk/select.h, /, configure, include/asterisk/autoconfig.h.in, configure.ac: Merged revisions 285930 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r285930 | tilghman | 2010-09-09 20:16:32 -0500 (Thu, 09 Sep 2010) | 14 lines Merged revisions 285889 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r285889 | tilghman | 2010-09-09 19:13:45 -0500 (Thu, 09 Sep 2010) | 7 lines Fix Mac OS X build. This also fixes a rather grievous calculation error for the offset of ast_fdset, which was masked on Linux and FreeBSD, because these platforms check the first 256 FDs regardless of the bitmask setting (due to backwards compatibility). ........ ................ 2010-09-09 22:52 +0000 [r285819] Paul Belanger * /, codecs/gsm/Makefile: Merged revisions 285818 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r285818 | pabelanger | 2010-09-09 18:49:19 -0400 (Thu, 09 Sep 2010) | 15 lines Merged revisions 285817 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r285817 | pabelanger | 2010-09-09 18:34:35 -0400 (Thu, 09 Sep 2010) | 8 lines GCC 4.2.x optimizations result in improper behavior of GSM codec (closes issue #17688) Reported by: pprindeville Patches: asterisk-trunk-bugid11243.patch uploaded by pprindeville (license 347) Tested by: mkeuter, pprindeville ........ ................ 2010-09-09 20:11 +0000 [r285745] Jason Parker * main/channel.c, /: Merged revisions 285744 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r285744 | qwell | 2010-09-09 15:09:23 -0500 (Thu, 09 Sep 2010) | 16 lines Merged revisions 285742 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r285742 | qwell | 2010-09-09 15:06:31 -0500 (Thu, 09 Sep 2010) | 9 lines Transmit silence when reading DTMF in ast_readstring. Otherwise, you could get issues with DTMF timeouts causing hangups. (closes issue #17370) Reported by: makoto Patches: channel-readstring-silence-generator.patch uploaded by makoto (license 38) ........ ................ 2010-09-09 18:51 +0000 [r285640-285711] Brett Bryant * main/pbx.c, /: Merged revisions 285710 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r285710 | bbryant | 2010-09-09 14:50:13 -0400 (Thu, 09 Sep 2010) | 8 lines Fixes an issue with dialplan pattern matching where the specificity for pattern ranges and pattern special characters was inconsistent. (closes issue #16903) Reported by: Nick_Lewis Patches: pbx.c-specificity.patch uploaded by Nick Lewis (license 657) Tested by: Nick_Lewis ........ * res/res_musiconhold.c, /: Merged revisions 285639 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r285639 | bbryant | 2010-09-09 13:22:25 -0400 (Thu, 09 Sep 2010) | 14 lines Merged revisions 285638 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r285638 | bbryant | 2010-09-09 13:20:17 -0400 (Thu, 09 Sep 2010) | 7 lines Fixes an issue with MOH where it doesn't recover cleanly when it can't play a file and would just stop, instead of continuing to find the next playable file in the MOH class. (closes issue #17807) Reported by: kshumard Review: https://reviewboard.asterisk.org/r/910/ ........ ................ 2010-09-08 22:14 +0000 [r285564-285568] David Vossel * /, channels/chan_sip.c: Merged revisions 285567 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r285567 | dvossel | 2010-09-08 17:11:28 -0500 (Wed, 08 Sep 2010) | 9 lines Merged revisions 285566 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r285566 | dvossel | 2010-09-08 17:07:31 -0500 (Wed, 08 Sep 2010) | 2 lines In retrans_pkt, do not unlock pvt until the end of the function on a transmit failure. ........ ................ * /, channels/chan_sip.c: Merged revisions 285563 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r285563 | dvossel | 2010-09-08 16:47:29 -0500 (Wed, 08 Sep 2010) | 54 lines Fixes interoperability problems with session timer behavior in Asterisk. CHANGES: 1. Never put "timer" in "Require" header. This is not to our benefit and RFC 4028 section 7.1 even warns against it. It is possible for one endpoint to perform session-timer refreshes while the other endpoint does not support them. If in this case the end point performing the refreshing puts "timer" in the Require field during a refresh, the dialog will likely get terminated by the other end. 2. Change the behavior of 'session-timer=accept' in sip.conf (which is the default behavior of Asterisk with no session timer configuration specified) to only run session-timers as result of an incoming INVITE request if the INVITE contains an "Session-Expires" header... Asterisk is currently treating having the "timer" option in the "Supported" header as a request for session timers by the UAC. I do not agree with this. Session timers should only be negotiated in "accept" mode when the incoming INVITE supplies a "Session-Expires" header, otherwise RFC 4028 says we should treat a request containing no "Session-Expires" header as a session with no expiration. Below I have outlined some situations and what Asterisk's behavior is. The table reflects the behavior changes implemented by this patch. SITUATIONS: -Asterisk as UAS 1. Incoming INVITE: NO "Session-Expires" 2. Incoming INVITE: HAS "Session-Expires" -Asterisk as UAC 3. Outgoing INVITE: NO "Session-Expires". 200 Ok Response HAS "Session-Expires" header 4. Outgoing INVITE: NO "Session-Expires". 200 Ok Response NO "Session-Expires" header 5. Outgoing INVITE: HAS "Session-Expires". Active - Asterisk will have an active refresh timer regardless if the other endpoint does. Inactive - Asterisk does not have an active refresh timer regardless if the other endpoint does. XXXXXXX - Not possible for mode. ______________________________________ |SITUATIONS | 'session-timer' MODES | |___________|________________________| | | originate | accept | |-----------|------------|-----------| |1. | Active | Inactive | |2. | Active | Active | |3. | XXXXXXXX | Active | |4. | XXXXXXXX | Inactive | |5. | Active | XXXXXXXX | -------------------------------------- (closes issue #17005) Reported by: alexrecarey ........ 2010-09-08 20:58 +0000 [r285533] Brett Bryant * /, apps/app_meetme.c: Merged revisions 285532 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r285532 | bbryant | 2010-09-08 16:56:12 -0400 (Wed, 08 Sep 2010) | 8 lines Fixes a bug with MeetMe where after announcing the amount of time left in a conference, if music on hold was playing, it doesn't restart. (closes issue #17408) Reported by: sysreq Patches: asterisk-issue-17408_fixed.patch uploaded by sysreq (license 1009) Tested by: sysreq ........ 2010-09-08 20:43 +0000 [r285527-285530] Jason Parker * res/res_musiconhold.c, /, include/asterisk/astobj2.h: Merged revisions 285529 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r285529 | qwell | 2010-09-08 15:42:44 -0500 (Wed, 08 Sep 2010) | 1 line Follow coding guidelines in moh rescan fix. Also fix the documentation that got me in trouble. ........ * res/res_musiconhold.c, /: Merged revisions 285526 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r285526 | qwell | 2010-09-08 15:31:43 -0500 (Wed, 08 Sep 2010) | 8 lines Fixes issue where moh files were no longer rescanned during a reload. (closes issue #16744) Reported by: pj Patches: 16744-reload.diff uploaded by qwell (license 4) Tested by: qwell ........ 2010-09-08 07:14 +0000 [r285484] Tilghman Lesher * funcs/func_channel.c: Documentation only 2010-09-07 22:22 +0000 [r285455] Jason Parker * channels/chan_sip.c: Don't automatically add domains for wildcard bindaddrs. (closes issue #17832) Reported by: oej Patches: 17832-wildcard.diff uploaded by qwell (license 4) Tested by: qwell 2010-09-07 21:20 +0000 [r285373-285386] Tilghman Lesher * pbx/pbx_spool.c: Don't notify on attribute changes, and change how the queuing mechanism works. Fixes call spools in 1.8. (closes issue #17337) Reported by: loloski Patches: 20100827__issue17337.diff.txt uploaded by tilghman (license 14) (closes issue #17924) Reported by: mkeuter Tested by: mkeuter * funcs/func_channel.c: Add CHANNEL(checkhangup) to check whether a channel is in the process of being hanged up. (closes issue #17652) Reported by: kobaz Patches: func_channel.patch uploaded by kobaz (license 834) 2010-09-07 21:08 +0000 [r285371] Richard Mudgett * main/features.c: Fix cut-n-paste error. 2010-09-07 20:58 +0000 [r285369] Jason Parker * channels/chan_sip.c: Add note to 'sip show settings' regarding dual-stack support, and a :: bindaddress. (closes issue #17831) Reported by: oej Patches: 17831-v6wildcardbind.diff uploaded by qwell (license 4) 2010-09-07 20:56 +0000 [r285268-285367] Tilghman Lesher * pbx/pbx_config.c, /: Merged revisions 285366 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r285366 | tilghman | 2010-09-07 15:31:41 -0500 (Tue, 07 Sep 2010) | 16 lines Merged revisions 285365 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r285365 | tilghman | 2010-09-07 15:30:22 -0500 (Tue, 07 Sep 2010) | 9 lines Catch invalid extensions at the parser, instead of making the core deal with them. (closes issue #17794) Reported by: PavelL Patches: 20100820__issue17794__1.6.2.diff.txt uploaded by tilghman (license 14) 20100820__issue17794__1.4.diff.txt uploaded by tilghman (license 14) Tested by: PavelL ........ ................ * include/asterisk/compiler.h, addons/ooh323c/src/ooSocket.h: Fix build on FreeBSD 8.0, take 2. * main/poll.c, /: Merged revisions 285267 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r285267 | tilghman | 2010-09-07 14:07:17 -0500 (Tue, 07 Sep 2010) | 11 lines Merged revisions 285266 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r285266 | tilghman | 2010-09-07 14:04:50 -0500 (Tue, 07 Sep 2010) | 4 lines Use poll, if indicated to do so, in the ast_poll2 implementation. This fixes the unit tests on FreeBSD 8.0. ........ ................ 2010-09-07 17:54 +0000 [r285197] Brett Bryant * apps/app_voicemail.c, /: Merged revisions 285196 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r285196 | bbryant | 2010-09-07 13:49:07 -0400 (Tue, 07 Sep 2010) | 17 lines Merged revisions 285194 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r285194 | bbryant | 2010-09-07 13:45:41 -0400 (Tue, 07 Sep 2010) | 10 lines Fixes voicemail.conf issues where mailboxes with passwords that don't precede a comma would throw unnecessary error messages. (closes issue #15726) Reported by: 298 Patches: M15726.diff uploaded by junky (license 177) Tested by: junky Review: [full review board URL with trailing slash] ........ ................ 2010-09-07 17:47 +0000 [r285195] Richard Mudgett * channels/chan_misdn.c: Merged revisions 285193 via svnmerge from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier ........ Merged revisions 285192 via svnmerge from https://origsvn.digium.com/svn/asterisk/be/branches/C.3 ........ r285192 | rmudgett | 2010-09-07 11:58:57 -0500 (Tue, 07 Sep 2010) | 8 lines COLP/CONP and chan_misdn missing update chan_misdn does not update the caller id of the channel if a new connected number or ECT-INFORM (w/ new peer number on call transfer) is received. JIRA ABE-2502 JIRA SWP-2058 ........ ........ 2010-09-06 20:10 +0000 [r285161-285162] Russell Bryant * configure: regenerate configure script. * include/asterisk/autoconfig.h.in, configure.ac: Fix libsrtp -fPIC check for when non-standard prefix is used. Thanks to loompek in #asterisk for reporting the issue and testing this patch. 2010-09-06 06:56 +0000 [r285090] Tilghman Lesher * BSDmakefile (added), makeopts.in, /: Merged revisions 285089 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r285089 | tilghman | 2010-09-06 01:55:17 -0500 (Mon, 06 Sep 2010) | 9 lines Merged revisions 285088 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r285088 | tilghman | 2010-09-06 01:54:18 -0500 (Mon, 06 Sep 2010) | 2 lines Silly convenience script for BSD platforms. ........ ................ 2010-09-04 18:08 +0000 [r285057] Russell Bryant * include/asterisk/cli.h: Add a C++ compatible version of AST_CLI_DEFINE(). 2010-09-03 23:19 +0000 [r285017] Terry Wilson * channels/chan_sip.c: Call correct lock function as transferer is a sip_pvt not a channel Both functions are #defined to ao2_lock, but still... 2010-09-03 22:21 +0000 [r285006] David Vossel * configs/sip.conf.sample, channels/sip/include/sip.h, channels/chan_sip.c: Disables auth_options_request option by default. The auth_options_request option was created to do authentication on OPTIONS request just like INVITES are done. Since it has been noted that some endpoints use OPTIONS requests as a way of qualifying a peer and that a 401 authentication response could result in interoperability issues, this option has been disabled by default. 2010-09-03 18:19 +0000 [r284967] Brett Bryant * channels/chan_iax2.c, /: Merged revisions 284958 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r284958 | bbryant | 2010-09-03 14:15:49 -0400 (Fri, 03 Sep 2010) | 8 lines This is a patch provided for issue #17935 to add the ActionID to the IAXregistry AMI response. (closes issue #17935) Reported by: alexkuklin Patches: iaxshowreg uploaded by alexkuklin (license 1115) Tested by: alexkuklin ........ 2010-09-03 18:03 +0000 [r284950-284952] David Vossel * channels/chan_sip.c: During OPTIONS authentication, the authpeer does not need to be returned for any reason. * configs/sip.conf.sample, CHANGES, channels/sip/include/sip.h, channels/chan_sip.c: authenticate OPTIONS requests just like we would an INVITE OPTIONS requests should be treated the same as an INVITE This includes authentication. This patch adds the ability for incoming out of dialog OPTION requests to be authenticated before providing a response indicating whether an extension is available or not. The authentication routine works the exact same way as it does for incoming INVITEs. This means that if a peer has 'insecure=invite' in their peer definition, the same will be true for the processing of the OPTIONS request. Review: https://reviewboard.asterisk.org/r/881/ 2010-09-03 16:28 +0000 [r284921] Terry Wilson * apps/app_chanspy.c, /: Merged revisions 284897 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r284897 | twilson | 2010-09-03 11:20:45 -0500 (Fri, 03 Sep 2010) | 12 lines Merged revisions 284881 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r284881 | twilson | 2010-09-03 11:10:23 -0500 (Fri, 03 Sep 2010) | 5 lines Properly detect when a sound file doesn't exist ast_fileexists returns -1 for error and 0 for a non-existant file. The existing code treated missing files as though they existed. ........ ................ 2010-09-03 13:07 +0000 [r284849-284852] Jan Kalab * res/res_calendar_ews.c: Calendar categories and priorities: strdupa() fix * res/res_calendar_ews.c: Fix for calendar categories and priorities according to ISO C90 * res/res_calendar_caldav.c, include/asterisk/calendar.h, res/res_calendar_ews.c, res/res_calendar.c, res/res_calendar_icalendar.c: Support for calendar events priorities and categories Review 880 2010-09-02 21:04 +0000 [r284781] Brett Bryant * main/manager.c, /: Merged revisions 284778 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r284778 | bbryant | 2010-09-02 16:54:33 -0400 (Thu, 02 Sep 2010) | 14 lines Merged revisions 284777 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r284777 | bbryant | 2010-09-02 16:25:03 -0400 (Thu, 02 Sep 2010) | 7 lines Fixes a bug in manager.c where the default configuration values weren't reset when the manager configuration was reloaded. (closes issue #17917) Reported by: lmadsen Review: https://reviewboard.asterisk.org/r/883/ ........ ................ 2010-09-02 21:02 +0000 [r284779-284780] Richard Mudgett * channels/sig_pri.c: Simplified pri_dchannel() poll timeout duration code. * channels/sig_pri.c, channels/sig_pri.h, channels/chan_dahdi.c: Made output libpri event names if pri debugging is enabled when sig_pri processes them. * Simplified CLI "pri debug xx span xx" command code and removed redundant debugging enabled messages. * Made CLI "pri debug xx span xx" command only close the debugging log file if it was opened. 2010-09-02 16:56 +0000 [r284705] David Vossel * /, channels/chan_sip.c: Merged revisions 284704 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r284704 | dvossel | 2010-09-02 11:48:51 -0500 (Thu, 02 Sep 2010) | 13 lines Merged revisions 284703 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r284703 | dvossel | 2010-09-02 11:47:15 -0500 (Thu, 02 Sep 2010) | 7 lines Removed relatedpeer code from sip_autodestruct Handling of the relatedpeer structure associated with a sip_pvt should be done during the final sip_destruction function, not in sip_autodestruct. ........ ................ 2010-09-02 16:43 +0000 [r284701] Jason Parker * formats/format_wav.c: Add slin16 support for format_wav (new wav16 file extension) (closes issue #15029) Reported by: andrew Patches: wav16.patch uploaded by andrew (license 240) Tested by: qwell, andrew 2010-09-02 16:34 +0000 [r284698] Richard Mudgett * doc/tex/channelvariables.tex, doc/tex/partymanip.tex (added), doc/tex/asterisk.tex: Added documentation for CONNECTEDLINE and REDIRECTING functions. (closes issue #17808) Reported by: jtodd Review: https://reviewboard.asterisk.org/r/875/ 2010-09-02 16:27 +0000 [r284597-284696] Tilghman Lesher * addons/ooh323c/src/oochannels.c: Fixing build * channels/chan_usbradio.c, /: Merged revisions 284665 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r284665 | tilghman | 2010-09-02 11:07:19 -0500 (Thu, 02 Sep 2010) | 2 lines Fixing build. ........ * apps/app_queue.c, /: Merged revisions 284631 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r284631 | tilghman | 2010-09-02 00:30:16 -0500 (Thu, 02 Sep 2010) | 7 lines Don't reset queue stats on a module reload. (closes issue #17535) Reported by: raarts Patches: 20100819__issue17535.diff.txt uploaded by tilghman (license 14) ........ * channels/chan_iax2.c, apps/app_queue.c, apps/app_getcpeid.c, apps/app_followme.c, main/loader.c, apps/app_speech_utils.c, pbx/pbx_loopback.c, channels/chan_dahdi.c, funcs/func_aes.c, include/asterisk/module.h, pbx/pbx_realtime.c, pbx/pbx_dundi.c, apps/app_stack.c, channels/chan_mgcp.c, apps/app_voicemail.c, apps/app_adsiprog.c, channels/chan_sip.c, channels/chan_agent.c: When optional_api is non-optional, force dependent modules to be loaded. (closes issue #17707) Reported by: ira Patches: 20100819__issue17707__asterisk1.8.diff.txt uploaded by tilghman (license 14) Tested by: tilghman Review: https://reviewboard.asterisk.org/r/876/ * include/asterisk/channel.h, res/res_jabber.c, res/res_pktccops.c, main/poll.c, channels/chan_usbradio.c, include/asterisk/select.h (added), channels/chan_phone.c, channels/chan_misdn.c, configure, main/features.c, include/asterisk/poll-compat.h, tests/test_poll.c (added), addons/ooh323c/src/oochannels.c, main/asterisk.c, addons/ooh323c/src/ooSocket.h, main/stun.c, res/res_ais.c, /, include/asterisk/autoconfig.h.in, configure.ac, channels/console_video.c: Merged revisions 284593,284595 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r284593 | tilghman | 2010-09-01 17:59:50 -0500 (Wed, 01 Sep 2010) | 18 lines Merged revisions 284478 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r284478 | tilghman | 2010-09-01 13:49:11 -0500 (Wed, 01 Sep 2010) | 11 lines Ensure that all areas that previously used select(2) now use poll(2), with implementations that need poll(2) implemented with select(2) safe against 1024-bit overflows. This is a followup to the fix for the pthread timer in 1.6.2 and beyond, fixing a potential crash bug in all supported releases. (closes issue #17678) Reported by: russell Branch: https://origsvn.digium.com/svn/asterisk/team/tilghman/ast_select Review: https://reviewboard.asterisk.org/r/824/ ........ ................ r284595 | tilghman | 2010-09-01 22:57:43 -0500 (Wed, 01 Sep 2010) | 2 lines Failed to rerun bootstrap.sh after last commit ................ 2010-09-01 21:47 +0000 [r284561] David Vossel * channels/chan_sip.c: During request to dialog matching, verify init_ruri is present before comparing. During request to dialog matching, we attempt a best effort routine for fork detection which requires several elements to be in place. The dialog's initial request uri is one of those elements. Since it is best effort, if the init_ruri is not present for some reason we can not proceed with that routine. 2010-09-01 Leif Madsen * Asterisk 1.8.0-beta5 released. 2010-09-01 18:44 +0000 [r284477] Terry Wilson * res/res_srtp.c, res/res_rtp_asterisk.c, include/asterisk/res_srtp.h, main/rtp_engine.c, channels/chan_sip.c: Fix SRTP for changing SSRC and multiple a=crypto SDP lines Adding code to Asterisk that changed the SSRC during bridges and masquerades broke SRTP functionality. Also broken was handling the situation where an incoming INVITE had more than one crypto offer. This patch caches the SRTP policies the we use so that we can change the ssrc and inform libsrtp of the new streams. It also uses the first acceptable a=crypto line from the incoming INVITE. (closes issue #17563) Reported by: Alexcr Patches: srtp.diff uploaded by twilson (license 396) Tested by: twilson Review: https://reviewboard.asterisk.org/r/878/ 2010-09-01 18:16 +0000 [r284415-284473] Tilghman Lesher * res/res_config_pgsql.c, /: Merged revisions 284472 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r284472 | tilghman | 2010-09-01 13:13:35 -0500 (Wed, 01 Sep 2010) | 5 lines Don't warn on floats and timestamps (closes issue #17082) Reported by: coolmig ........ * /, channels/chan_sip.c: Merged revisions 284399 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r284399 | tilghman | 2010-08-31 15:18:32 -0500 (Tue, 31 Aug 2010) | 14 lines Merged revisions 284393 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r284393 | tilghman | 2010-08-31 15:13:21 -0500 (Tue, 31 Aug 2010) | 7 lines Don't send a devstate change on poke_noanswer if the state did not change. (closes issue #17741) Reported by: schmidts Patches: chan_sip.c.patch uploaded by schmidts (license 1077) ........ ................ 2010-08-31 19:00 +0000 [r284318] Leif Madsen * configs/say.conf.sample, /: Merged revisions 284317 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r284317 | lmadsen | 2010-08-31 13:59:31 -0500 (Tue, 31 Aug 2010) | 15 lines Merged revisions 284316 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r284316 | lmadsen | 2010-08-31 13:57:59 -0500 (Tue, 31 Aug 2010) | 7 lines Update say.conf.sample to match the rules in say.c (closes issue #17835) Reported by: RoadKill Patches: say.conf.sample.patch.rules uploaded by RoadKill (license 933) Tested by: RoadKill ........ ................ 2010-08-30 22:28 +0000 [r284281] Tilghman Lesher * /, apps/app_festival.c: Merged revisions 284280 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r284280 | tilghman | 2010-08-30 17:27:06 -0500 (Mon, 30 Aug 2010) | 11 lines Fix 3 coding errors: 1) After we close FD, we should not be trying to write to it. 2) Call _exit(0), not exit(0), to avoid running shutdown routines in a child. 3) Use endian, not processor, detection to ensure bytes are written in the correct order. (closes issue #15706) Reported by: modelnine Patches: asterisk-1.6.1.1-festival-debug.patch uploaded by modelnine (license 865) Tested by: gmartinez ........ 2010-08-29 07:05 +0000 [r284096-284158] Tilghman Lesher * configs/res_curl.conf.sample (added): Missed adding this file * sounds: Also ignore the checksums * configs/cel_odbc.conf.sample (added), cel/cel_adaptive_odbc.c (removed), cel/cel_odbc.c (added), configs/cel_adaptive_odbc.conf.sample (removed): Rename CEL adaptive driver to plain driver, since there isn't another ODBC driver (and the other CEL drivers have adaptive capabilities, anyway). 2010-08-28 21:29 +0000 [r284065] Russell Bryant * main/manager.c: Be more flexible with whitespace on AMI action headers. Previously, this code required exactly one space to be after the ':' in headers for an AMI action. This now makes whitespace optional, and allows whitespace that is there to vary in amount. (closes issue #17862) Reported by: cmoye Patches: manager.c.patch_trunk uploaded by cmoye (license 858) manager.c.patch_1.8 uploaded by cmoye (license 858) Tested by: cmoye 2010-08-27 22:37 +0000 [r284032] David Vossel * /, channels/chan_sip.c: Merged revisions 284002 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r284002 | dvossel | 2010-08-27 17:27:50 -0500 (Fri, 27 Aug 2010) | 14 lines Merged revisions 283960 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r283960 | dvossel | 2010-08-27 17:17:26 -0500 (Fri, 27 Aug 2010) | 8 lines Parse all "Accept" headers for SIP SUBSCRIBE requests. (closes issue #17758) Reported by: ibc Patches: multiple_accept_headers_1.4.diff uploaded by dvossel (license 671) ........ ................ 2010-08-27 21:33 +0000 [r283951] Russell Bryant * pbx/pbx_realtime.c: Print exten@context:priority in verbose messages from pbx_realtime. 2010-08-27 20:31 +0000 [r283882] Jason Parker * main/config.c, addons/res_config_mysql.c, res/res_config_odbc.c, /: Merged revisions 283881 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r283881 | qwell | 2010-08-27 15:30:27 -0500 (Fri, 27 Aug 2010) | 15 lines Merged revisions 283880 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r283880 | qwell | 2010-08-27 15:29:11 -0500 (Fri, 27 Aug 2010) | 8 lines Fix issue with decoding ^-escaped characters in realtime. (closes issue #17790) Reported by: denzs Patches: 17790-chunky.diff uploaded by qwell (license 4) Tested by: qwell, denzs ........ ................ 2010-08-26 23:47 +0000 [r283770] Tilghman Lesher * res/res_musiconhold.c: Convert MOH to use generic timers. (closes issue #17726) Reported by: lmadsen Patches: 20100825__issue17726__2.diff.txt uploaded by tilghman (license 14) Tested by: tilghman 2010-08-26 15:26 +0000 [r283692] David Vossel * /, channels/chan_sip.c: Merged revisions 283691 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r283691 | dvossel | 2010-08-26 10:24:40 -0500 (Thu, 26 Aug 2010) | 25 lines Merged revisions 283690 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r283690 | dvossel | 2010-08-26 10:22:28 -0500 (Thu, 26 Aug 2010) | 19 lines Fixed how Asterisk destroys a dialog on channel hangup before invite receives a response. If an ast_channel with a SIP tech pvt hangs up before the sip dialog gets a response to its outgoing INVITE, Asterisk used to pretend_ack the INVITE. This is not rfc compliant and results in confusion at the other endpoint. sip_pretend_ack will ack and remove all the packets in the retransmit queue. This means that the INVITE will stop retransmitting, and that any response to that INVITE that comes after the pretend_ack occurs will be ignored. Instead of faking any sort of acknowledgement for an outgoing INVITE during an internal hangup, we should let the protocol stack process the INVITE transaction and terminate the dialog properly. This is achieved by setting the PENDING_BYE flag. When this flag is used, once the dialog proceeds to an escapable state the transaction will either be canceled with a SIP_CANCEL or completed followed immediately by a BYE. Attempting to do this any other way is incorrect. If the endpoint is not responding to the INVITE request, the INVITE must continue to be retransmitted until it times out which will result in the dialog being destroyed. ........ ................ 2010-08-26 13:26 +0000 [r283627-283659] Russell Bryant * res/res_odbc.c: Slight improvement to a debug message. * keys/iaxtel.pub (removed), keys/freeworlddialup.pub (removed), Makefile: Remove public keys that are no longer useful. * configs/manager.conf.sample: Move httptimeout out from in between port and bindaddr. 2010-08-25 22:57 +0000 [r283595] David Vossel * /, channels/chan_sip.c: Merged revisions 283594 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r283594 | dvossel | 2010-08-25 17:56:42 -0500 (Wed, 25 Aug 2010) | 7 lines Add to and from tags to NOTIFY dialog-info xml body so pickup can occur. When pedantic mode is used, the dialog-info xml generated during a ringing event must contain the to and from tag values. Otherwise if a pickup occurs using INVITE with replaces, Astrisk will not be able to locate the subscription. ........ 2010-08-25 16:12 +0000 [r283561] Tilghman Lesher * res/res_odbc.c: Initialize connect timeout on each time through the loop. (closes issue #17911) Reported by: wurstsalat 2010-08-25 15:54 +0000 [r283559] David Vossel * channels/sip/include/sip.h, /, channels/chan_sip.c: Merged revisions 283558 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r283558 | dvossel | 2010-08-25 10:52:54 -0500 (Wed, 25 Aug 2010) | 10 lines Asterisk will not advertise session timers are supported when 'session-timers=refuse' is used. Asterisk now dynamically builds the "Supported" header depending on what is enabled/disabled in sip.conf. Session timers used to always be advertised as being supported even when they were disabled in the configuration. This caused problems with some end points. (issue #17005) ........ 2010-08-25 14:55 +0000 [r283527] Russell Bryant * channels/chan_sip.c: Convert ast_log(LOG_DEBUG, ...) to ast_debug(...) 2010-08-24 20:34 +0000 [r283493] David Vossel * UPGRADE.txt, configs/sip.conf.sample, channels/sip/include/sip.h: Changes the default behavior for sip.conf's pedantic option from "no" to "yes". 2010-08-24 18:56 +0000 [r283457] Leif Madsen * res/res_rtp_asterisk.c, channels/chan_sip.c: Fix issue where TOS is no longer set on RTP packets. Fix issue where the tos is no longer being set on RTP packets through res_rtp_asterisk. (closes issue #17890) Reported by: elguero Patches: qos_18.diff uploaded by elguero (license 37) Review: https://reviewboard.asterisk.org/r/868 2010-08-24 16:11 +0000 [r283382] David Vossel * /, channels/chan_sip.c: Merged revisions 283381 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r283381 | dvossel | 2010-08-24 11:07:37 -0500 (Tue, 24 Aug 2010) | 18 lines Merged revisions 283380 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r283380 | dvossel | 2010-08-24 11:01:51 -0500 (Tue, 24 Aug 2010) | 11 lines This fix makes sure the ast_channel hangs up correctly when the dialog's PENDING_BYE flag is set. When the pending bye flag is used, it is possible that the dialog will terminate and leave the sip_pvt->owner channel up. This is because we never hangup the ast_channel after sending the SIP_BYE request. When we receive the response for the SIP_BYE we set need_destroy which we would expect to destroy the dialog on the next do_monitor loop, but this is not the case. The dialog will only be destroyed once the owner is hungup even with the need_destroy flag set. This patch sets the softhangup flag on the ast_channel when a SIP_BYE request is sent as a result of the pending bye flag. ........ ................ 2010-08-24 12:49 +0000 [r283350] Russell Bryant * funcs/func_odbc.c: Don't attempt to release a NULL ODBC handle. 2010-08-23 21:33 +0000 [r283319] Tilghman Lesher * cdr/cdr_adaptive_odbc.c, cdr/cdr_odbc.c, cel/cel_adaptive_odbc.c, /: Merged revisions 283318 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r283318 | tilghman | 2010-08-23 16:32:14 -0500 (Mon, 23 Aug 2010) | 2 lines CDR drivers depend upon res_odbc, not directly on the ODBC libraries ........ 2010-08-23 Leif Madsen * Asterisk 1.8.0-beta4 Released. 2010-08-23 13:35 +0000 [r283177-283241] Russell Bryant * configs/cel.conf.sample: Add sample configuration for cel_radius. * main/cel.c, include/asterisk/cel.h: Make the AST_CEL_AMA enum match up with the AST_CDR_ ama flag values. Really, having 2 enums for this is silly and error prone, demonstrated by the crash that I hit because there was an assumption in the code that the values in each matched up. However, this is a quick fix to get them to match up so it will work. * main/cel.c: Don't blow up on an invalid AMA flag. * configs/cel_custom.conf.sample: Tack on ${eventextra} to the sample cel_custom.conf. * configs/cel_custom.conf.sample: Cut down on excessive quotation. 2010-08-23 12:06 +0000 [r283175] Tilghman Lesher * res/res_stun_monitor.c: Don't fail to start if the config file is missing. 2010-08-23 11:58 +0000 [r283173] Russell Bryant * configs/cel_custom.conf.sample: Expand cel_custom.conf.sample. Include the usage of CSV_QUOTE() to ensure data has valid CSV formatting. Also list the special CEL variables that are available for use in the mapping. 2010-08-20 16:51 +0000 [r283050-283125] Richard Mudgett * /: Recorded merge of revisions 283124 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r283124 | rmudgett | 2010-08-20 11:48:10 -0500 (Fri, 20 Aug 2010) | 16 lines Merged revisions 283123 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r283123 | rmudgett | 2010-08-20 11:46:22 -0500 (Fri, 20 Aug 2010) | 9 lines Merged revision 278274 from https://origsvn.digium.com/svn/asterisk/trunk .......... r278274 | rmudgett | 2010-07-20 17:38:13 -0500 (Tue, 20 Jul 2010) | 1 line Reference correct struct member for unlikely event PRI_EVENT_CONFIG_ERR. .......... ................ ................ * channels/sig_pri.c, /: Merged revisions 283049 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r283049 | rmudgett | 2010-08-20 10:31:03 -0500 (Fri, 20 Aug 2010) | 29 lines Merged revisions 283048 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r283048 | rmudgett | 2010-08-20 10:24:36 -0500 (Fri, 20 Aug 2010) | 22 lines Q931 - Sending PROGRESS after sending ALERTING is a protocol error The PRI layer in chan_dadhi will check if a PROGRESS message has already been sent, and not allow sending another (although that is technically allowed by the Q931 spec), however it does not protect against sending an ALERTING and then sending a PROGRESS message, which is a violation of the specification. Most switches don't seem to care too deeply about this, but some do, and will disconnect the call when receiving this invalid sequence. Protocol specification reference: T-REC-Q.931-199805-I page 223, "Figure A.5/Q.931 -- Overview protocol control (network side) point-point (sheet 3 of 8)" (closes issue #17874) Reported by: nic_bellamy Patches: asterisk-1.4-r282537_no-progress-after-alerting.patch uploaded by nic bellamy (license 299) asterisk-1.6.2-r282537_no-progress-after-alerting.patch uploaded by nic bellamy (license 299) asterisk-trunk-r282537_no-progress-after-alerting.patch uploaded by nic bellamy (license 299) ........ ................ 2010-08-20 12:45 +0000 [r282979-283013] Russell Bryant * configs/cel_adaptive_odbc.conf.sample: Fix a typo in a column name. * apps/app_celgenuserevent.c: Add an argument missing from the CELGenUserEvent documentation. 2010-08-19 21:07 +0000 [r282891-282895] David Vossel * /, channels/chan_sip.c: Merged revisions 282894 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r282894 | dvossel | 2010-08-19 16:05:54 -0500 (Thu, 19 Aug 2010) | 18 lines Merged revisions 282893 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r282893 | dvossel | 2010-08-19 16:03:24 -0500 (Thu, 19 Aug 2010) | 11 lines tos_sip option was not being set correctly When tos_sip is used, the tos of the sip socket is only set correctly if the socket binding changes on a reload. If the binding stays the same but the TOS changes, the new tos value would not take into effect. This patch fixes that. (closes issue #17712) Reported by: nickb ........ ................ * /, channels/chan_sip.c: Merged revisions 282890 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r282890 | dvossel | 2010-08-19 15:31:22 -0500 (Thu, 19 Aug 2010) | 5 lines fixes sip peer memory leaks in the peer_by_ip table (issue #17798) ........ 2010-08-19 20:01 +0000 [r282860] Matthew Nicholson * /, channels/chan_sip.c: Merged revisions 282859 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r282859 | mnicholson | 2010-08-19 14:44:00 -0500 (Thu, 19 Aug 2010) | 23 lines Merged revisions 277944 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r277944 | pabelanger | 2010-07-19 15:56:07 -0500 (Mon, 19 Jul 2010) | 16 lines Regression with T.38 negotiation Prior to 1.4.26.3 T.38 negotiation worked properly, in the case of the reporter. (issue #16852) Reported by: cfc (closes issue #16705) Reported by: mpiazzatnetbug Patches: issue16705_2.diff uploaded by ebroad (license 878) Tested by: vrban, ebroad, c0rnoTa, samdell3 Review: https://reviewboard.asterisk.org/r/754/ ........ ................ 2010-08-19 14:44 +0000 [r282826] Tilghman Lesher * main/netsock2.c: Only output debugging if the debug level is on. 2010-08-19 02:18 +0000 [r282740] Terry Wilson * configs/sip.conf.sample, /: Merged revisions 282730 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r282730 | twilson | 2010-08-18 21:14:28 -0500 (Wed, 18 Aug 2010) | 9 lines Merged revisions 282729 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r282729 | twilson | 2010-08-18 21:12:55 -0500 (Wed, 18 Aug 2010) | 2 lines Add some documentation about codec negotiation to sip.conf ........ ................ 2010-08-18 15:28 +0000 [r282671-282672] Richard Mudgett * channels/sig_pri.h: Use the correct type for aoce_delayhangup bit field. * channels/chan_dahdi.c: Use the correct operator when calculating the PRI span devstate. 2010-08-18 13:10 +0000 [r282639] Matthew Nicholson * channels/chan_sip.c: Properly handle 200 and unknown responses conatined in NOTIFY requests received in response to REFER requests. This patch fixes the way asterisk handles NOTIFY requests received in response to REFER requests. These changes to NOTIFY handler were first introduced in r217482. This new change properly handles the 200 response by queueing an AST_TRANSFER_SUCCESS control frame and also prevents that control frame from being queued when provisional and unknown responses are received. (issue #17486) Reported by: davidw Tested by: mnicholson (issue #12713) Reported by: davidw Review: https://reviewboard.asterisk.org/r/860/ 2010-08-18 12:30 +0000 [r282638] Russell Bryant * channels/chan_multicast_rtp.c: Split _all_ arguments before parsing them. This fixes multicast RTP paging using linksys mode. 2010-08-18 07:49 +0000 [r282608] Tilghman Lesher * channels/sig_pri.c, /: Merged revisions 282607 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r282607 | tilghman | 2010-08-18 02:43:14 -0500 (Wed, 18 Aug 2010) | 9 lines Don't warn on callerid when completely text, instead of numeric with localdialplan prefixes. (closes issue #16770) Reported by: jamicque Patches: 20100413__issue16770.diff.txt uploaded by tilghman (license 14) 20100811__issue16770.diff.txt uploaded by tilghman (license 14) Tested by: jamicque ........ 2010-08-17 21:36 +0000 [r282543-282577] David Vossel * /, channels/chan_sip.c: Merged revisions 282576 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r282576 | dvossel | 2010-08-17 16:35:17 -0500 (Tue, 17 Aug 2010) | 9 lines fixes no default transport for temp peer creation in chan_sip (closes issue #17829) Reported by: falves11 Patches: issue_17829.rev1.txt uploaded by russell (license 2) issue_17829.diff uploaded by dvossel (license 671) Tested by: falves11 ........ * channels/chan_iax2.c: ACCEPT message should respond with the new FORMAT2 ie (closes issue #17804) Reported by: tpanton * include/asterisk/unaligned.h: fixes truncated uint64_t value in put_unaligned_uint64_t() function (issue #17804) 2010-08-16 18:01 +0000 [r282470] Leif Madsen * doc/tex/asterisk.tex, doc/tex/sounds.tex (added), /: Merged revisions 282469 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r282469 | lmadsen | 2010-08-16 13:00:09 -0500 (Mon, 16 Aug 2010) | 7 lines Add information about creating sounds files using the sounds tools publically available so that others can create their own sounds prompts using the same tools we use to generate sounds releases. This allows people creating their own prompts to sound consistent with the prompts available from the open source project. SWP-595 ........ 2010-08-16 17:53 +0000 [r282468] Terry Wilson * main/channel.c, /: Merged revisions 282467 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r282467 | twilson | 2010-08-16 12:32:01 -0500 (Mon, 16 Aug 2010) | 23 lines Merged revisions 282430 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r282430 | twilson | 2010-08-16 12:06:37 -0500 (Mon, 16 Aug 2010) | 16 lines Send a SRCCHANGE indication when we masquerade Masquerading a channel means that the src of the audio is potentially changing, so send a SRCCHANGE so that RTP-based media streams can get a new SSRC generated to reflect the change. Original patch by addix (along with lots of testing--thanks!). (closes issue #17007) Reported by: addix Patches: 1001-reset-SSRC-original-channel.diff uploaded by addix (license 1006) srcchange.diff uploaded by twilson (license 396) Tested by: addix, twilson Review: https://reviewboard.asterisk.org/r/862/ ........ ................ 2010-08-14 04:53 +0000 [r282366] Tilghman Lesher * channels/chan_iax2.c, include/asterisk/sched.h: Fix our FRACKing issue with chan_iax2 a different way. Review: https://reviewboard.asterisk.org/r/861/ 2010-08-13 23:53 +0000 [r282334] Richard Mudgett * channels/chan_dahdi.c: PRI CCSS may use a stale dial string for the recall dial string. If an outgoing call negotiates a different B channel than initially requested, the saved original dial string was not transferred to the new B channel. CCSS uses that dial string to generate the recall dial string. 2010-08-13 22:23 +0000 [r282236-282302] David Vossel * UPGRADE.txt, configs/sip.conf.sample, CHANGES, channels/chan_sip.c: remove current STUN support from chan_sip.c This patch removes the current broken/useless stun support from chan_sip. (closes issue #17622) Reported by: philipp2 Review: https://reviewboard.asterisk.org/r/855/ * CHANGES: res_stun_monitor and corresponding options CHANGES documentation * configs/res_stun_monitor.conf.sample (added), configs/sip.conf.sample, channels/chan_iax2.c, configs/iax.conf.sample, channels/chan_sip.c, include/asterisk/event_defs.h, res/res_stun_monitor.c (added): res_stun_monitor for monitoring network changes behind a NAT device Review: https://reviewboard.asterisk.org/r/854 * /, channels/chan_sip.c: Merged revisions 282235 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r282235 | dvossel | 2010-08-13 13:54:53 -0500 (Fri, 13 Aug 2010) | 16 lines only do magic pickup when notifycid is enabled A new way of doing BLF pickup was introduced into 1.6.2. This feature adds a call-id value into the XML of a SIP_NOTIFY message sent to alert a subscriber that a device is ringing. This option should only be enabled when the new 'notifycid' option is set... but this was not the case. Instead the call-id value was included for every RINGING Notify message, which caused a regression for people who used other methods for call pickup. (closes issue #17633) Reported by: urosh Patches: chan_sip.txt uploaded by urosh (license ) blf_cid_issue.diff uploaded by dvossel (license 671) Tested by: dvossel, urosh, okrief, alecdavis ........ 2010-08-13 16:02 +0000 [r282200-282201] Terry Wilson * configure.ac: Whitespace fix :-/ * configure, configure.ac: Detect when libsrtp cannot be linked in a shared library The libsrtp build system currently does not produce a shared library or a static library compiled with -fPIC, so on 64-bit systems it is possible that we will get a compile error if libsrtp is installed and res_srtp is selected in menuselect. This patch attempts to detect this situation and provide the user with instructions to work around the problem. 2010-08-12 22:51 +0000 [r282131] Jason Parker * pbx/pbx_config.c, /: Merged revisions 282130 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r282130 | qwell | 2010-08-12 17:50:54 -0500 (Thu, 12 Aug 2010) | 9 lines Merged revisions 282129 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r282129 | qwell | 2010-08-12 17:49:28 -0500 (Thu, 12 Aug 2010) | 1 line Register CLI commands before parsing config, in case there is a config error. ........ ................ 2010-08-12 22:06 +0000 [r282098] Richard Mudgett * include/asterisk/ccss.h, main/ccss.c: Separate call completion config parameter allocation and default initialization. If you ever have a need to reset the call completion config parameters to defaults, now you can. And no Virginia, C++ idioms do not always work in C. 2010-08-12 20:41 +0000 [r282066] Russell Bryant * CHANGES, main/cli.c: Add a "core reload" CLI command. Review: https://reviewboard.asterisk.org/r/859/ 2010-08-12 20:15 +0000 [r282047] David Vossel * CHANGES, include/asterisk/translate.h, main/cli.c, main/translate.c: improved translation paths for wideband codecs The problem I'm addressing is that Asterisk's current method of building the least cost translation paths between codecs does not take into account sample rate. For instance, it was possible for siren14 (a 32khz codec), to contain the a translation path to siren7 (a 16khz audio codec) that goes through slin at 8khz. In this case Asterisk takes a 32khz codec, down samples it to 8khz and then up samples it to 16khz which is terrible regardless if it is computationally less expensive. This patch now builds translation paths that give priority to maintaining the best possible sample rate before taking into consideration computational cost. This patch also adds cli commands to expose what translation paths are actually being used. Changes: 1. Translation paths will never contain a step that changes the sample rate unless absolutely necessary. 2. When choosing the best codec to make two channels compatible. Shared codecs with the highest sample rate are given priority. 3. A new cli command to show all translation paths available for a specific codec 'core show translation paths [codec name]' has been added. 4. 'core show translation' which displays the translation matrix now includes the new higher bit audio codecs in the table. 5. 'core show channel [channel name]' now displays the translation paths if translation is used. (closes issue #16841) Reported by: dvossel Review: https://reviewboard.asterisk.org/r/842/ 2010-08-12 18:03 +0000 [r281982-282015] Russell Bryant * main/pbx.c: Put back pointer value output for ast_debug(), such that it is only removed for verbose output. * main/pbx.c: Remove debugging output from verbose messages. Pointer values to internal objects is not terribly useful to users in the verbose messages about adding extensions and contexts. 2010-08-12 03:03 +0000 [r281913] Jeff Peeler * main/channel.c, /: Merged revisions 281912 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r281912 | jpeeler | 2010-08-11 22:01:38 -0500 (Wed, 11 Aug 2010) | 27 lines Merged revisions 281911 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r281911 | jpeeler | 2010-08-11 22:00:14 -0500 (Wed, 11 Aug 2010) | 20 lines Ensure SSRC is changed when media source is changed to resolve audio delay. This change causes the SSRC to change right before the channels are bridged, which is what used to happen. It seems that fixes were made to attempt limiting SSRC changes, targeted mainly at sending DTMF. DTMF is not affecting the SSRC with this change. There are two other control frames sent in ast_channel_bridge that probably should also be changed to AST_CONTROL_SRCCHANGE as well, but I'm going to leave this change up to the discretion of resolving issue #17007. For reference - old review implementing new control frame SRCCHANGE: https://reviewboard.asterisk.org/r/540 (closes issue #17404) Reported by: sdolloff Patches: bug17404.patch uploaded by jpeeler (license 325) Tested by: sdolloff ........ ................ 2010-08-11 21:12 +0000 [r281875] Leif Madsen * configs/say.conf.sample, /: Merged revisions 281873 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r281873 | lmadsen | 2010-08-11 16:09:47 -0500 (Wed, 11 Aug 2010) | 14 lines Merged revisions 281819 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r281819 | lmadsen | 2010-08-11 13:28:10 -0500 (Wed, 11 Aug 2010) | 6 lines Add Danish support to say.conf.sample (closes issue #17836) Reported by: RoadKill Patches: say.conf.sample.patch.dk uploaded by RoadKill (license 933) ........ ................ 2010-08-11 21:11 +0000 [r281874] Matthew Nicholson * channels/chan_sip.c: handle all possible responses to REFER requests (closes issue #17486) Reported by: davidw Patches: Issue17486-counterbid.diff.txt uploaded by davidw (license 780) Tested by: davidw Review: https://reviewboard.asterisk.org/r/837/ 2010-08-11 20:30 +0000 [r281870] Richard Mudgett * channels/sig_analog.c, channels/sig_analog.h: Fix a call to analog_set_pulsedial() not setting 0 or 1 only. * Also a couple minor tweaks. 2010-08-11 17:54 +0000 [r281764] Leif Madsen * configs/say.conf.sample, /: Merged revisions 281763 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r281763 | lmadsen | 2010-08-11 12:54:09 -0500 (Wed, 11 Aug 2010) | 14 lines Merged revisions 281762 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r281762 | lmadsen | 2010-08-11 12:51:40 -0500 (Wed, 11 Aug 2010) | 6 lines Allow say.conf to handle large numbers ending with multiple zeros. (closes issue #17833) Reported by: RoadKill Patches: say.conf.sample.patch.largenumbers uploaded by RoadKill (license 933) ........ ................ 2010-08-11 17:27 +0000 [r281760] Matthew Nicholson * channels/chan_sip.c: Avoid a deadlock in add_header_max_forwards(). Related to r276951 2010-08-11 15:18 +0000 [r281723] Tilghman Lesher * /, apps/app_readexten.c: Merged revisions 281722 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r281722 | tilghman | 2010-08-11 10:17:20 -0500 (Wed, 11 Aug 2010) | 7 lines Only set status TIMEOUT, if we have no digits. (closes issue #15188) Reported by: jcovert Patches: app_readexten.c.patch-1.6.2.8-rc1 uploaded by jcovert (license 551) ........ 2010-08-11 13:30 +0000 [r281687] * include/asterisk/netsock2.h, configs/sip.conf.sample, channels/sip/config_parser.c, main/netsock2.c: Fix parsing of IPv6 address literals in outboundproxy (closes issue #17757) Reported by: oej Patches: 17757.diff uploaded by sperreault (license 252) sip.conf.diff uploaded by sperreault (license 252) Tested by: oej 2010-08-10 21:47 +0000 [r281568-281650] Russell Bryant * UPGRADE.txt, configs/sip.conf.sample, channels/sip/include/sip.h: Change the default value for alwaysauthreject in sip.conf to "yes". (closes issue #17756) Reported by: oej * main/sched.c, /: Merged revisions 281574 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r281574 | russell | 2010-08-10 13:04:32 -0500 (Tue, 10 Aug 2010) | 9 lines Don't move the time threshold for running scheduled events on every iteration. Instead, only calculate the time threshold each time ast_sched_runq() is called. (closes issue #17742) Reported by: schmidts Patches: sched.c.patch uploaded by schmidts (license 1077) ........ * apps/app_dial.c, /: Merged revisions 281567 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r281567 | russell | 2010-08-10 12:47:13 -0500 (Tue, 10 Aug 2010) | 15 lines Merged revisions 281566 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r281566 | russell | 2010-08-10 12:45:45 -0500 (Tue, 10 Aug 2010) | 8 lines Reset visible indication after answer. (closes issue #17641) Reported by: klaus3000 Patches: ast1.6.2.9-app_dial-visible_indication.patch.txt uploaded by klaus3000 (license 65) Tested by: schmidts ........ ................ 2010-08-10 Leif Madsen * Asterisk 1.8.0-beta3 Released. 2010-08-10 17:48 +0000 [r281529-281568] Russell Bryant * apps/app_dial.c, /: Merged revisions 281567 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r281567 | russell | 2010-08-10 12:47:13 -0500 (Tue, 10 Aug 2010) | 15 lines Merged revisions 281566 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r281566 | russell | 2010-08-10 12:45:45 -0500 (Tue, 10 Aug 2010) | 8 lines Reset visible indication after answer. (closes issue #17641) Reported by: klaus3000 Patches: ast1.6.2.9-app_dial-visible_indication.patch.txt uploaded by klaus3000 (license 65) Tested by: schmidts ........ ................ * channels/chan_sip.c: Ensure that the proper external address is used for the RTP destination. (closes issue #17044) Reported by: ebroad Tested by: ebroad Review: https://reviewboard.asterisk.org/r/566/ * main/cli.c: Resolve a problem with channel name tab completion. Hitting tab without typing any part of a channel name resulted in no results. This now results in getting a full list of active channels, just as it did in previous versions of Asterisk. Review: https://reviewboard.asterisk.org/r/818/ 2010-08-10 07:26 +0000 [r281497] TransNexus OSP Development * apps/app_osplookup.c: Fixed the issue caused by EXTEN including user parameters. 2010-08-09 23:04 +0000 [r281466] Jeff Peeler * channels/chan_local.c: Add some more stuff to copy from 281429. 2010-08-09 20:47 +0000 [r281432] David Vossel * /, channels/chan_sip.c: Merged revisions 281430 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r281430 | dvossel | 2010-08-09 15:46:50 -0500 (Mon, 09 Aug 2010) | 13 lines fixes SIP peers memory leak We zeroed out the peer's addr before it was removed from the peers_by_ip container. This made it impossible to be removed from the container as the addr is the key used by the container to find the peer. (closes issue #17774) Reported by: kkm Patches: 017774-sip-peer-leak-1.6.2.10.diff uploaded by kkm (license 888) 017774-sip-peer-leak-1.8.diff uploaded by kkm (license 888) ........ 2010-08-09 20:43 +0000 [r281429] Jeff Peeler * channels/chan_local.c, /: Merged revisions 281391 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r281391 | jpeeler | 2010-08-09 15:07:29 -0500 (Mon, 09 Aug 2010) | 20 lines Merged revisions 281390 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r281390 | jpeeler | 2010-08-09 15:04:30 -0500 (Mon, 09 Aug 2010) | 13 lines Prevent loss of Caller ID information set on local channel after masquerade. Caller ID set on the channel before a masquerade occurs when using a local channel would cause the information to be lost. The problem was that the information was set on a channel destined to be hung up. The somewhat confusing fix is to detect if any Caller ID has been set on the channel and if so preswap the Caller ID data so that basically the masquerade puts the data back. (closes issue #17138) Reported by: kobaz Review: https://reviewboard.asterisk.org/r/847/ ........ ................ 2010-08-09 14:49 +0000 [r281358] Matthew Nicholson * res/res_fax.c: Validate minrate, maxrate, and modem settings before attempting a fax session. FAX-224 2010-08-09 14:31 +0000 [r281356] * configs/sip.conf.sample: Added comment about IPv4-mapped IPv6 addresses and the output of netstat. 2010-08-09 12:51 +0000 [r281294-281325] Russell Bryant * configs/cdr.conf.sample: Add a couple of default values to the documentation of cdr.conf. * configs/cdr.conf.sample: Reorder some options in cdr.conf.sample. Put all of the options that affect the contents of CDRs together, instead of having the batch mode options in the middle of them. 2010-08-06 18:57 +0000 [r281085] Tilghman Lesher * main/utils.c: Fix alignment of stringfields on the SPARC architecture (closes issue #17789) Reported by: Ian Mason Patches: 20100806__issue17789__2.diff.txt uploaded by tilghman (license 14) Tested by: Ian_Mason 2010-08-05 13:16 +0000 [r281052] Russell Bryant * main/cdr.c, /: Merged revisions 281051 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r281051 | russell | 2010-08-05 08:11:32 -0500 (Thu, 05 Aug 2010) | 9 lines Cleanup default option value handling for cdr.conf [general]. The default values would differ depending on whether or not cdr.conf exists. That is no longer the case. Apply a default value to the unanswered option. Define all default values as named constants. ........ 2010-08-05 07:46 +0000 [r280984] Tilghman Lesher * include/asterisk/pbx.h, main/pbx.c, /: Merged revisions 280983 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r280983 | tilghman | 2010-08-05 02:40:47 -0500 (Thu, 05 Aug 2010) | 15 lines Merged revisions 280982 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r280982 | tilghman | 2010-08-05 02:28:33 -0500 (Thu, 05 Aug 2010) | 8 lines Change context lock back to a mutex, because functionality depends upon the lock being recursive. (closes issue #17643) Reported by: zerohalo Patches: 20100726__issue17643.diff.txt uploaded by tilghman (license 14) Tested by: zerohalo ........ ................ 2010-08-04 15:11 +0000 [r280909] Matthew Nicholson * res/res_fax.c: Initialize FAXOPT() status variables in sendfax and receivefax instead of when the details structure is created. 2010-08-04 14:04 +0000 [r280809-280879] Tilghman Lesher * channels/chan_mgcp.c: Check cur value before attempting a deref. (closes issue #17775) Reported by: svinson Patches: 20100804__issue17775.diff.txt uploaded by tilghman (license 14) Tested by: svinson (closes issue #17743) Reported by: tgruenberg Patches: 20100804__issue17775.diff.txt uploaded by tilghman (license 14) Tested by: tgruenberg * CHANGES, funcs/func_strings.c: Sneak FIELDNUM() into 1.8. Returns a 1-based index into a list of a specified item. Matches up with FIELDQTY() and CUT(). (closes issue #17713) Reported by: gareth Patches: svn-279754.diff uploaded by gareth (license 208) Tested by: gareth, tilghman Review: https://reviewboard.asterisk.org/r/810/ 2010-08-03 19:54 +0000 [r280777-280778] * channels/chan_sip.c: Fixed IPv6-related SIP parsing bugs. (closes issue #17663) Reported by: oej Patches: diff uploaded by sperreault (license 252) diff2 uploaded by sperreault (license 252) get_domain.diff uploaded by sperreault (license 252) * configs/sip.conf.sample: Better documentation related to IPv6. (closes issue #17737) Reported by: oej Patches: doc.diff uploaded by sperreault (license 252) Tested by: mmichelson 2010-08-03 18:48 +0000 [r280742] Russell Bryant * addons/Makefile, addons/mp3 (removed), contrib/scripts/get_mp3_source.sh (added): Remove the MP3 decoder source code and replace it with a small shell script. Review: https://reviewboard.asterisk.org/r/836/ 2010-08-03 18:42 +0000 [r280624-280740] Tilghman Lesher * doc/asterisk.sgml, /, doc/asterisk.8, doc/Makefile (added): Merged revisions 280739 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r280739 | tilghman | 2010-08-03 13:39:28 -0500 (Tue, 03 Aug 2010) | 2 lines Document -B and -W flags and regenerate manpage from sgml ........ * apps/app_voicemail.c, /: Merged revisions 280671 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r280671 | tilghman | 2010-08-02 16:26:11 -0500 (Mon, 02 Aug 2010) | 2 lines Allow the pipe, but also allow the comma ........ * main/Makefile: Make this a little more deterministic... we want the latest value, not just a 1 somewhere. * main/Makefile: Apparently, the values in makeopts are sometimes 1:1 and sometimes 1. Compensate for this. 2010-07-29 21:07 +0000 [r280557] Matthew Nicholson * res/res_fax.c: Fix regression introduced in r1664. Give the fax stack time to shutdown and populate the FAXOPT output variables. FAX-222 2010-07-29 20:43 +0000 [r280552] David Vossel * /, channels/chan_sip.c: Merged revisions 280551 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r280551 | dvossel | 2010-07-29 15:42:29 -0500 (Thu, 29 Jul 2010) | 11 lines fixes wrong SRV query for TLS connection (closes issue #17612) Reported by: marcelloceschia Patches: chan-sip_srvQuery.patch uploaded by marcelloceschia (license 1079) chan-sip_Trunk_srvQuery.patch uploaded by st (license 907) chan-sip_asterisk18b1_srvQuery.patch uploaded by marcelloceschia (license 1079) Tested by: marcelloceschia, st, pabelanger ........ 2010-07-29 20:35 +0000 [r280549] Russell Bryant * configs/ccss.conf.sample: Add header to ccss.conf to appease oej. (closes issue #17755) Reported by: oej 2010-07-29 19:47 +0000 [r280519] Sean Bright * channels/sig_pri.c: Fix compilation error in chan_dahdi (strdupa -> ast_strdupa). (closes issue #17751) Reported by: b11d Patches: strdupa_oops.diff uploaded by malcolmd (license 924) 2010-07-29 19:13 +0000 [r280450] David Vossel * main/channel.c, /: Merged revisions 280449 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r280449 | dvossel | 2010-07-29 14:05:25 -0500 (Thu, 29 Jul 2010) | 18 lines Merged revisions 280448 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r280448 | dvossel | 2010-07-29 14:04:23 -0500 (Thu, 29 Jul 2010) | 12 lines fixes issue with translator frame not getting freed A translator frame even if it local storage so the translation path can be freed. This issue prevented g729 licenses from being freed up. (closes issue #17630) Reported by: manvirr Patches: encoder_fix.diff uploaded by dvossel (license 671) Tested by: manvirr, dvossel ........ ................ 2010-07-29 18:37 +0000 [r280414-280446] Paul Belanger * tests/test_utils.c: Remove res_crypto dependency. * tests/test_utils.c: crypto_loaded_test depends on res_crypto, else test will fail. 2010-07-29 16:25 +0000 [r280391] Russell Bryant * main/rtp_engine.c: Don't blow up if get_codec() was not provided in the RTP glue. 2010-07-29 16:07 +0000 [r280346] Jean Galarneau * /, apps/app_meetme.c: Merged revisions 280345 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r280345 | jeang | 2010-07-29 11:01:35 -0500 (Thu, 29 Jul 2010) | 10 lines Merged revisions 280341 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r280341 | jeang | 2010-07-29 10:52:31 -0500 (Thu, 29 Jul 2010) | 2 lines Fix a dsp structure leak occuring when a local channel is put into a meetme conference, then masquaraded away. ABE-2422 ........ ................ 2010-07-29 15:57 +0000 [r280307-280343] Matthew Nicholson * channels/chan_usbradio.c: Use PRIx64 instead of PRId64 in format string. related to r280302 * main/channel.c, channels/chan_local.c, /: Merged revisions 280306 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r280306 | mnicholson | 2010-07-29 08:45:11 -0500 (Thu, 29 Jul 2010) | 2 lines Implement support for ast_channel_queryoption on local channels. Currently only AST_OPTION_T38_STATE is supported. ABE-2229 Review: https://reviewboard.asterisk.org/r/813/ ........ Additionally, pass AST_CONTROL_T38_PARAMETERS control frames through generic bridges. This change appears to have been unintentionally left out of rev 203699. 2010-07-29 00:45 +0000 [r280302] Paul Belanger * channels/chan_usbradio.c: Use PRId64 with format_t 2010-07-28 20:49 +0000 [r280269] Jeff Peeler * channels/sip/reqresp_parser.c: Give test category missing leading slash 2010-07-28 20:12 +0000 [r280235] Richard Mudgett * channels/chan_dahdi.c, /: Merged revisions 280229 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r280229 | rmudgett | 2010-07-28 14:57:49 -0500 (Wed, 28 Jul 2010) | 2 lines Add missing enum value "unknown" to the SS7 called_nai and calling_nai config options. ........ 2010-07-28 20:03 +0000 [r280233] Jason Parker * sounds/Makefile, /: Merged revisions 280231 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r280231 | qwell | 2010-07-28 15:02:27 -0500 (Wed, 28 Jul 2010) | 6 lines Work around some silly behavior on BSD. A non-zero exit from a subshell should make the build fail. (closes issue #17621) ........ 2010-07-28 19:34 +0000 [r280225] Terry Wilson * res/res_rtp_asterisk.c: Do rtp/rtcp debugging when it is turned on w/o filtering 2010-07-28 18:24 +0000 [r280195] Jason Parker * sounds/Makefile, /: Merged revisions 280193 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r280193 | qwell | 2010-07-28 13:05:54 -0500 (Wed, 28 Jul 2010) | 9 lines Remove unnecessary subshells. Attempt to make checksumming work. Also improves readability. (issue #17621) Reported by: bjm Review: https://reviewboard.asterisk.org/r/808/ ........ 2010-07-28 16:52 +0000 [r280161] Sean Bright * apps/app_queue.c, /: Merged revisions 280160 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r280160 | seanbright | 2010-07-28 12:51:11 -0400 (Wed, 28 Jul 2010) | 8 lines Plug a reference leak in app_queue when adding members dynamically. (closes issue #17738) Reported by: bobwienholt Patches: issue17738.patch uploaded by bobwienholt (license 950) Tested by: bobwienholt, seanbright ........ 2010-07-28 13:52 +0000 [r280090] Leif Madsen * contrib/scripts/live_ast, /: Merged revisions 280089 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r280089 | lmadsen | 2010-07-28 08:51:16 -0500 (Wed, 28 Jul 2010) | 9 lines Merged revisions 280088 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r280088 | lmadsen | 2010-07-28 08:50:38 -0500 (Wed, 28 Jul 2010) | 1 line Update help text to be less confusing. ........ ................ 2010-07-28 13:01 +0000 [r280058] Russell Bryant * res/res_crypto.c: s/init keys/keys init/ 2010-07-28 01:37 +0000 [r280023] Paul Belanger * channels/chan_usbradio.c: Resolve compiler warning about formatting (closes issue #17732) Reported by: pabelanger 2010-07-27 22:30 +0000 [r280019-280020] Sean Bright * main/editline/el.h, main/term.c, main/cli.c, main/editline/parse.c, main/editline/tokenizer.c, main/editline/config.sub, main/editline/parse.h, main/editline/tokenizer.h, configure, main/editline/histedit.h, main/editline/sig.c, main/editline/PLATFORMS, main/editline/sig.h, main/editline/key.c, main/editline/editrc.5, main/editline/np/fgetln.c, main/editline/key.h, main/editline/TEST/test.c, main/Makefile, main/editline/configure, main/editline/Makefile.in, configure.ac, main/editline/configure.in, main/editline/readline/readline.h, main/editline/README, main/editline/editline.3, main/editline/vi.c, main/editline/sys.h, main/editline/emacs.c, main/asterisk.c, main/editline/install-sh, main/editline/term.c, main/editline/config.guess, main/editline/read.c, main/editline/term.h, main/editline/map.c, main/editline/np/strlcpy.c, main/editline (added), main/editline/config.h.in, main/editline/read.h, main/editline/tty.c, main/editline/np/unvis.c, main/editline/prompt.c, main/editline/map.h, main/editline/tty.h, main/editline/chared.c, main/editline/prompt.h, main/editline/np/strlcat.c, main/editline/chared.h, main/editline/np, main/editline/TEST, main/editline/refresh.c, main/editline/history.c, main/editline/readline, include/asterisk/term.h, main/editline/refresh.h, main/editline/search.c, main/editline/hist.c, main/editline/search.h, main/editline/hist.h, main/editline/np/vis.c, build_tools/menuselect-deps.in, main, main/editline/readline.c, main/editline/np/vis.h, main/editline/INSTALL, makeopts.in, main/editline/CHANGES, main/editline/common.c, main/xmldoc.c, main/editline/makelist.in, include/asterisk/autoconfig.h.in, main/editline/el.c: Revert r280019 for now - This was poorly executed. * include/asterisk/term.h, makeopts.in, main/asterisk.c, main/xmldoc.c, main/cli.c, main/term.c, main/editline (removed), build_tools/menuselect-deps.in, configure, include/asterisk/autoconfig.h.in, main/Makefile, configure.ac, main: Add ability to use system libedit and update bundled libedit. The version of libedit that is bundled with asterisk is old and has some bugs. This patch updates the bundled version of libedit within asterisk, and also updates asterisk to use the system libedit instead if one is available (and pkg-config is available). This review integrates several patches from other users specifically kkm and tzafrir. (closes issue #15929) Reported by: kkm Patches: 015929-astcli-editrc-trunk.240324.diff uploaded by kkm (license 888) (issue #16858) Reported by: jw-asterisk (closes issue #17039) Reported by: tzafrir Patches: 0001-allow-using-system-copy-of-libedit.patch uploaded by tzafrir (license 46) Review: https://reviewboard.asterisk.org/r/807/ 2010-07-27 21:16 +0000 [r279953] Russell Bryant * res/ais, main/db1-ast/mpool, Makefile.rules, res/snmp, cdr, formats, codecs/gsm/src, funcs, bridges, codecs/lpc10, main/db1-ast/btree, configure, main/editline, codecs/g722, main, main/db1-ast/recno, channels/sip, makeopts.in, pbx, res, res/ael, channels, main/stdtime, main/editline/np, codecs, utils, main/db1-ast/hash, cel, apps, configure.ac, main/db1-ast/db: Add --enable-coverage option to configure script. This option enables the proper compiler flags for tracking code coverage, which is useful along side automated testing. 2010-07-27 20:57 +0000 [r279949] David Vossel * main/audiohook.c, main/channel.c, /, include/asterisk/audiohook.h: Merged revisions 279946 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r279946 | dvossel | 2010-07-27 15:54:32 -0500 (Tue, 27 Jul 2010) | 24 lines Merged revisions 279945 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r279945 | dvossel | 2010-07-27 15:33:40 -0500 (Tue, 27 Jul 2010) | 19 lines remove empty audiohook write list on channel If a channel has an audiohook write list created on it, that list stays on the channel until the channel is destroyed. There is no reason to keep that list on the channel if it becomes empty. If it is empty that just means we are doing needless translating for every ast_read and ast_write. This patch removes the audiohook list from the channel once it is detected to be empty on either a read or write. If a audiohook is added back to the channel after this list is destroyed, the list just gets recreated as if it never existed to begin with. (closes issue #17630) Reported by: manvirr Review: https://reviewboard.asterisk.org/r/799/ ........ ................ 2010-07-27 19:50 +0000 [r279916] Russell Bryant * channels/sig_pri.c, channels/chan_dahdi.c: Fix inband DTMF detection on outgoing ISDN calls. This is a regression from the sig_pri split from chan_dahdi. When a call is first initiated, the inband DTMF detector is not enabled if it's an outgoing ISDN call. However, it needs to be turned on once the media path starts up. This handling was put back in the open_media() callback of chan_dahdi. In sig_pri, open_media() calls were added to a few places where it was needed, including handling of PRI_EVENT_RINGING, PRI_EVENT_PROGRESS, and PRI_EVENT_PROCEEDING. Thanks to rmudgett for helping me with the patch! 2010-07-27 18:54 +0000 [r279887] Mark Michelson * channels/chan_sip.c: Fix parsing error in sip_sipredirect(). The code was written in a way that did a bad job of parsing the port out of a URI. Specifically, it would do badly when dealing with an IPv6 address. In this particular scenario, there was no value from parsing the port out, so I just removed that logic. And while I was messing around in the function, I changed some variable names to be more descriptive. (closes issue #17661) Reported by: oej Patches: 17661.diff uploaded by mmichelson (license 60) 2010-07-27 16:40 +0000 [r279850] Jason Parker * sounds/Makefile, /: Merged revisions 279849 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r279849 | qwell | 2010-07-27 11:39:16 -0500 (Tue, 27 Jul 2010) | 1 line Simply sounds/Makefile some more. ........ 2010-07-27 16:09 +0000 [r279817] David Vossel * main/netsock2.c, channels/chan_sip.c: fix sip transaction match with authentication, fix confusing log message when using getaddrinfo 2010-07-27 16:06 +0000 [r279815] Russell Bryant * channels/chan_dahdi.c: Support "channels" in addition to "channel" in chan_dahdi.conf. Review: https://reviewboard.asterisk.org/r/804 2010-07-27 15:15 +0000 [r279785] Mark Michelson * /, channels/chan_sip.c: Merged revisions 279784 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r279784 | mmichelson | 2010-07-27 10:13:24 -0500 (Tue, 27 Jul 2010) | 14 lines Fix bad behavior of dynamic_exclude_static option in sip.conf. We were attempting to create a contactdeny rule based on the peer's IP address before the peer's IP address had been set. By moving the processing further down in the function, we can ensure stuff works as we expect for it to. (closes issue #17717) Reported by: mmichelson Patches: 17717.patch uploaded by mmichelson (license 60) Tested by: DennisD ........ 2010-07-27 02:57 +0000 [r279726-279755] Paul Belanger * channels/chan_dahdi.c: If dringXcontext is null, fallback to default context value. (closes issue #17693) Reported by: iasgoscouk Patches: issue17693.patch uploaded by pabelanger (license 224) Tested by: iasgoscouk Review: https://reviewboard.asterisk.org/r/803/ * main/http.c: Use ast_sockaddr_setnull() when http is not enabled. Otherwise, ast_tcptls_server_start() will still start http. (closes issue #17708) Reported by: pabelanger Patches: http.patch uploaded by pabelanger (license 224) 2010-07-26 Leif Madsen * Asterisk 1.8.0-beta2 Released. 2010-07-26 23:29 +0000 [r279689] Paul Belanger * UPGRADE.txt, CHANGES: Updated documentation for FAX logger level. 2010-07-26 23:03 +0000 [r279658] Jason Parker * sounds/Makefile (added), /, sounds/Makefile.380 (removed), configure, include/asterisk/autoconfig.h.in, sounds/Makefile.381 (removed), configure.ac: Merged revisions 279657 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r279657 | qwell | 2010-07-26 17:59:52 -0500 (Mon, 26 Jul 2010) | 5 lines Really fix sounds Makefile (and make it readableish). There was a rather large syntax error that should have caused ALL versions of GNU make to fail. I don't know how it worked. ........ 2010-07-26 21:53 +0000 [r279636] Russell Bryant * main/channel.c: Ignore a control subclass of -1 in ast_waitfordigit_full(). 2010-07-26 21:20 +0000 [r279599-279619] Tilghman Lesher * /, configure, configure.ac: Merged revisions 279609 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r279609 | tilghman | 2010-07-26 16:18:17 -0500 (Mon, 26 Jul 2010) | 2 lines Dunno why this worked on my machine, but it works better this way. ........ * res/res_config_ldap.c, /: Merged revisions 279597 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r279597 | ghenry | 2010-07-26 15:25:54 -0500 (Mon, 26 Jul 2010) | 13 lines Apply all patches in: https://issues.asterisk.org/view.php?id=13573 (closes issue #13573) Reported by: navkumar Patches: res_config_ldap-category.diff uploaded by navkumar (license 580) res_config_ldap.patch uploaded by bencer (license 961) res_config_ldap uploaded by bencer (license 961) Tested by: suretec ........ * /: Reverting property remove 2010-07-26 20:58 +0000 [r279598] Gavin Henry * /: Merged revisions 279597 via svnmerge from https://origsvn.digium.com/svn/asterisk/1.6.2 ----------------------------------------------------------------------- r279597 | ghenry | 2010-07-26 15:25:53 -0500 (Mon, 26 Jul 2010) | 13 lines Apply all patches in: https://issues.asterisk.org/view.php?id=13573 [^] (closes issue 0013573) Reported by: navkumar Patches: res_config_ldap-category.diff uploaded by navkumar (license 580) res_config_ldap.patch uploaded by bencer (license 961) res_config_ldap uploaded by bencer (license 961) Tested by: suretec ------------------------------------------------------------------------ 2010-07-26 19:59 +0000 [r279568] David Vossel * channels/sip/include/sip.h, channels/sip/include/reqresp_parser.h, channels/chan_sip.c, channels/sip/reqresp_parser.c: transaction matching using top most Via header This patch modifies the way chan_sip.c does transaction to dialog matching. Asterisk now stores information in the top most Via header of the initial incoming request and compares that against other Requests that have the same call-id. This results in Asterisk being able to detect a forked call in which it has received multiple legs of the fork. I completely stripped out the previous matching code and made the comparisons a little more explicit and easier to understand. My comments in the code should offer all the details involving this patch. This patch also fixes a bug with the usage of the OBJ-MULTIPLE flag to find multiple dialogs with the same call-id. Since the callback function was returning (CMP_MATCH | CMP_STOP) only the first item found was being returned. I fixed this by making a new callback function for finding multiple dialogs that only returns (CMP_MATCH) on a match allowing for multiple items to be returned. Review: https://reviewboard.asterisk.org/r/776/ 2010-07-26 19:51 +0000 [r279566] Paul Belanger * UPGRADE.txt, CHANGES, configs/logger.conf.sample: Add documentation for FAX logger level. (closes issue #17715) Reported by: vrban Patches: 17715.patch uploaded by pabelanger (license 224) Tested by: vrban 2010-07-26 19:18 +0000 [r279562] Tilghman Lesher * sounds/Makefile (removed), /, sounds/Makefile.380 (added), configure, include/asterisk/autoconfig.h.in, sounds/Makefile.381 (added), configure.ac: Merged revisions 279561 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r279561 | tilghman | 2010-07-26 14:15:59 -0500 (Mon, 26 Jul 2010) | 2 lines Use a special Makefile for noobs who still have GNU Make 3.80. ........ 2010-07-26 16:04 +0000 [r279504] Mark Michelson * configure, include/asterisk/autoconfig.h.in, configure.ac, channels/sip/reqresp_parser.c: Allow for systems without locale support to be usable. A recent change to SIP URI comparison code added a locale-specific string comparison to the mix, and certain systems do not support such functions. This fix allows for those systems to still use Asterisk 1.8 (closes issue #17697) Reported by: pprindeville Patches: asterisk-trunk-bugid17697.patch uploaded by pprindeville (license 347) Tested by: mmichelson 2010-07-26 15:43 +0000 [r279502] Sean Bright * autoconf/ast_ext_lib.m4, /: Merged revisions 279501 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r279501 | seanbright | 2010-07-26 11:41:13 -0400 (Mon, 26 Jul 2010) | 5 lines Expand the correct value within AST_OPTION_ONLY. (closes issue #17703) Reported by: stuarth ........ 2010-07-26 03:27 +0000 [r279472] Tilghman Lesher * formats/format_sln16.c, formats/format_wav_gsm.c, formats/format_siren7.c, formats/format_ilbc.c, formats/format_vox.c, formats/format_pcm.c, formats/format_h263.c, formats/format_g723.c, formats/format_h264.c, formats/format_g726.c, formats/format_jpeg.c, formats/format_siren14.c, formats/format_gsm.c, formats/format_g719.c, formats/format_g729.c, formats/format_sln.c, formats/format_wav.c, formats/format_ogg_vorbis.c: Formats need to load before apps, because some apps call ast_format_str_reduce() at load time. 2010-07-25 21:26 +0000 [r279442] Paul Belanger * tests/test_func_file.c: Add trailing backslash to silence warning message. 2010-07-25 18:21 +0000 [r279390-279410] Tilghman Lesher * cdr/cdr_odbc.c: Don't re-register CDR module on reload. (closes issue #17304) Reported by: jnemeth Patches: 20100507__issue17304.diff.txt uploaded by tilghman (license 14) Tested by: jnemeth * main/logger.c: Don't assume qlog is open. (closes issue #17704) Reported by: vrban Patches: issue17704.patch uploaded by pabelanger (license 224) Tested by: vrban 2010-07-24 23:58 +0000 [r279348] Bradley Latus * doc/asterisk.8: Minor update to man page 2010-07-24 20:47 +0000 [r279273-279314] Paul Belanger * Makefile: Remove duplicate -c flag when using $(INSTALL) (closes issue #17695) Reported by: pabelanger Patches: Makefile.diff uploaded by pabelanger (license 224) * include/asterisk/netsock2.h: Check if ast_sockaddr is NULL then return. (closes issue #17677) Reported by: outcast Patches: issue0017677.patch uploaded by pabelanger (license 224) Tested by: elguero * main/manager.c: Default sin_family to AF_INET for TCP / TLS Bindaddress. Otherwise, 'manager show settings' will generate errors if manager is not enabled. 2010-07-23 22:20 +0000 [r279227] Richard Mudgett * apps/app_queue.c, apps/app_dial.c, /: Merged revisions 279207 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r279207 | rmudgett | 2010-07-23 17:11:23 -0500 (Fri, 23 Jul 2010) | 14 lines Merged revisions 279206 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r279206 | rmudgett | 2010-07-23 16:56:44 -0500 (Fri, 23 Jul 2010) | 7 lines SIP promiscuous redirect could fail to dial the redirect. The ast_channel was created with one variable to ast_request() but the call to ast_call() that initiates the outgoing call was using a different variable. The two variables are not equivalent if the call_forward string included a channel technology specifier. e.g., SIP/200 ........ ................ 2010-07-12 Leif Madsen * Asterisk 1.8.0-beta1 Released. 2010-07-23 18:56 +0000 [r279113] Tilghman Lesher * res/res_odbc.c: Silly 64-bit compilers (who uses 64-bit anyway?) 2010-07-23 18:23 +0000 [r279056-279094] Russell Bryant * /: fix up properties on 1.8 branch * / (added): Create a branch for Asterisk 1.8. ___ _ _ _ _ ___ / _ \ ___| |_ ___ _ __(_)___| | __ / | ( _ ) | |_| / __| __/ _ \ '__| / __| |/ / | | / _ \ | _ \__ \ || __/ | | \__ \ < | || (_) | |_| |_|___/\__\___|_| |_|___/_|\_\ |_(_)___/ 2010-07-23 17:05 +0000 [r278982-278985] Tilghman Lesher * autoconf/ast_check_pwlib.m4, /, configure, configure.ac: Merged revisions 278984 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r278984 | tilghman | 2010-07-23 12:04:15 -0500 (Fri, 23 Jul 2010) | 5 lines Establish a maximum version for openh323 (i.e. not opal), because chan_h323 will fail to load, even if it links. (issue #17679) Reported by: am ........ * /, main/asterisk.c: Merged revisions 278981 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r278981 | tilghman | 2010-07-23 11:42:25 -0500 (Fri, 23 Jul 2010) | 8 lines Avoid race with consolethread on shutdown (on parallel processors). (closes issue #17080) Reported by: sybasesql Patches: 20100721__issue17080.diff.txt uploaded by tilghman (license 14) Tested by: sybasesql ........ 2010-07-23 16:33 +0000 [r278980] Mark Michelson * channels/chan_sip.c, channels/sip/reqresp_parser.c, channels/sip/include/reqresp_parser.h: SIP URI comparison fixes. This initially was created to work around the issue of using a string comparison instead of a binary comparison for IP addresses. It evolved a bit when test cases were created and it was discovered that comparison of URI parameters was not working exactly as it should. sip_uri_cmp() and its helpers have been moved to reqresp_parser.c and a new test has been added. (closes issue #17662) Reported by: oej Review: https://reviewboard.asterisk.org/r/792 2010-07-23 16:19 +0000 [r278957] Tilghman Lesher * include/asterisk/res_odbc.h, res/res_config_odbc.c, configs/extconfig.conf.sample, CHANGES, main/config.c, res/res_odbc.c, configs/res_odbc.conf.sample: Merge the realtime failover branch 2010-07-23 16:07 +0000 [r278947] Tzafrir Cohen * doc/asterisk.8: Some left-over hyphen-minus fixes in the man page 2010-07-23 15:57 +0000 [r278944-278945] Russell Bryant * channels/chan_sip.c: ... just kidding. Enable SIP by default. :-) * channels/chan_sip.c: Disable SIP support by default for Asterisk 1.8. 2010-07-23 15:52 +0000 [r278943] Mark Michelson * addons/chan_ooh323.c: Well, who knew chan_ooh323 used udptl? I sure didn't! 2010-07-23 15:41 +0000 [r278942] Richard Mudgett * channels/sig_pri.h, channels/chan_dahdi.c, channels/sig_pri.c: Rename sig_pri_pri to sig_pri_span. More descriptive of concept. 2010-07-23 15:16 +0000 [r278908] Mark Michelson * main/udptl.c, channels/chan_sip.c, include/asterisk/udptl.h, channels/sip/include/sip.h: Allow IPv6 addresses for UDPTL streams. Review: https://reviewboard.asterisk.org/r/795 2010-07-23 13:37 +0000 [r278875] Olle Johansson * res/res_config_ldap.c: Minor corrections to the LDAP realtime driver Review: https://reviewboard.asterisk.org/r/798/ Thanks Mark for a quick review! 2010-07-23 13:26 +0000 [r278873] Paul Belanger * Makefile, agi/Makefile, sounds/Makefile: Portability updates for Makefiles. When possible, use $(INSTALL). This allows us to use the functionality within install for setting directory / file permissions, a requirement for unprivileged installation. Also move any directory we plan to create within the installdirs macro. Plus various other formatting issues. (issue #17436) Reported by: pabelanger Patches: non-root.patch.v8 uploaded by pabelanger (license 224) Tested by: pabelanger Review: https://reviewboard.asterisk.org/r/654/ 2010-07-23 11:01 +0000 [r278809-278841] Alec L Davis * channels/chan_dahdi.c, channels/sig_analog.c: missed FXS kewl start polarityswitch when finally on hook. (issue #17318) * channels/chan_dahdi.c, configs/chan_dahdi.conf.sample, channels/sig_analog.c, channels/sig_analog.h: Support FXS module Polarity Reversal on remote party Answer and Hangup FXS lines normally connect to a telephone. However, when FXS lines are routed to an external PBX or Key System to act as "external" or "CO" lines, it is extremely difficult, if not impossible for the external PBX to know when the call has been disconnected without receiving a polarity reversal on the line. Now using answeronpolarityswitch and hanguponpolarityswitch keywords that previously were used only for FXO ports, now applies like functionality for an FXS port, but from the connected equipment's point of view. (closes issue #17318) Reported by: armeniki Patches: fxs_linepolarity.diff5.txt uploaded by alecdavis (license 585) Tested by: alecdavis Review: https://reviewboard.asterisk.org/r/797/ 2010-07-22 21:16 +0000 [r278777] Richard Mudgett * channels/chan_dahdi.c: DNID not cleared when channel hang up (Affects PRI and SS7) The "dahdi show channels" CLI command still reports the DNID of the previous call even if the call is already hang up. The "dahdi show channels" command of older releases clear the DNID once the channel is hang up. Regression from the sig_analog/sig_pri extraction from chan_dahdi. (closes issue #17623) Reported by: klaus3000 Patches: issue17623.patch uploaded by rmudgett (license 664) Tested by: rmudgett 2010-07-22 19:45 +0000 [r278708] Jeff Peeler * main/xmldoc.c: Add method for finding XML doc files for systems that don't support GLOB_BRACE. In particular, Solaris and perhaps others do not support the above mentioned GNU extension. In this case the paths are simply expanded without the braces and the calls to glob are made separately. Note: I could not explain memory allocation failures that were being reported from within libxml itself when making calls to glob without using GLOB_NOCHECK. This is the only reason why that flag is being used. (closes issue #15402) Reported by: snuffy Patches: bug_xmlpatt-v3.diff uploaded by snuffy (license 35), modified by me 2010-07-22 14:58 +0000 [r278620] Mark Michelson * main/channel.c, /: Merged revisions 278618 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r278618 | mmichelson | 2010-07-22 09:55:04 -0500 (Thu, 22 Jul 2010) | 13 lines Allow PLC to function properly when channels use SLIN for audio. If a channel involved in a bridge was using SLIN audio, then translation paths were not guaranteed to be set up properly since in all likelihood the number of translation steps was only 1. This patch enforces the transcode_via_slin behavior if transcode_via_slin or generic_plc is enabled and one of the formats to make compatible is SLIN. AST-352 ........ 2010-07-22 14:56 +0000 [r278619] David Vossel * channels/chan_sip.c: update sip subscription debug message to a warning message If the Expire header of a SUBSCRIBE is less that our expiremin, a log warning will be displayed. 2010-07-22 05:29 +0000 [r278579] Tilghman Lesher * include/asterisk/doxyref.h: Add the full current set of CDR drivers 2010-07-21 19:16 +0000 [r278539] David Vossel * tests/test_func_file.c: make func_file unit test's category consistent with other tests 2010-07-21 19:11 +0000 [r278538] Terry Wilson * channels/iax2-parser.h, include/asterisk/crypto.h, main/aescrypt.c (removed), include/asterisk/aes_internal.h (removed), funcs/func_aes.c, res/res_crypto.c, main/aestab.c (removed), main/aesopt.h (removed), include/asterisk/aes.h (removed), main/aeskey.c (removed), pbx/pbx_dundi.c, channels/chan_iax2.c, res/res_crypto.exports.in, pbx/dundi-parser.h: Remove built-in AES code and use optional_api instead Review: https://reviewboard.asterisk.org/r/793/ 2010-07-21 18:52 +0000 [r278536] David Vossel * channels/chan_sip.c: send "423 Interval too small" Response to Subscribe with Expires less that min allowed [RFC3265]3.1.6.1.... The notifier MAY also check that the duration in the "Expires" header is not too small. If and only if the expiration interval is greater than zero AND smaller than one hour AND less than a notifier- configured minimum, the notifier MAY return a "423 Interval too small" error which contains a "Min-Expires" header field. The "Min- Expires" header field is described in SIP [1]. 2010-07-21 17:44 +0000 [r278501] Tzafrir Cohen * channels/chan_dahdi.c, channels/sig_analog.c: Fix invalid test for rxisoffhook in FXO channels This fixes some cases of no outgoing calls on FXO before an incoming call. Remove an unnecessary testing of an "off-hook" bit from DAHDI for FXO (KS/GS) channels.In some cases the bit would not be initialized properly before the first inbound call and thus prevent an outgoing call. If those tests are actually required by anybody, they should define DAHDI_CHECK_HOOKSTATE in channels/sig_analog.c . (closes issue #14577) Reported by: jkroon Patches: asterisk_chan_dahdi_hookstate_fix_trunk_new.diff uploaded by frawd (license 610) Tested by: frawd Review: https://reviewboard.asterisk.org/r/699/ 2010-07-21 16:15 +0000 [r278465] Russell Bryant * res/res_timing_pthread.c: Use poll() instead of select() in res_timing_pthread to avoid stack corruption. This code did not properly check FD_SETSIZE to ensure that it did not try to select() on fds that were too large. Switching to poll() removes the limitation on the maximum fd value. (closes issue #15915) Reported by: keiron (closes issue #17187) Reported by: Eddie Edwards (closes issue #16494) Reported by: Hubguru (closes issue #15731) Reported by: flop (closes issue #12917) Reported by: falves11 (closes issue #14920) Reported by: vrban (closes issue #17199) Reported by: aleksey2000 (closes issue #15406) Reported by: kowalma (closes issue #17438) Reported by: dcabot (closes issue #17325) Reported by: glwgoes (closes issue #17118) Reported by: erikje possibly other issues, too ... 2010-07-21 15:56 +0000 [r278463] Tilghman Lesher * apps/app_meetme.c: Ensure realtime conferences are treated the same as static conferences when trying to find an empty one. Also, parse the useropts properly, when retrieving from realtime, and add them to the existing flags. (closes issue #17502) Reported by: kenji Patches: 20100720__issue17502.diff.txt uploaded by tilghman (license 14) Tested by: kenji 2010-07-21 15:54 +0000 [r278426-278462] Matthew Nicholson * res/res_fax_spandsp.c: Properly show the current page being transfered for 'fax show session' * channels/chan_sip.c: Properly set the port number for UDPTL media sessions. * res/res_fax.c: Don't print failure status when the remote end hangs up, it may not be an actual failure. 2010-07-21 13:02 +0000 [r278425] Russell Bryant * main/features.c, UPGRADE.txt, configs/features.conf.sample: Update documentation for 'comebacktoorigin' in featuers.conf. The documentation for this option did not match the code. Fix that along with some minor cleanups to the code along the way. Document a slight change in behavior (to something that was previously undocumented) in UPGRADE.txt. 2010-07-21 06:45 +0000 [r278393] Tilghman Lesher * channels/chan_iax2.c: Change order so that it more closely matches the related SIP command. (closes issue #17648) Reported by: GMLudo Review: https://reviewboard.asterisk.org/r/789/ 2010-07-21 03:53 +0000 [r278361] Jeff Peeler * channels/chan_dahdi.c: include stat.h for everybody, needed for device2chan 2010-07-20 23:23 +0000 [r278275-278307] Tilghman Lesher * res/res_config_pgsql.c, main/logger.c, CHANGES, contrib/realtime/mysql/queue_log.sql (added), configs/logger.conf.sample: Separate queue_log arguments into separate fields, and allow the text file to be used, even when realtime is used. (closes issue #17082) Reported by: coolmig Patches: 20100720__issue17082.diff.txt uploaded by tilghman (license 14) Tested by: coolmig * /, apps/app_voicemail.c: Merged revisions 278261 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r278261 | tilghman | 2010-07-20 17:23:13 -0500 (Tue, 20 Jul 2010) | 7 lines Delete IMAP messages in reverse order, to ensure reordering after each expunge does not cause deletion of the wrong message. (closes issue #16350) Reported by: noahisaac Patches: 20100623__issue16350.diff.txt uploaded by tilghman (license 14) ........ 2010-07-20 22:38 +0000 [r278274] Richard Mudgett * channels/sig_pri.c: Reference correct struct member for unlikely event PRI_EVENT_CONFIG_ERR. 2010-07-20 22:26 +0000 [r278272] Tilghman Lesher * main/autoservice.c, /, main/features.c, include/asterisk/channel.h: Merged revisions 278167 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r278167 | tilghman | 2010-07-20 15:59:06 -0500 (Tue, 20 Jul 2010) | 4 lines Do not queue up DTMF frames while a call is on hold. (Fixes ABE-2110) ........ 2010-07-20 21:41 +0000 [r278234] David Vossel * channels/chan_sip.c: fixes sip CANCEL race condition If Asterisk sends a 4xx error and the other side sends a CANCEl before receiving the 4xx and responding with the ACK, Asterisk will process the CANCEL and send a 487 Request Terminated as a new final response to the INVITE. Since we are issuing a new final response to the INVITE, the old one must be pretend_acked else it will keep retransmitting. 2010-07-20 21:01 +0000 [r278168] Matthew Nicholson * res/res_fax.c: This commit contains several changes to the way output channel variables are handled. FAX output channel variables will now match the values reported by FAXOPT() and should be set in all failure and success cases. This commit also contains a few modifications to the way FAXOPT() variables are populated in a few spots and fixes for some reference count leaks of the session details structure in some failure cases. Also found and fixed more cases where FAXOPT(status) may not have gotten set. FAX-214 FAX-203 2010-07-20 19:35 +0000 [r278132] Tilghman Lesher * cel/cel_pgsql.c, cdr/cdr_sqlite3_custom.c, channels/chan_local.c, res/res_timing_dahdi.c, cdr/cdr_adaptive_odbc.c, res/res_calendar_caldav.c, formats/format_sln16.c, formats/format_wav_gsm.c, channels/chan_iax2.c, main/config.c, main/loader.c, res/res_rtp_multicast.c, channels/chan_dahdi.c, res/res_smdi.c, channels/chan_skinny.c, include/asterisk/module.h, formats/format_pcm.c, channels/chan_alsa.c, formats/format_h263.c, res/res_curl.c, cdr/cdr_odbc.c, formats/format_jpeg.c, res/res_speech.c, formats/format_gsm.c, cdr/cdr_manager.c, formats/format_g719.c, res/res_calendar_exchange.c, cel/cel_tds.c, formats/format_wav.c, channels/chan_bridge.c, channels/chan_agent.c, formats/format_ogg_vorbis.c, res/res_monitor.c, res/res_calendar_ews.c, res/res_config_curl.c, channels/chan_misdn.c, funcs/func_curl.c, res/res_timing_kqueue.c, formats/format_g726.c, main/asterisk.c, res/res_odbc.c, cel/cel_adaptive_odbc.c, res/res_calendar.c, cel/cel_radius.c, channels/chan_multicast_rtp.c, apps/app_meetme.c, formats/format_sln.c, res/res_musiconhold.c, channels/chan_gtalk.c, cdr/cdr_pgsql.c, cdr/cdr_radius.c, res/res_jabber.c, res/res_config_sqlite.c, formats/format_siren7.c, cdr/cdr_csv.c, formats/format_ilbc.c, res/res_config_odbc.c, cel/cel_manager.c, cel/cel_custom.c, cdr/cdr_sqlite.c, res/res_agi.c, res/res_timing_timerfd.c, apps/app_confbridge.c, formats/format_h264.c, res/res_config_ldap.c, addons/chan_mobile.c, formats/format_siren14.c, cdr/cdr_custom.c, channels/chan_mgcp.c, res/res_rtp_asterisk.c, res/res_config_pgsql.c, res/res_calendar_icalendar.c, channels/chan_sip.c, cdr/cdr_syslog.c, res/res_fax.c, res/res_crypto.c, res/res_adsi.c, include/asterisk/config.h, pbx/pbx_lua.c, channels/chan_console.c, apps/app_queue.c, cdr/cdr_tds.c, res/res_srtp.c, channels/chan_jingle.c, formats/format_vox.c, res/res_timing_pthread.c, channels/chan_h323.c, cel/cel_sqlite3_custom.c, formats/format_g723.c, funcs/func_devstate.c, formats/format_g729.c, addons/res_config_mysql.c: Add load priority order, such that preload becomes unnecessary in most cases 2010-07-20 18:11 +0000 [r278051-278096] Russell Bryant * contrib/scripts/install_prereq: Add a package to install_prereq. * channels/chan_local.c: Only call ast_channel_cc_params_init() if allocating a channel succeeds. 2010-07-20 16:50 +0000 [r278024] Tilghman Lesher * main/manager.c, /: Merged revisions 278023 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r278023 | tilghman | 2010-07-20 11:37:18 -0500 (Tue, 20 Jul 2010) | 7 lines Off-by-one error (closes issue #16506) Reported by: nik600 Patches: 20100629__issue16506.diff.txt uploaded by tilghman (license 14) ........ 2010-07-19 21:07 +0000 [r277945] Jean Galarneau * /, main/features.c: Merged revisions 277906 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r277906 | jeang | 2010-07-19 15:16:36 -0500 (Mon, 19 Jul 2010) | 7 lines Avoid trying to pickup a parked extension before the park operation is completed. A crash could occur if the extension is picked up while the parking extension is being announced. Testing pu->notquiteyet while searching for a parked extension resolves this crash. (ABE-2418) ........ 2010-07-19 17:16 +0000 [r277872-277873] Mark Michelson * channels/chan_sip.c, configs/sip.conf.sample, channels/sip/include/sip.h: Fix port setting of external address in SIP. There are two changes here: 1. Since the externip setting can now have a port attached to it, calling it "externip" is misleading. The option is now documented and parsed as "externaddr." This also extends to the "matchexterniplocally" setting. It is now documented and parsed as "matchexternaddrlocally." The old names for the options may still be used, but they are no longer used in the sip.conf.sample file. 2. If no port is set for the externaddr, and UDP is the transport to be used, then we will set the port of the externaddr to that of the udpbindaddr. This was how things worked prior to the IPv6 merge, so this is a regression fix. (closes issue #17665) Reported by: mmichelson Patches: 17665.diff#2 uploaded by pprindeville (license 347) Tested by: pprindeville * tests/test_acl.c: Remove the fe80:1234::1234 test case from test_acl.c The ACL test was failing on Mac OS X because it would convert the above invalid link-local address into fe80::1234 while reporting no error from getaddrinfo(). Linux does not do this. 2010-07-19 14:39 +0000 [r277837] Jeff Peeler * channels/chan_dahdi.c, channels/sig_analog.c, channels/sig_analog.h: Fix regression with distinctive ring detection. The issue here is that passing an array to a function prohibits the ARRAY_LEN macro from returning the real size. To avoid this the size is now defined and use of ARRAY_LEN is avoided. (closes issue #15718) Reported by: alecdavis Patches: bug15718.patch uploaded by jpeeler (license 325) 2010-07-19 14:17 +0000 [r277814] Mark Michelson * include/asterisk/acl.h, main/netsock2.c, main/manager.c, channels/chan_sip.c, channels/chan_skinny.c, tests/test_acl.c, main/acl.c, include/asterisk/netsock2.h, configs/sip.conf.sample, channels/chan_iax2.c: Make ACLs IPv6-capable. ACLs can now be configured to match IPv6 networks. This is only relevant for ACLs in chan_sip for now since other channel drivers do not support IPv6 addressing. However, once those channel drivers are outfitted to support IPv6 addressing, the ACLs will already be ready for IPv6 support. https://reviewboard.asterisk.org/r/791 2010-07-17 17:42 +0000 [r277773-277775] Tilghman Lesher * /, autoconf/ast_func_fork.m4, configure, include/asterisk/autoconfig.h.in: Merged revisions 277738 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r277738 | tilghman | 2010-07-17 11:59:11 -0500 (Sat, 17 Jul 2010) | 5 lines Remove uclibc cross-compile triplet, as uclibc has a working fork()... it's only uclinux that does not. (closes issue #17616) Reported by: pprindeville ........ * res/res_config_pgsql.c, res/res_config_odbc.c, /, include/asterisk/config.h, main/config.c, addons/res_config_mysql.c: Merged revisions 277568 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r277568 | tilghman | 2010-07-16 16:54:29 -0500 (Fri, 16 Jul 2010) | 8 lines Since we split values at the semicolon, we should store values with a semicolon as an encoded value. (closes issue #17369) Reported by: gkservice Patches: 20100625__issue17369.diff.txt uploaded by tilghman (license 14) Tested by: tilghman ........ 2010-07-17 13:10 +0000 [r277703] Russell Bryant * Makefile, configure, include/asterisk/autoconfig.h.in, configure.ac, makeopts.in: Allow xmllint to be used for XML docs validation. xmllint seems to be more commonly available since it comes with libxml2. 2010-07-17 00:03 +0000 [r277667] Bradley Latus * res/res_fax.c: Update res_fax.c to be a good xml citizen. (closes issues #17667) Reported by: snuffy 2010-07-16 23:23 +0000 [r277657] Tim Ringenbach * main/features.c: Merged revisions 277625 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r277625 | tringenbach | 2010-07-16 17:43:39 -0500 (Fri, 16 Jul 2010) | 9 lines Save and restore AST_FLAG_BRIDGE_HANGUP_DONT on attended transfer. ast_bridge_call() clears AST_FLAG_BRIDGE_HANGUP_DONT. But during an attended transfer, ast_bridge_call() is called for a second bridge on the same channel, and it clears that flag, which still needs to get set for when the original ast_bridge_call() gets control back and checks it. Review: https://reviewboard.asterisk.org/r/741 ........ 2010-07-16 21:24 +0000 [r277530] Matthew Nicholson * /, channels/chan_sip.c: Merged revisions 277497 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r277497 | mnicholson | 2010-07-16 16:18:38 -0500 (Fri, 16 Jul 2010) | 4 lines Default to no udptl error correction so that error correction will be disabled in the event that the remote end indicates that they do not support the error correction mode we requested. FAX-128 ........ 2010-07-16 21:16 +0000 [r277488] Jeff Peeler * apps/app_queue.c: Fix reporting estimated queue hold time. Just say the number of seconds (after minutes) rather than doing some incorrect calculation with respect to minutes. (closes issue #17498) Reported by: corruptor Patches: holdesecs_bug.diff uploaded by corruptor (license 253) 2010-07-16 20:35 +0000 [r277484] Tilghman Lesher * include/asterisk/sched.h, main/sched.c: Finally, a method that really fixes the assertions in chan_iax2.c related to cancelling lagid. No, replacing usleep(1) with sched_yield() did not have an effect. 2010-07-16 20:27 +0000 [r277467] Richard Mudgett * channels/chan_dahdi.c, /: Merged revisions 277419 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r277419 | rmudgett | 2010-07-16 15:18:54 -0500 (Fri, 16 Jul 2010) | 15 lines priexclusive in chan_dahdi.conf ignored when reloading dahdi module During a reload, the priexclusive and outsignalling parameters are not read in from the config file as intended. Unfortunately, they get set to defaults as a result. This patch makes sure that they do not get set to defaults during a reload. (closes issue #17441) Reported by: mtryfoss Patches: issue17441_v1.4.patch uploaded by rmudgett (license 664) issue17441_v1.6.2.patch uploaded by rmudgett (license 664) issue17441_trunk.patch uploaded by rmudgett (license 664) Tested by: rmudgett ........ 2010-07-16 20:25 +0000 [r277452] Tilghman Lesher * res/res_musiconhold.c, contrib/realtime/mysql/musiconhold.sql (added): Add documentation for MOH realtime fields 2010-07-16 19:32 +0000 [r277409] Matthew Nicholson * tests/test_devicestate.c: updated devicestate test for device state changes 2010-07-16 19:22 +0000 [r277366] Jeff Peeler * apps/app_queue.c: Add missing handling for ringing state for use with queue empty options. (closes issue #17471) Reported by: jazzy Patches: app_queue.c.diff uploaded by jazzy (license 1056) 2010-07-16 18:31 +0000 [r277331] Matthew Nicholson * main/pbx.c, /: Merged revisions 277327 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r277327 | mnicholson | 2010-07-16 13:30:22 -0500 (Fri, 16 Jul 2010) | 8 lines Interpret device state AST_DEVICE_UNKNOWN as extension state AST_EXTENSION_NOT_INUSE. (closes issue #16035) Reported by: francesco_r Patches: pbx.c.patch uploaded by viniciusfontes (license 978) Tested by: francesco_r, agx, lawbar ........ 2010-07-16 18:14 +0000 [r277263] Tilghman Lesher * main/manager.c, /: Merged revisions 277261 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r277261 | tilghman | 2010-07-16 13:04:11 -0500 (Fri, 16 Jul 2010) | 5 lines If variable gotten is not set, will segfault on Solaris. (closes issue #17636) Reported by: bklang ........ 2010-07-16 18:05 +0000 [r277250-277262] Matthew Nicholson * main/channel.c: Print f->subclass.integer instead of f->subclass. (fix build breakage introduced in r277250) * main/channel.c, /: Merged revisions 277247 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r277247 | mnicholson | 2010-07-16 12:29:57 -0500 (Fri, 16 Jul 2010) | 4 lines For pass through DTMF tones, measure the actual duration between the begin and end packets on the wire. If it is detected to be less than AST_MIN_DTMF_DURATION, trigger dtmf emulation. AST-362 ........ 2010-07-16 17:13 +0000 [r277183] Paul Belanger * /, apps/app_amd.c: Merged revisions 277182 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r277182 | pabelanger | 2010-07-16 13:10:36 -0400 (Fri, 16 Jul 2010) | 8 lines Total analysis time error with SIP and silence suppression When using app_amd with SIP providers that have silence suppression on, the iTotalTime count increases exponentially. (closes issue #17656) Reported by: juls ........ 2010-07-16 16:25 +0000 [r277175] Mark Michelson * channels/sip/reqresp_parser.c: Fix up some weird indentation problems in reqresp_parser.c 2010-07-16 15:20 +0000 [r277143] Sean Bright * main/translate.c: Avoid crashing when installing a duplicate translation path with a lower cost. (closes issue #17092) Reported by: moy Patches: translate.rev254273.patch uploaded by moy (license 222) Tested by: moy 2010-07-16 13:40 +0000 [r277103] Eliel C. Sardanons * CREDITS: Add Despegar.com (my main sponsor) to the CREDITS file. 2010-07-16 13:32 +0000 [r276950-277102] Olle Johansson * main/dnsmgr.c, main/srv.c: Formatting changes * channels/chan_sip.c: Formatting fixes * configs/sip.conf.sample: Clarify syntax changes * CREDITS: Adding a few more to the list of CREDITS * channels/chan_sip.c: Formatting changes (guideline corrections) Found a unused bag of curly brackets under my table. I always wondered where they had gone. They where indeed needed in chan_sip.c * CREDITS: Adding a few more credits * channels/chan_sip.c, doc/tex/channelvariables.tex, configs/sip.conf.sample, CHANGES, channels/sip/include/sip.h: Add ability to configure the Max-Forwards header in the dialplan, as well as in sip.conf configuration for the channel and for devices. The Max-Forwards header is used to prevent loops in a SIP network. Each intermediary, like SIP proxys and SBCs, decrement this counter and detects when it reaches zero, at which point the SIP request is nicely killed in a SIP-friendly way. Review: https://reviewboard.asterisk.org/r/778/ Thanks to dvossel for the review and good advice. * CHANGES, apps/app_queue.c: Add a dialplan function to check if a queue exists: QUEUE_EXISTS Review: https://reviewboard.asterisk.org/r/777/ 2010-07-16 06:04 +0000 [r276910-276911] Tilghman Lesher * res/res_jabber.c: And yet one more * res/res_jabber.c: "Item may be used uninitialized in this function." 2010-07-16 05:42 +0000 [r276909] Mark Michelson * channels/chan_sip.c: Fix reversed logic of if statement. Found based on message from Philip Prindeville on the Asterisk Developers mailing list. 2010-07-16 05:38 +0000 [r276830-276908] Tilghman Lesher * configure, configure.ac: Detect the --dynamic-list flag a bit better * configure, main/Makefile, configure.ac, makeopts.in: Fix build on FreeBSD * tests/test_utils.c: Fix trunk build for Mac OS X 10.6 * contrib/realtime/mysql/iaxfriends.sql, contrib/realtime/mysql/meetme.sql, contrib/realtime/postgresql/realtime.sql, contrib/realtime/mysql/sipfriends.sql: Allow ipaddress to contain the maximum IPv6 address. Also, update meetme to the full list of supported fields. * configure, autoconf/ast_gcc_attribute.m4: Quote AC_SUBST within m4_ifval, so it does not get prematurely expanded. (closes issue #17654) Reported by: pprindeville Patches: issue17654.diff uploaded by qwell (license 4) Tested by: qwell, pprindeville 2010-07-15 20:21 +0000 [r276788] Jeff Peeler * channels/chan_sip.c: Correct not setting the bindport before attempting to open the socket. Related to changes from 276571, I was accidentally testing with a port set in my configuration causing me to miss this. Also moved the TCP handling as well to occur before build_peer is called. 2010-07-15 19:46 +0000 [r276731-276769] Tilghman Lesher * configure, include/asterisk/autoconfig.h.in, include/asterisk/compat.h, configure.ac: Define LLONG_MAX on systems that do not have it. (closes issue #17644) Reported by: pprindeville * configure, main/Makefile, autoconf/ast_gcc_attribute.m4, configure.ac, makeopts.in: Fix linking asterisk on CentOS 5, which is using gcc 4.1.1. Gcc 4.1.2 has the real fix. Review: https://reviewboard.asterisk.org/r/790/ 2010-07-15 13:51 +0000 [r276653] Jeff Peeler * main/channel.c, /: Merged revisions 276652 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r276652 | jpeeler | 2010-07-15 08:48:58 -0500 (Thu, 15 Jul 2010) | 2 lines In a perfect world, the frame source would never be NULL. In the meantime, don't crash when it is. ........ 2010-07-15 12:21 +0000 [r276616] Russell Bryant * contrib/scripts/install_prereq: Add lua5.1 to the handy dandy list of packages. 2010-07-14 22:58 +0000 [r276571] Jeff Peeler * channels/chan_sip.c: Fix MWI notification transmission problems over SIP. MWI updates were not being sent if no messages were found in the event cache. This was corrected since a phone may need to clear its MWI status configured previously from another mailbox. Upon module or sip reload, MWI updates could not be sent due to the sipsock socket not being set early enough in reload_config. The code handling the descriptor assignment and such has simply been moved before the call to build_peer. Issuing a sip reload cleared the IP address of the peer, but skipped checking the database for registration information. The database is now checked both for sip reload and actually reloading the module. If a transmission occurs before the do_monitor thread has started, do not attempt to send a signal to it. (closes issue #17398) Reported by: ip-rob 2010-07-14 22:32 +0000 [r276570] Mark Michelson * res/res_rtp_asterisk.c, main/dnsmgr.c, channels/chan_sip.c, main/acl.c: Fix errors where incorrect address information was printed. ast_sockaddr_stringiy_fmt (which is call by all ast_sockaddr_stringify* functions) uses thread-local storage for storing the string that it creates. In cases where ast_sockaddr_stringify_fmt was being called twice within the same statement, the result of one call would be overwritten by the result of the other call. This usually was happening in printf-like statements and was resulting in the same stringified addressed being printed twice instead of two separate addresses. I have fixed this by using ast_strdupa on the result of stringify functions if they are used twice within the same statement. As far as I could tell, there were no instances where a pointer to the result of such a call were saved anywhere, so this is the only situation I could see where this error could occur. 2010-07-14 21:29 +0000 [r276531] Richard Mudgett * channels/chan_h323.c: Make compile again. 2010-07-14 21:11 +0000 [r276490-276493] Tilghman Lesher * main/loader.c: Oops, merge reverted this fix. * include/asterisk/adsi.h, include/asterisk/agi.h, include/asterisk/crypto.h, main/asterisk.dynamics, main/Makefile, tests/test_utils.c, main/adsistub.c (removed), main/cryptostub.c (removed), res/res_adsi.c, res/res_crypto.c, res/res_crypto.exports.in (added), res/res_adsi.exports.in, main/loader.c, include/asterisk/optional_api.h: Remove the old stub files, preferring the optional_api method. (closes issue #17475) Reported by: tilghman Review: https://reviewboard.asterisk.org/r/695/ 2010-07-14 20:15 +0000 [r276441] Kevin P. Fleming * main/loader.c: Don't try to call an embedded module's backup_globals() function until after confirming it exists. 2010-07-14 19:51 +0000 [r276439] David Vossel * channels/chan_sip.c: handle special case were "200 Ok" to pending INVITE never receives ACK Unlike most responses, the 200 Ok to a pending INVITE Request is acknowledged by an ACK Request. If the ACK Request for this Response is not received the previous behavior was to immediately destroy the dialog and hangup the channel. Now in an effort to be more RFC compliant, instead of immediately destroying the dialog during this special case, termination is done with a BYE Request as the dialog is technically confirmed when the 200 Ok is sent even if the ACK is never received. The behavior of immediately hanging up the channel remains. This only affects how dialog termination proceeds for this one special case. RFC 3261 section 13.3.1.4 "If the server retransmits the 2xx response for 64*T1 seconds without receiving an ACK, the dialog is confirmed, but the session SHOULD be terminated. This is accomplished with a BYE, as described in Section 15." 2010-07-14 16:58 +0000 [r276393] Richard Mudgett * channels/chan_vpb.cc, channels/chan_sip.c, include/asterisk/channel.h, channels/sig_pri.c, channels/chan_iax2.c, main/cel.c, channels/chan_oss.c, main/channel.c, main/cdr.c, channels/chan_jingle.c, channels/chan_usbradio.c, channels/chan_dahdi.c, channels/chan_phone.c, channels/sig_analog.c, channels/chan_misdn.c, channels/chan_skinny.c, channels/chan_h323.c, res/snmp/agent.c, apps/app_amd.c, funcs/func_callerid.c, channels/sig_ss7.c, channels/chan_mgcp.c: Expand the caller ANI field to an ast_party_id Expand the ani field in ast_party_caller and ast_party_connected_line to an ast_party_id. This is an extension to the ast_callerid restructuring patch in review: https://reviewboard.asterisk.org/r/702/ Review: https://reviewboard.asterisk.org/r/744/ 2010-07-14 16:40 +0000 [r276392] David Vossel * channels/chan_sip.c: collapse debug code in retrans_pkt into separate lines I've been working in this function a bunch lately, and these huge debug strings are getting annoying. 2010-07-14 16:39 +0000 [r276391] Richard Mudgett * res/snmp/agent.c: Make compile again. 2010-07-14 16:36 +0000 [r276389] Jeff Peeler * channels/chan_sip.c: Do not skip sending MWI for a peer if an address is defined. Really just a merge mistake from IPv6 2010-07-14 16:09 +0000 [r276349] Tim Ringenbach * cel/cel_pgsql.c, doc/tex/celdriver.tex, doc/tex/cdrdriver.tex: Fix documentation for pgsql cel and cdr, and slightly improve pgsql_cel. Change the documented pgsql schema to use "timestamp" instead of "time", as the latter is only a time without a date. Added some missing columns for cel's pgsql schema, and corrected spelling on some others. Updated cel's uniqueid size to be the same as the cdr. Added id column to cel's pgsql schema and updated code to allow unknown columns to get their default value instead of forcing 0 or empty string. Added microseconds to the timestamp cel logs to pgsql. Review: https://reviewboard.asterisk.org/r/734 2010-07-14 15:48 +0000 [r276347] Richard Mudgett * channels/chan_local.c, addons/chan_ooh323.c, apps/app_alarmreceiver.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/sig_analog.h, apps/app_amd.c, channels/sig_ss7.c, apps/app_dial.c, main/pbx.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, funcs/func_redirecting.c (removed), channels/chan_misdn.c, apps/app_macro.c, apps/app_zapateller.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, apps/app_followme.c, include/asterisk/callerid.h, main/cdr.c, main/channel.c, channels/chan_phone.c, main/dial.c, apps/app_setcallerid.c, apps/app_osplookup.c, main/manager.c, apps/app_minivm.c, res/res_agi.c, main/app.c, apps/app_rpt.c, channels/chan_mgcp.c, apps/app_parkandannounce.c, apps/app_while.c, funcs/func_dialplan.c, channels/chan_sip.c, UPGRADE.txt, channels/chan_console.c, channels/sig_pri.c, apps/app_queue.c, channels/chan_oss.c, channels/chan_usbradio.c, channels/chan_jingle.c, funcs/func_blacklist.c, apps/app_directed_pickup.c, main/file.c, funcs/func_connectedline.c (removed), channels/chan_h323.c, main/callerid.c, res/snmp/agent.c, apps/app_sms.c, apps/app_stack.c, funcs/func_callerid.c: ast_callerid restructuring The purpose of this patch is to eliminate struct ast_callerid since it has turned into a miscellaneous collection of various party information. Eliminate struct ast_callerid and replace it with the following struct organization: struct ast_party_name { char *str; int char_set; int presentation; unsigned char valid; }; struct ast_party_number { char *str; int plan; int presentation; unsigned char valid; }; struct ast_party_subaddress { char *str; int type; unsigned char odd_even_indicator; unsigned char valid; }; struct ast_party_id { struct ast_party_name name; struct ast_party_number number; struct ast_party_subaddress subaddress; char *tag; }; struct ast_party_dialed { struct { char *str; int plan; } number; struct ast_party_subaddress subaddress; int transit_network_select; }; struct ast_party_caller { struct ast_party_id id; char *ani; int ani2; }; The new organization adds some new information as well. * The party name and number now have their own presentation value that can be manipulated independently. ISDN supplies the presentation value for the name and number at different times with the possibility that they could be different. * The party name and number now have a valid flag. Before this change the name or number string could be empty if the presentation were restricted. Most channel drivers assume that the name or number is then simply not available instead of indicating that the name or number was restricted. * The party name now has a character set value. SIP and Q.SIG have the ability to indicate what character set a name string is using so it could be presented properly. * The dialed party now has a numbering plan value that could be useful to have available. The various channel drivers will need to be updated to support the new core features as needed. They have simply been converted to supply current functionality at this time. The following items of note were either corrected or enhanced: * The CONNECTEDLINE() and REDIRECTING() dialplan functions were consolidated into func_callerid.c to share party id handling code. * CALLERPRES() is now deprecated because the name and number have their own presentation values. * Fixed app_alarmreceiver.c write_metadata(). The workstring[] could contain garbage. It also can only contain the caller id number so using ast_callerid_parse() on it is silly. There was also a typo in the CALLERNAME if test. * Fixed app_rpt.c using ast_callerid_parse() on the channel's caller id number string. ast_callerid_parse() alters the given buffer which in this case is the channel's caller id number string. Then using ast_shrink_phone_number() could alter it even more. * Fixed caller ID name and number memory leak in chan_usbradio.c. * Fixed uninitialized char arrays cid_num[] and cid_name[] in sig_analog.c. * Protected access to a caller channel with lock in chan_sip.c. * Clarified intent of code in app_meetme.c sla_ring_station() and dial_trunk(). Also made save all caller ID data instead of just the name and number strings. * Simplified cdr.c set_one_cid(). It hand coded the ast_callerid_merge() function. * Corrected some weirdness with app_privacy.c's use of caller presentation. Review: https://reviewboard.asterisk.org/r/702/ 2010-07-14 11:51 +0000 [r276268] Leif Madsen * /, configs/voicemail.conf.sample: Merged revisions 276267 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r276267 | lmadsen | 2010-07-14 06:49:01 -0500 (Wed, 14 Jul 2010) | 1 line Update documentation for voicemail.conf externpass option. ........ 2010-07-13 22:18 +0000 [r276219] David Vossel * channels/chan_sip.c, channels/sip/include/sip.h: chan_sip: RFC compliant retransmission timeout Retransmission of packets should not be based on how many packets were sent, but instead on a timeout period. Depending on whether or not the packet is for a INVITE or NON-INVITE transaction, the number of packets sent during the retransmission timeout period will be different, so timing out based on the number of packets sent is not accurate. This patch fixes this by removing the retransmit limit and only stopping retransmission after a timeout period is reached. By default this timeout period is 64*(Timer T1) for both INVITE and non-INVITE transactions. For more information on sip timer values refer to RFC3261 Appendix A. Review: https://reviewboard.asterisk.org/r/749/ 2010-07-13 21:42 +0000 [r276206] Terry Wilson * channels/sip/include/dialog.h, channels/chan_sip.c: Revert early destruction of RTP sessions Some code improperly assumes that the sessions are still there, so revert the change until I can find all of them and fix them. 2010-07-13 19:15 +0000 [r276124-276127] Russell Bryant * /: Recorded merge of revisions 276126 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r276126 | russell | 2010-07-13 14:14:54 -0500 (Tue, 13 Jul 2010) | 2 lines Only reset a CDR that exists. ........ * /, main/features.c: Merged revisions 276123 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r276123 | russell | 2010-07-13 14:06:53 -0500 (Tue, 13 Jul 2010) | 2 lines Use chan->cdr instead of chan_cdr (just like peer->cdr instead of peer_cdr in the last commit). ........ 2010-07-13 19:05 +0000 [r276114-276122] Tilghman Lesher * funcs/func_env.c: Oops, XML documentation fix. * funcs/func_env.c: It really cannot fail in the places below, but the stupid compiler doesn't know that. * funcs/func_env.c: Weird compiler error on Bamboo. * funcs/func_env.c, CHANGES, tests/test_func_file.c (added): FILE() now supports line-mode and writing (altering) files. (closes issue #16461) Reported by: skyman Patches: 20100622__issue16461.diff.txt uploaded by tilghman (license 14) Tested by: tilghman Review: https://reviewboard.asterisk.org/r/737/ 2010-07-13 17:37 +0000 [r276074] Jeff Peeler * /, apps/app_meetme.c: Merged revisions 275773 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r275773 | jpeeler | 2010-07-12 15:34:51 -0500 (Mon, 12 Jul 2010) | 12 lines Make user removals and traversals thread safe in meetme. Race conditions present in meetme involving the user list where a lack of locking has the potential for a user to be removed during a traversal or as in the case of the reporter after checking if the list is empty could cause a crash. Fixing this was done by convering the userlist to an ao2 container. (closes issue #17390) Reported by: Vince Review: https://reviewboard.asterisk.org/r/746/ ........ 2010-07-13 17:11 +0000 [r275998] Terry Wilson * channels/sip/include/dialog.h, channels/chan_sip.c: Destroy RTP fds when we schedule final dialog destruction Since we are only keeping the dialog around for retransmissions at this point and there is no possibility that we are still handling RTP, go ahead and destroy the RTP sessions. Keeping them alive for 32 past when they are used is unnecessary and can lead to problems with having too many open file descriptors, etc. 2010-07-13 16:53 +0000 [r275995] Russell Bryant * /, main/features.c: Merged revisions 275994 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r275994 | russell | 2010-07-13 11:51:18 -0500 (Tue, 13 Jul 2010) | 14 lines Access peer->cdr directly instead of through a saved off reference. At this point in the code, it is possible that peer_cdr may be invalid. Specifically, in the blind transfer code, CDRs are swapped between channels. So, peer_cdr is no longer == peer->cdr. The scenario that exposed a crash in this code was a blind transfer that hit the system call limit, causing the transferee channel to get destroyed after the transfer attempt failed. Even if it succeeds and this code doesn't crash, this code was still trying to reset a CDR on a channel that was now owned by a different thread, which is a BadThing(tm). (ABE-2417) ........ 2010-07-13 14:48 +0000 [r275910] Tilghman Lesher * contrib/scripts/realtime_pgsql.sql (removed), contrib/scripts/iax-friends.sql (removed), /, contrib/realtime/mysql/iaxfriends.sql, contrib/scripts/meetme.sql (removed), contrib/realtime (added), contrib/realtime/postgresql, contrib/realtime/postgresql/realtime.sql, contrib/realtime/mysql, contrib/realtime/oracle, contrib/scripts/sip-friends.sql (removed), contrib/realtime/mysql/sipfriends.sql, contrib/realtime/mysql/voicemail.sql, contrib/scripts/vmdb.sql (removed), contrib/realtime/mysql/meetme.sql, contrib/realtime/sqlserver: Merged revisions 275909 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r275909 | tilghman | 2010-07-13 09:47:30 -0500 (Tue, 13 Jul 2010) | 2 lines Move SQL scripts into their own database-specific directories. ........ 2010-07-13 11:41 +0000 [r275863] Russell Bryant * configs/voicemail.conf.sample, contrib/scripts/voicemailpwcheck.py (added): Add example script for use with the externpasscheck voicemail.conf option. (closes issue #17628) Reported by: lmadsen Tested by: russell, lmadsen Review: https://reviewboard.asterisk.org/r/774/ 2010-07-12 23:27 +0000 [r275816] Terry Wilson * channels/chan_sip.c: Don't try to ref authpeer when it isn't set 2010-07-12 17:54 +0000 [r275725] Richard Mudgett * main/channel.c: Add which ITU spec specifies the numbering plan. 2010-07-12 17:21 +0000 [r275682] Jeff Peeler * main/channel.c, /: Merged revisions 275665 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r275665 | jpeeler | 2010-07-12 11:58:39 -0500 (Mon, 12 Jul 2010) | 11 lines Change ast_write to not stop generator when called from ast_prod. For SIP channels configured with the progressinband option on, the ringback was being immediately stopped. This problem was due to ast_prod being moved for a deadlock fix in 259858. Prodding the channel after setting up the generator triggered the check in ast_write to stop the generator. The fix here should write the frame the same as was done before the call to ast_prod was moved. (closes issue #17372) Reported by: tech_admin ........ 2010-07-12 15:37 +0000 [r275626] Leif Madsen * cdr/cdr_pgsql.c: cdr_pgsql does not detect when a table is found. This change adds an ERROR message to let you know when a failure exists to get the columns from the pgsql database, which typically means that the table does not exist. (closes issue #17478) Reported by: kobaz Patches: cdr_pgsql.patch uploaded by kobaz (license 834) Tested by: kobaz, russell, lmadsen 2010-07-12 14:55 +0000 [r275587] Mark Michelson * main/netsock2.c: Allow netsock2.c to compile on systems that do not define AI_NUMERICSERV. (closes issue #17617) Reported by: pprindeville Patches: asterisk-trunk-bugid17617.patch uploaded by pprindeville (license 347) 2010-07-12 04:16 +0000 [r275551] TransNexus OSP Development * configs/osp.conf.sample, apps/app_osplookup.c: Added support for indirect work mode. 2010-07-10 20:49 +0000 [r275509] Eliel C. Sardanons * apps/app_meetme.c: When creating a conference for a unit test, it is not mandatory to open a dahdi pseudo channel, so if we fail doing it, continue creating the conference. 2010-07-10 14:48 +0000 [r275424-275467] Russell Bryant * CHANGES: Make indentation consistent, move some queue features to the queue section. * CREDITS, channels/chan_unistim.c, configs/unistim.conf.sample, CHANGES: Add support for devices with less than 3 lines on the LCD. (closes issue #17600) Reported by: minaguib Patches: ast_unistim_height_v2.patch uploaded by minaguib (license 1078) Tested by: minaguib * main/features.c, configs/features.conf.sample: Fix some issues related to dynamic feature groups in features.conf. The bridge handling code did not properly consider feature groups when setting parameters that would affect whether or not a native bridge would be attempted. If DYNAMIC_FEATURES only include a feature group, a native bridge would occur that may prevent features from working. Fix a bug in verbose output that would show the key mapping as empty if it was using the default mapping and not a custom mapping in the feature group. Add feature groups to the output of "features show". Adjust the feature execution logic to match that of the logic when executing a feature that was not configured through a feature group. Update features.conf.sample to show that an '=' is still required if using the default key mapping from [applicationmap]. Finally, clean up a little bit of formatting to better coform to coding guidelines while in the area. (closes issue #17589) Reported by: lmadsen Patches: issue_17589.rev4.txt uploaded by russell (license 2) Tested by: russell, lmadsen 2010-07-09 20:58 +0000 [r275385] Mark Michelson * channels/chan_sip.c: Fix error in parsing SIP registry strings from ASTdb. It was essentially an off-by-one error. The easiest way to fix this was to use the handy-dandy AST_NONSTANDARD_RAW_ARGS macro to parse the pieces of the registration string out. Tested and it works wonderfully. 2010-07-09 20:01 +0000 [r275312] Tilghman Lesher * apps/app_meetme.c, channels/chan_iax2.c: Get more information about the Bamboo test failures 2010-07-09 19:58 +0000 [r275309-275310] Russell Bryant * main/features.c: Add missing ao2_iterator_destroy(). * apps/app_voicemail.c: Fix compile error. 2010-07-09 19:46 +0000 [r275308] Mark Michelson * channels/chan_sip.c: Fix port parsing in check_via. If a Via header contained an IPv6 address, we would not properly parse the port. We would instead get the information after the first colon in the address. (closes issue #17614) Reported by: oej Patches: diff uploaded by sperreault (license 252) 2010-07-09 19:32 +0000 [r275307] Paul Belanger * CHANGES, apps/app_voicemail.c: Include rdnis in msgXXXX.txt file. (closes issue #17566) Reported by: outcast Patches: voicemail-rdnis.patch uploaded by outcast (license 1071) Tested by: outcast 2010-07-09 19:29 +0000 [r275294] Mark Michelson * channels/chan_sip.c: Fix an issue where the port for p->ourip was being set to 0. This should fix all the CDR tests that were not passing. When they would originate a call, all fields in the INVITE that contained the source port would have the port set to 0. Most troubling of these was the Contact header. Tests are passing locally now and should also pass on the bamboo build agents. 2010-07-09 19:21 +0000 [r275249] Paul Belanger * /, channels/chan_sip.c: Merged revisions 275241 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r275241 | pabelanger | 2010-07-09 15:20:00 -0400 (Fri, 09 Jul 2010) | 8 lines Fix logging message for stale nonce. (closes issue #17582) Reported by: kenner Patches: chan_sip.c.diff uploaded by kenner (license 1040) Tested by: lmadsen ........ 2010-07-09 18:55 +0000 [r275227] Tilghman Lesher * apps/app_meetme.c, channels/chan_iax2.c: Weird, no output and Bamboo still fails... 2010-07-09 18:24 +0000 [r275186] Matthew Nicholson * /, main/loader.c: Merged revisions 275182 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r275182 | mnicholson | 2010-07-09 13:23:23 -0500 (Fri, 09 Jul 2010) | 2 lines give a better error message when attempting to unload a module that is not loaded ........ 2010-07-09 18:21 +0000 [r275172] Tilghman Lesher * apps/app_meetme.c, channels/chan_iax2.c: Add some diagnostic feedback to our data tests 2010-07-09 18:11 +0000 [r275147] Russell Bryant * configs/features.conf.sample: Move parking lot sample config out from the middle of dynamic features sample config. 2010-07-09 17:50 +0000 [r275144] Matthew Nicholson * /, main/loader.c: Merged revisions 275143 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r275143 | mnicholson | 2010-07-09 12:50:05 -0500 (Fri, 09 Jul 2010) | 2 lines don't unload modules that returned AST_MODULE_LOAD_DECLINE when they were loaded ........ 2010-07-09 17:00 +0000 [r275105] Tilghman Lesher * main/netsock2.c, tests/test_substitution.c, tests/test_heap.c, apps/app_meetme.c, tests/test_gosub.c, funcs/func_strings.c, tests/test_event.c, channels/sip/reqresp_parser.c, channels/chan_iax2.c, tests/test_stringfields.c, tests/test_time.c, tests/test_devicestate.c, tests/test_utils.c, main/features.c, res/res_agi.c, include/asterisk/netsock2.h, tests/test_astobj2.c, channels/chan_sip.c, tests/test_ast_format_str_reduce.c, tests/test_app.c, funcs/func_math.c, include/asterisk/channel.h, tests/test_sched.c, tests/test_pbx.c, tests/test_strings.c, main/data.c, tests/test_skel.c, tests/test_acl.c, channels/sip/dialplan_functions.c, tests/test_aoc.c, main/test.c, channels/sip/config_parser.c, res/res_timing_kqueue.c, apps/app_voicemail.c: Kill some startup warnings and errors and make some messages more helpful in tracking down the source. 2010-07-09 16:39 +0000 [r275104] Mark Michelson * channels/chan_sip.c: Return logic of sip_debug_test_addr() to its original functionality. 2010-07-09 16:05 +0000 [r275028] Matthew Nicholson * apps/app_dial.c, /: Merged revisions 275027 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r275027 | mnicholson | 2010-07-09 11:04:21 -0500 (Fri, 09 Jul 2010) | 8 lines Clear the AST_CDR_FLAG_DIALED flag for channels going into the pbx via the G option in app_dial (closes issue #17592) Reported by: jamicque Patches: G-flag-cdr-fix1.diff uploaded by mnicholson (license 96) Tested by: jamicque, mnicholson ........ 2010-07-09 15:35 +0000 [r275022] Russell Bryant * include/asterisk/test.h, /, main/test.c: Merged revisions 275021 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r275021 | russell | 2010-07-09 10:33:08 -0500 (Fri, 09 Jul 2010) | 4 lines Document that a leading and trailing slash is expected for test categories. Also, emit a warning if a test is registered without one of these. ........ 2010-07-09 14:27 +0000 [r274984] Mark Michelson * channels/sip/reqresp_parser.c: Fix sip_uri_parse test comparison. Part of the change with the IPv6 changes is to treat a host:port as a single 'domain' entity. This test was not updated to have the correct expectation after calling parse_uri(). 2010-07-09 13:30 +0000 [r274909-274947] * channels/chan_sip.c: Copy the address into the peer structure after we set the default port * main/netsock2.c: Sadly we can't dereference a pointer cast and use it as an lvalue without getting this warning (at least with gcc 4.4.4): netsock2.c:492: warning: dereferencing pointer ‘({anonymous})’ does break strict-aliasing rules So we're back to using memcpy()... 2010-07-09 12:48 +0000 [r274907] Russell Bryant * include/asterisk/indications.h: Extend length limit on country name in indications.conf. 2010-07-09 11:06 +0000 [r274866] Olle Johansson * configs/cdr.conf.sample, cdr/cdr_csv.c: Make it possible to disable individual cdr files per accountcode in cdr_csv Review: https://reviewboard.asterisk.org/r/678/ 2010-07-08 23:46 +0000 [r274827-274828] Richard Mudgett * channels/chan_jingle.c, channels/chan_h323.c, channels/chan_gtalk.c: Fix calls of ast_sockaddr_from_sin() from IPv6 integration. * addons/chan_ooh323.c: Fix compile of chan_ooh323.c from IPv6 integration. 2010-07-08 22:16 +0000 [r274783-274786] Mark Michelson * /: And the automerge property. * /: Delete properties I merged during v6-new merge. * channels/chan_unistim.c, include/asterisk/acl.h, main/netsock2.c (added), channels/sip/include/dialog.h, channels/chan_multicast_rtp.c, addons/chan_ooh323.c, main/rtp_engine.c, /, channels/sip/reqresp_parser.c, include/asterisk/tcptls.h, channels/chan_gtalk.c, channels/chan_iax2.c, main/config.c, res/res_rtp_multicast.c, main/manager.c, channels/chan_skinny.c, channels/sip/include/globals.h, main/http.c, main/app.c, include/asterisk/netsock2.h (added), apps/app_externalivr.c, configs/sip.conf.sample, include/asterisk/rtp_engine.h, channels/sip/include/sip.h, channels/chan_mgcp.c, channels/sip/include/reqresp_parser.h, res/res_rtp_asterisk.c, main/dnsmgr.c, channels/chan_sip.c, include/asterisk/config.h, main/acl.c, CHANGES, channels/chan_jingle.c, main/tcptls.c, channels/sip/dialplan_functions.c, channels/chan_h323.c, include/asterisk/dnsmgr.h: Add IPv6 to Asterisk. This adds a generic API for accommodating IPv6 and IPv4 addresses within Asterisk. While many files have been updated to make use of the API, chan_sip and the RTP code are the files which actually support IPv6 addresses at the time of this commit. The way has been paved for easier upgrading for other files in the near future, though. Big thanks go to Simon Perrault, Marc Blanchet, and Jean-Philippe Dionne for their hard work on this. (closes issue #17565) Reported by: russell Patches: asteriskv6-test-report.pdf uploaded by russell (license 2) Review: https://reviewboard.asterisk.org/r/743 2010-07-08 22:05 +0000 [r274773-274782] Richard Mudgett * main/channel.c: Generate a correct AstData string for ast_callerid.cid_ton * main/channel.c: Fix trunk compile. 2010-07-08 14:48 +0000 [r274727] Eliel C. Sardanons * main/pbx.c, channels/chan_sip.c, apps/app_meetme.c, include/asterisk/indications.h, channels/chan_agent.c, include/asterisk/channel.h, include/asterisk/cdr.h, include/asterisk/data.h, channels/chan_iax2.c, apps/app_queue.c, main/indications.c, main/channel.c, main/cdr.c, channels/chan_dahdi.c, main/data.c, res/res_odbc.c, apps/app_voicemail.c: Implement AstData API data providers as part of the GSOC 2010 project, midterm evaluation. Review: https://reviewboard.asterisk.org/r/757/ 2010-07-07 20:09 +0000 [r274686] David Vossel * channels/chan_sip.c: Fixes some ref count issues introduced by r274539 2010-07-07 18:32 +0000 [r274595-274639] Richard Mudgett * channels/chan_dahdi.c: Add missing conditional around chan_dahdi mfcr2_skip_category config parameter. * channels/chan_dahdi.c, /: Merged revisions 274579 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r274579 | rmudgett | 2010-07-07 13:12:41 -0500 (Wed, 07 Jul 2010) | 1 line Close the DAHDI FD on error when processing chan_dahdi toneduration config parameter. ........ 2010-07-07 16:40 +0000 [r274540] Matthew Nicholson * res/res_fax.c: Set proper FAXOPT(status), FAXOPT(statusstr), and FAXOPT(error) values where possible. Previously some failure cases did not result in proper FAXOPT values. FAX-203 2010-07-07 16:21 +0000 [r274539] Mark Michelson * channels/chan_sip.c: Use the relatedpeer field of a sip_pvt during INVITE processing. Review: https://reviewboard.asterisk.org/r/629 2010-07-07 07:07 +0000 [r274492] TransNexus OSP Development * configs/osp.conf.sample, doc/osp.txt: Changed OSP TCP port from 1080 to 5045. 2010-07-07 06:32 +0000 [r274418-274491] Tilghman Lesher * CHANGES, apps/app_voicemail.c: Also run the externnotify script when the pollmailboxes thread notices a change. * /, configs/say.conf.sample: Merged revisions 274417 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r274417 | tilghman | 2010-07-07 01:13:54 -0500 (Wed, 07 Jul 2010) | 8 lines Correct how 100, 200, 300, etc. is said. Also add the crazy British numbers. (closes issue #16102) Reported by: Delvar Patches: say.conf.fix.patch uploaded by Delvar (license 908) (plus a few additional fixes and simplifications by me) ........ 2010-07-06 22:23 +0000 [r274316] Jeff Peeler * /, configs/sip.conf.sample: Merged revisions 274283 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r274283 | jpeeler | 2010-07-06 17:15:21 -0500 (Tue, 06 Jul 2010) | 7 lines Correct sip.conf.sample comments for prematuremedia option. (closes issue #17513) Reported by: festr Patches: patch uploaded by festr (license 443) ........ 2010-07-06 22:15 +0000 [r274284] Terry Wilson * /, channels/chan_sip.c, UPGRADE.txt: Merged revisions 274280 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r274280 | twilson | 2010-07-06 17:08:20 -0500 (Tue, 06 Jul 2010) | 9 lines Add option to not do a call forward on 482 Loop Detected Asterisk has always set up a forwarded call when receiving a 482 Loop Detected. This prevents handling the call failure by just continuing on in the dialplan. Since this would be a change in behavior, the new option to disable this behavior is forwardloopdetected which defaults to 'yes'. Review: https://reviewboard.asterisk.org/r/764/ ........ (no option for trunk, just changing the behavior) 2010-07-06 22:09 +0000 [r274281] Tilghman Lesher * channels/chan_dahdi.c: Status shows all non-CRC4 lines as "yellow", even if "yellow" was not in the bitfield. 2010-07-06 19:53 +0000 [r274243] Matthew Nicholson * res/res_fax.c: Properly detect and report invalid maxrate and maxrate values in the FAXOPT dialplan function. Also make fax_rate_str_to_int() return an unsigned int and return 0 instead of -1 in the event of an error. FAX-202 2010-07-06 14:31 +0000 [r274164] Mark Michelson * res/res_rtp_asterisk.c, /: Merged revisions 274157 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r274157 | mmichelson | 2010-07-06 09:29:23 -0500 (Tue, 06 Jul 2010) | 16 lines Fix problem with RFC 2833 DTMF not being accepted. A recent check was added to ensure that we did not erroneously detect duplicate DTMF when we received packets out of order. The problem was that the check did not account for the fact that the seqno of an RTP stream will roll over back to 0 after hitting 65535. Now, we have a secondary check that will ensure that the seqno rolling over will not cause us to stop accepting DTMF. (closes issue #17571) Reported by: mdeneen Patches: rtp_seqno_rollover.patch uploaded by mmichelson (license 60) Tested by: richardf, maxochoa, JJCinAZ ........ 2010-07-06 06:01 +0000 [r274053] Tilghman Lesher * main/pbx.c: Uh, yeah. 2010-07-05 13:53 +0000 [r273886] Paul Belanger * /, main/config.c: Merged revisions 273884 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r273884 | pabelanger | 2010-07-05 09:51:29 -0400 (Mon, 05 Jul 2010) | 8 lines Remove extra line breaks from 'core show config mappings' (closes issue #17583) Reported by: pabelanger Patches: issue17583.patch uploaded by pabelanger (license 224) Tested by: lmadsen ........ 2010-07-03 02:36 +0000 [r273714-273830] Tilghman Lesher * channels/chan_local.c, /, channels/chan_agent.c, channels/chan_h323.c, include/asterisk/lock.h: Merged revisions 273793 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r273793 | tilghman | 2010-07-02 16:36:39 -0500 (Fri, 02 Jul 2010) | 9 lines Have the DEADLOCK_AVOIDANCE macro warn when an unlock fails, to help catch potentially large software bugs. (closes issue #17407) Reported by: pdf Patches: 20100527__issue17407.diff.txt uploaded by tilghman (license 14) Review: https://reviewboard.asterisk.org/r/751/ ........ * main/autoservice.c, /: Merged revisions 273717 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r273717 | tilghman | 2010-07-02 12:09:47 -0500 (Fri, 02 Jul 2010) | 8 lines Autoservice loop optimization causes a busy loop, when channels are serviced while in hangup. (closes issue #17564) Reported by: ramonpeek Patches: 20100630__issue17564.diff.txt uploaded by tilghman (license 14) Tested by: ramonpeek ........ * apps/app_queue.c: The switch fallthrough could create some errorneous situations, so best to force directly to the default case. 2010-07-02 15:57 +0000 [r273641] Tzafrir Cohen * channels/chan_dahdi.c, channels/chan_misdn.c, channels/chan_sip.c, main/say.c, main/fixedjitterbuf.c, res/res_agi.c, channels/chan_h323.c, main/utils.c, channels/chan_iax2.c, addons/chan_mobile.c, apps/app_rpt.c, channels/chan_mgcp.c, main/xmldoc.c, apps/app_voicemail.c, apps/app_while.c: Fix various typos reported by Lintian (Also fix the typos in the comments) 2010-07-01 22:16 +0000 [r273566] Russell Bryant * /, main/datastore.c: Merged revisions 273565 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r273565 | russell | 2010-07-01 17:09:19 -0500 (Thu, 01 Jul 2010) | 7 lines Don't return a partially initialized datastore. If memory allocation fails in ast_strdup(), don't return a partially initialized datastore. Bad things may happen. (related to ABE-2415) ........ 2010-07-01 20:28 +0000 [r273522] Jeff Peeler * /, apps/app_meetme.c: Merged revisions 273474 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r273474 | jpeeler | 2010-07-01 15:19:16 -0500 (Thu, 01 Jul 2010) | 14 lines Allow admin user to join conference without using admin mode and no user pin. Configuring the conference in meetme.conf like the following: conf => 2345,,6666 did not prompt for pin when used without admin mode. This meant that the conference could not be joined as an admin even if the user knew the correct pin. The original bug report was submitted claiming that the blank user pin should deny entry into the conference. I think a better way to handle this would be with a feature enhancement that used the following syntax: conf => 2345,X,6666 - where X denotes no acceptable pin allowed (closes issue #15704) Reported by: modelnine ........ 2010-07-01 19:34 +0000 [r273464] Matthew Nicholson * res/res_fax.c: Properly handle failures of fax->start_session() FAX-177 2010-07-01 16:40 +0000 [r273427] David Vossel * channels/chan_sip.c, channels/sip/include/sip.h: correct handling of get_destination return values A failure when calling the get_destination can mean multiple things. If the extension is not found, a 404 error is appropriate, but if the URI scheme is incorrect, a 404 is not approperiate. This patch adds the get_destination_result enum to differentiate between these and other failure types. The only logical difference in this patch is that we now send a "416 Unsupported URI scheme" response instead of a "404" when the scheme is not recognized. This indicates to the initiator of the INVITE to retry the request with a correct URI. 2010-07-01 15:12 +0000 [r273355] Jeff Peeler * /, apps/app_meetme.c: Merged revisions 273354 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r273354 | jpeeler | 2010-07-01 10:05:43 -0500 (Thu, 01 Jul 2010) | 12 lines Ensure channel placed in meetme in ringing state is properly hung up. An outgoing channel placed in meetme while still ringing which was then hung up would not exit meetme and the channel was not properly destroyed. Specifically checking for this scenario by looking at the appropriate control frames resolves the issue. (closes issue #15871) Reported by: Ivan Patches: meetme_congestion_trunk_v2.patch uploaded by Ivan (license 229) ........ 2010-07-01 14:37 +0000 [r273270-273352] Matthew Nicholson * main/manager.c: Fixed whitespace problems * main/manager.c: Altered my comment about TCP_NODELAY * addons/chan_mobile.c: Don't free written frames in chan_mobile's mbl_write() function. (closes issue #16430) Reported by: azbest Tested by: azbest * main/manager.c: Set TCP_NODELAY on manager TCP sockets to prevent delays on outgoing packets. This regression was introduced in r48338. AST-359 2010-06-30 17:28 +0000 [r273233] Paul Belanger * res/res_rtp_asterisk.c: Fix rt(c)p set debug ip taking wrong argument Also clean up some coding errors. (closes issue #17469) Reported by: wdoekes Patches: astsvn-rtp-set-debug-ip.patch uploaded by wdoekes (license 717) Tested by: wdoekes, pabelanger 2010-06-30 17:17 +0000 [r273197-273198] Richard Mudgett * include/asterisk/config.h: Remove unnecessary if test in CV_DSTR() * include/asterisk/config.h: Misc doxygen cleanup in config.h 2010-06-30 01:07 +0000 [r273054-273144] Tilghman Lesher * main/manager.c: Permission checking for the system application is backwards. (closes issue #17550) Reported by: kenner Patches: manager.c.diff uploaded by kenner (license 1040) Tested by: kenner * main/config.c: Don't attempt to proceed if our internal parser indicates an invalid file. (closes issue #17560) Reported by: Nick_Lewis * /, channels/chan_sip.c: Merged revisions 273060 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r273060 | tilghman | 2010-06-29 18:15:28 -0500 (Tue, 29 Jun 2010) | 10 lines Allow the "useragent" value to be restored into memory from the realtime backend. This value is purely informational. It does not alter configuration at all. (closes issue #16029) Reported by: Guggemand Patches: realtime-useragent.patch uploaded by Guggemand (license 897) Tested by: Guggemand ........ * /: Recorded merge of revisions 273057 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r273057 | tilghman | 2010-06-29 17:58:58 -0500 (Tue, 29 Jun 2010) | 4 lines _Really_ skip the channel... don't just retry for another 200 cycles. (Closes issue SWP-1652, ABE-2240) ........ * configure, include/asterisk/autoconfig.h.in, configure.ac: Exclude libical for insufficient versions. * main/pbx.c: Send DialPlanComplete as a response, not as a separate event. Otherwise, it goes to all manager sessions and may exclude the current session, if the Events mask excludes it. (closes issue #17504) Reported by: rrb3942 Patches: showdialplan_patch.diff uploaded by rrb3942 (license 1003) Tested by: rrb3942 2010-06-29 20:44 +0000 [r272981] David Vossel * channels/chan_sip.c: send a 400 Bad Request on malformed sip request RFC 2361 section 24.4.1 send a 400 Bad Request if the request can not be understood due to malformed syntax. Currently we simply ignore a packet with a missing callid, to, from, or via header. Instead of ignoring we now send the 400 Bad request. 2010-06-28 21:50 +0000 [r272923-272926] Tilghman Lesher * /, main/asterisk.c: Merged revisions 272925 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r272925 | tilghman | 2010-06-28 16:50:02 -0500 (Mon, 28 Jun 2010) | 8 lines Don't change ownership/group/permissions on run directory, if it already exists. (closes issue #17076) Reported by: stuarth Patches: 20100324__issue17076.diff.txt uploaded by tilghman (license 14) Tested by: stuarth ........ * /, main/config.c: Merged revisions 272921-272922 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r272921 | tilghman | 2010-06-28 16:29:27 -0500 (Mon, 28 Jun 2010) | 8 lines Change the way that we read include files, to accommodate for changes in GCC 4.4. (closes issue #17472) Reported by: seandarcy Patches: config2.patch uploaded by nivan (license 1066) Tested by: nivan ........ r272922 | tilghman | 2010-06-28 16:38:49 -0500 (Mon, 28 Jun 2010) | 2 lines Also trim trailing blanks on #includes ........ 2010-06-28 18:38 +0000 [r272880] David Vossel * channels/chan_sip.c, channels/sip/reqresp_parser.c, channels/sip/include/sip.h, channels/sip/include/reqresp_parser.h: rfc compliant sip option parsing + new unit test RFC 3261 section 8.2.2.3 states that if any unsupported options are found in the Require header field, a "420 (Bad Extension)" response should be sent with an Unsupported header field containing only the unsupported options. This is not currently being done correctly. Right now, if Asterisk detects any unsupported sip options in a Require header the entire list of options are returned in the Unsupported header even if some of those options are in fact supported. This patch fixes that by building an unsupported options character buffer when parsing the options that can be sent with the 420 response. A unit test verifying this functionality has been created. Some code refactoring was required. Review: https://reviewboard.asterisk.org/r/680/ 2010-06-28 17:33 +0000 [r272805] Mark Michelson * /, channels/chan_sip.c: Merged revisions 272804 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r272804 | mmichelson | 2010-06-28 12:31:40 -0500 (Mon, 28 Jun 2010) | 5 lines Decode URI in contact header of 302 response. ABE-2352 ........ 2010-06-28 15:33 +0000 [r272684] Russell Bryant * doc/tex/chan-mobile.tex (added), doc/tex/celdriver.tex, doc/tex/chan_mobile.tex (removed), doc/tex/cdrdriver.tex, doc/tex/asterisk.tex, doc/tex/cel-doc.tex: Use the underscore package so that underscores do not need to be escaped. 2010-06-28 14:55 +0000 [r272652] David Vossel * channels/chan_sip.c: code guidelines cleanup for retrans_pkt() function I am doing work in this function. I noticed a large number of coding guidline fixes that needed to be made. Rather than have those changes distract from my functional changes I decided to separate these into a separate patch. 2010-06-25 20:18 +0000 [r272568] Tilghman Lesher * /, doc/voicemail_odbc_postgresql.txt: Merged revisions 272562 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r272562 | tilghman | 2010-06-25 15:17:37 -0500 (Fri, 25 Jun 2010) | 5 lines Make the structure of the table specified before match the queries and results. (closes issue #17557) Reported by: cmaj ........ 2010-06-25 19:42 +0000 [r272558] Matthew Nicholson * res/res_fax.c, include/asterisk/res_fax.h: Implemement support for handling multiple documents when sending. 2010-06-25 19:39 +0000 [r272557] David Vossel * channels/chan_sip.c: chan_sip: more accurate retransmissions RFC3261 states that Timer A should start at 500ms (T1) by default. In chan_sip this value initially started at 1000ms and I changed it to 500ms recently. After doing that I noticed in my packet captures that it still occasionally retransmitted starting at 1000ms instead of 500ms like I told it to. This occurs because the scheduler runs in the do_monitor thread. If a new retransmission is added while the do_monitor thread is sleeping then it may not detect that retransmission for nearly 1000ms. To fix this I just poke the do_monitor thread to wake up when a new packet is sent reliably requiring retransmits. The thread then detects the new scheduler entry and adjusts its sleep time to account for it. Review: https://reviewboard.asterisk.org/r/747 2010-06-25 19:17 +0000 [r272533] Tilghman Lesher * sounds/Makefile: Symlink sounds files, to save disk space, when multiple tarballs/checkouts are on the same system. 2010-06-24 22:11 +0000 [r272447] Richard Mudgett * /, channels/sig_pri.c: Merged revisions 272446 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r272446 | rmudgett | 2010-06-24 16:58:49 -0500 (Thu, 24 Jun 2010) | 10 lines ss_thread calls pri_grab without lock during overlap dial Recent changes to chan_dahdi with relation to overlap dialing call pri_grab without first obtaining a lock. (closes issue #17414) Reported by: pdf Patches: bug17414.patch uploaded by jpeeler (license 325) ........ 2010-06-23 23:09 +0000 [r272370] Russell Bryant * channels/chan_iax2.c: Resolve some errors produced during module unload of chan_iax2. The external test suite stops Asterisk using the "core stop gracefully" command. The logs from the tests show that there are a number of problems with Asterisk trying to cleanly shut down. This patch addresses the following type of error that comes from chan_iax2: [Jun 22 16:58:11] ERROR[29884]: lock.c:129 __ast_pthread_mutex_destroy: chan_iax2.c line 11371 (iax2_process_thread_cleanup): Error destroying mutex &thread->lock: Device or resource busy For an example in the context of a build, see: http://bamboo.asterisk.org/browse/AST-TRUNK-739/log The primary purpose of this patch is to change the thread pool shutdown procedure to be more explicit to ensure that the thread exits from a point where it is not holding a lock. While testing that, I encountered various crashes due to the order of operations in unload_module() being problematic. I reordered some things there, as well. Review: https://reviewboard.asterisk.org/r/736/ 2010-06-23 22:36 +0000 [r272368] Matthew Nicholson * /, apps/app_queue.c: Merged revisions 272367 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 This version of the patch only adds AgentComplete for attended transfers. It was already present for blind transfers. ........ r272367 | mnicholson | 2010-06-23 17:33:51 -0500 (Wed, 23 Jun 2010) | 8 lines Send AgentComplete manager events in the event of blind and attended transfers. (closes issue #16819) Reported by: elbriga Patches: app_queue.diff uploaded by elbriga (license 482) ........ 2010-06-23 21:53 +0000 [r272260-272332] Tilghman Lesher * res/res_musiconhold.c: If there is realtime configuration, it does not get re-read on reload unless the config file also changes. (closes issue #16982) Reported by: dmitri Patches: res_musiconhold.patch uploaded by dmitri (license 1001) Tested by: atis * res/ael/ael.tab.c, res/ael/ael.y, res/ael/ael_lex.c, res/ael/ael.flex: Ensure a NULL file while debugging cannot crash AEL. (closes issue #17215) Reported by: vazir Patches: 20100518__issue17215.diff.txt uploaded by tilghman (license 14) Tested by: tilghman 2010-06-23 21:06 +0000 [r272257-272259] Paul Belanger * apps/app_meetme.c: Fix previous merge. ast_test_flag != ast_test_flag64 * /, apps/app_meetme.c: Merged revisions 272255 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r272255 | pabelanger | 2010-06-23 16:57:01 -0400 (Wed, 23 Jun 2010) | 12 lines First caller into a dynamic conference now enter pin once. If MeetMe is configured to use dynamic conference numbers, then the first caller (which creates the conference) had to enter the PIN number twice. (closes issue #15878) Reported by: shawkris Patches: issue15878.patch uploaded by pabelanger (license 224) Tested by: pabelanger ........ 2010-06-23 20:59 +0000 [r272254-272256] Terry Wilson * configure, include/asterisk/autoconfig.h.in: Update configure when changing autconf m4 files... * autoconf/ast_ext_tool_check.m4: Honor the --with-${library}=path for AST_EXT_TOOL_CHECK (closes issue #16991) Reported by: pprindeville Patches: with_netsnmp.patch.txt uploaded by twilson (license 396) Tested by: twilson Review: https://reviewboard.asterisk.org/r/739/ 2010-06-23 20:35 +0000 [r272243-272252] Paul Belanger * main/manager.c: Correct manager variable 'EventList' case. (closes issue #17520) Reported by: kobaz Patches: manager.patch uploaded by kobaz (license 834) Tested by: lmadsen * configs/say.conf.sample: Add localization support for Spanish (closes issue #17548) Reported by: cjacobsen Patches: say.conf.sample.diff uploaded by cjacobsen (license 1029) 2010-06-23 19:59 +0000 [r272218] Tim Ringenbach * channels/chan_local.c: Add new AMI command LocalOptimizeAway. This command lets you request a "/n" local channel optimize itself out of the way anyway. Review: https://reviewboard.asterisk.org/r/732/ 2010-06-23 18:45 +0000 [r272148-272150] Tilghman Lesher * channels/chan_mgcp.c: D'oh! Defaultenabled FTL. * /: Recorded merge of revisions 272147 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r272147 | tilghman | 2010-06-23 13:40:28 -0500 (Wed, 23 Jun 2010) | 5 lines Backport part of revision 136715 to fix callerid in voicemail text files (IMAP only). (closes issue #16945) Reported by: mneuhauser ........ 2010-06-23 18:39 +0000 [r272146] Terry Wilson * apps/app_meetme.c: Don't start the sla thread unless we realy need it 2010-06-23 18:25 +0000 [r272145] Tilghman Lesher * channels/chan_mgcp.c: Load all lines from realtime, not just the first one. (closes issue #17144) Reported by: nahuelgreco Patches: 20100513__issue17144__trunk.diff.txt uploaded by tilghman (license 14) Tested by: tilghman 2010-06-23 17:21 +0000 [r272109] Terry Wilson * apps/app_meetme.c: Make sure reload updates SLA config Even if there are no stations or trunks defined, we need to start the sla thread to make sure we get the reload event. Also, when doing a reload we need to remove the existing trunks and stations or they end up hanging around. (closes issue #16818) Reported by: mbonin Patches: sla_reload.patch uploaded by twilson (license 396) Tested by: twilson 2010-06-23 17:08 +0000 [r272090] Mark Michelson * channels/chan_sip.c: Add extra protection for reinvite glare scenario. Testing proved that if Asterisk sent a connected line reinvite, and the endpoint to which the reinvite were being sent sent a reinvite, Asterisk would not properly respond with a 491 response. The reason is that on connected line reinvites, we set the dialog's invitestate to INV_CALLING to prevent Asterisk from sending a rapid flurry of connected line reinvites. For other reinvites we do not do this. Because of the current invitestate, when Asterisk received the reinvite, we interpreted this as a spiraled INVITE, and thus did not behave properly. The fix for this is to not enter the loop detection or spiral logic in handle_request_invite if the channel state is currently up. This way, no mid-call reinvites will be misinterpreted, no matter what the nature of the reinvite may have been. 2010-06-22 23:20 +0000 [r272052] Russell Bryant * channels/chan_dahdi.c: Don't try to lock/unlock an uninitialized lock on a dahdi_pri. This small changes prevents destroy_all_channels() from accessing a lock on an unused dahdi_pri struct, resolving a ton of ERRORs that get spewed out when shutting Asterisk down gracefully. 2010-06-22 22:11 +0000 [r271905-272014] David Vossel * pbx/pbx_config.c: fixes issue with 'dialplan remove extension blah' segfaulting with tab completion (closes issue #17440) Reported by: kobaz * channels/chan_sip.c: ignore CANCEL request after having already received final response to INVITE RFC 3261 section 9 states that a CANCEL has no effect on a request to a UAS that has already given a final response. This patch checks to make sure there is a pending invite before allowing a CANCEL request to be processed, otherwise it responds to the CANCEL with a "481 Call/Transaction Does Not Exist". Review: https://reviewboard.asterisk.org/r/697/ * main/manager.c: minor fixes for white/black event filters This fixes a ref count leak in event filters and checks for a filter container allocation failure during session creation. 2010-06-22 17:35 +0000 [r271903] Matthew Nicholson * /, channels/chan_sip.c: Merged revisions 271902 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r271902 | mnicholson | 2010-06-22 12:31:57 -0500 (Tue, 22 Jun 2010) | 8 lines Decrease the module ref count in sip_hangup when SIP_DEFER_BYE_ON_TRANSFER is set. This is necessary to keep the ref count correct. (closes issue #16815) Reported by: rain Patches: chan_sip-unref-fix.diff uploaded by rain (license 327) (modified) Tested by: rain ........ 2010-06-22 16:29 +0000 [r271868] Jeff Peeler * main/manager.c, configs/manager.conf.sample, CHANGES: Add regular expression filtering for manager events. This patch as documented in the sample config allows one to optionally apply white, black, or both types of filtering to manager events. The new 'eventfilter' option is set per user. (closes issue #14861) Reported by: fnordian Patches: eventfilter3.patch uploaded by fnordian (license 110), modified by me Review: https://reviewboard.asterisk.org/r/673/ 2010-06-22 16:28 +0000 [r271833-271867] Russell Bryant * res/ais/clm.c, res/ais/evt.c: Resolve some errors that occur on a graceful shutdown. Don't Finalize() if Initialize() did not succeed. This resulted in an error about trying to Finalize() an invalid handle. Also trim some trailing whitespace while in the area. * res/res_fax.c: Change the method of retrieving the Asterisk version string. Using this method makes it so res_fax doesn't have to be rebuilt on every svn update. 2010-06-22 15:46 +0000 [r271831] David Vossel * main/features.c: fixes attended transfer behavior when both transferee and transferer hung up If both the transferer and transferee of a attended transfer hangup before the new channel picks up, the new channel should be hung up as well as it has no endpoint to talk to. This mirrors the expected behavior used in 1.4. (closes issue #17444) Reported by: corruptor 2010-06-22 15:08 +0000 [r271690-271764] Matthew Nicholson * CHANGES: Updated the CHANGES file documenting the addition of a configurable port in the dundi config file. * configs/dundi.conf.sample, /, pbx/pbx_dundi.c: Merged revisions 271761 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r271761 | mnicholson | 2010-06-22 09:49:36 -0500 (Tue, 22 Jun 2010) | 9 lines Allow users to specify a port for dundi peers. (closes issue #17056) Reported by: klaus3000 Patches: dundi-peerport-patch-trunk.txt uploaded by klaus3000 (license 65) Tested by: klaus3000 ........ * /, channels/chan_sip.c, include/asterisk/strings.h, channels/sip/include/sip.h: Merged revisions 271689 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r271689 | mnicholson | 2010-06-22 07:52:27 -0500 (Tue, 22 Jun 2010) | 8 lines Modify chan_sip's packet generation api to automatically calculate the Content-Length. This is done by storing packet content in a buffer until it is actually time to send the packet, at which time the size of the packet is calculated. This change was made to ensure that the Content-Length is always correct. (closes issue #17326) Reported by: kenner Tested by: mnicholson, kenner Review: https://reviewboard.asterisk.org/r/693/ ........ This change also adds an ast_str_copy_string() function (similar to ast_copy_string), that copies one ast_str into another, properly handling embedded nulls. 2010-06-21 22:41 +0000 [r271657] Tilghman Lesher * build_tools/menuselect-deps.in, configure, configure.ac, res/res_timing_kqueue.c: Conflict kqueue on OS X, since it doesn't work there yet, anyway. 2010-06-21 21:58 +0000 [r271625] David Vossel * codecs/codec_speex.c, codecs/ex_speex.h, contrib/editors/asterisk.vim: add speex 16khz sample frame so codec cost can be calculated (closes issue #17534) Reported by: fabled Patches: speex-wb-sample.diff uploaded by fabled (license 448) 2010-06-21 20:46 +0000 [r271554] Jeff Peeler * res/ael/pval.c, /: Merged revisions 271552 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r271552 | jpeeler | 2010-06-21 15:37:47 -0500 (Mon, 21 Jun 2010) | 7 lines Do not use sizeof to calculate size of a heap allocated character array. Change left out from 271399. (closes issue #16053) Reported by: diLLec ........ 2010-06-21 20:46 +0000 [r271551-271553] David Vossel * channels/chan_sip.c, channels/sip/reqresp_parser.c: fixes crash when From header URI is missing "sip:" (closes issue #17437) Reported by: klaus3000 Patches: sip_crash uploaded by dvossel (license 671) Tested by: klaus3000 * res/res_rtp_asterisk.c: fixes logic error introduced by slin16 sip support 2010-06-21 05:10 +0000 [r271520] Tilghman Lesher * apps/app_saycounted.c (added), CHANGES: Add new application for declining counting words in multiple languages. (closes issue #16869) Reported by: chappell Patches: app_say_counted-20100317.c uploaded by chappell (license 8) Tested by: chappell 2010-06-18 21:32 +0000 [r271483] Jeff Peeler * res/ael/pval.c, /, include/asterisk/pval.h, pbx/pbx_ael.c: Merged revisions 271399 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r271399 | jpeeler | 2010-06-18 14:28:24 -0500 (Fri, 18 Jun 2010) | 11 lines Fix crash when parsing some heavily nested statements in AEL on reload. Due to the recursion used when compiling AEL in gen_prios, all the stack space was being consumed when parsing some AEL that contained nesting 13 levels deep. Changing a few large buffers to be heap allocated fixed the crash, although I did not test how many more levels can now be safely used. (closes issue #16053) Reported by: diLLec Tested by: jpeeler ........ 2010-06-18 18:59 +0000 [r271341] David Vossel * main/file.c: file.c was truncating audio file formats to the lower 32bits. 2010-06-18 18:36 +0000 [r271336] Jeff Peeler * /: Recorded merge of revisions 271335 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r271335 | jpeeler | 2010-06-18 13:33:17 -0500 (Fri, 18 Jun 2010) | 13 lines Eliminate deadlock potential in dahdi_fixup(). (This is a backport of 269307, committed to trunk by rmudgett.) Calling dahdi_indicate() when the channel private lock is already held can cause a deadlock if the PRI lock is needed because dahdi_indicate() will also get the channel private lock. The pri_grab() function assumes that the channel private lock is held once to avoid deadlock. (closes issue #17261) Reported by: aragon ........ 2010-06-17 21:23 +0000 [r271231-271300] David Vossel * channels/sip/reqresp_parser.c: fixes some coding guideline issue * channels/sip/include/dialog.h, channels/chan_sip.c, channels/sip/include/sip.h: retransmit response to BYE requests until timer J expires According to RFC 3261 section 17.2.2, which describes non-INVITE server transaction, when a dialog enters the Completed state it must destroy the dialog after Timer J (T1*64) fires. For a BYE transaction Asterisk terminates the dialog immediately during sip_hangup() when it should be waiting T1*64 ms. This results in some odd behavior. For instance if Asterisk receives a BYE and transmits a 200ok in response, if the endpoint never receives the 200ok it will retransmit the BYE to which Asterisk responds with a "481 Call leg/transaction does not exist" because the dialog is already gone. To resolve this I made a function called sip_scheddestroy_final(). This differs slightly from sip_schedestroy() in that it enables a flag that will prevent the destruction from ever being rescheduled or canceled afterwards. It also prevents the pvt's needdestroy flag from being set which triggers the destruction of the dialog within the do_monitor thread(). By using this function we are guaranteed destruction will not occur until the scheduled time. This allows Asterisk to respond to any possible retransmits for a dialog after we process the initial BYE request for T1*64 ms. Other changes: I removed two instances where sip_cancel_destroy is used right before calling sip_scheddestroy. sip_scheddestroy always calls sip_cancel_destroy before scheduling the new destruction so it is completely unnecessary. Review: https://reviewboard.asterisk.org/r/694/ * res/res_rtp_asterisk.c, main/rtp_engine.c, CHANGES: adds support for slin16 in sip (closes issue #16153) Reported by: kfister Patches: 16153-1.6.2.0-rc5.patch uploaded by kfister (license 912) slin16.sip.patch.1 uploaded by malcolmd (license 924) Tested by: kfister, malcolmd * main/channel.c, res/res_rtp_asterisk.c, main/frame.c, main/rtp_engine.c, codecs/codec_speex.c, CHANGES, include/asterisk/frame.h: adds speex 16khz audio support (closes issue #17501) Reported by: fabled Patches: asterisk-trunk-speex-wideband-v2.patch uploaded by fabled (license 448) Tested by: malcolmd, fabled, dvossel 2010-06-17 15:34 +0000 [r271192] Jeff Peeler * channels/sig_analog.c: Change expected operation from error to debug message 2010-06-17 00:30 +0000 [r271089] Paul Belanger * apps/app_meetme.c: option w[(secs)] incorrectly capitalized in xmldoc (closes issue #17516) Reported by: karlfife 2010-06-16 22:37 +0000 [r271056] David Vossel * channels/sip/reqresp_parser.c: addition of more parse_uri test cases 2010-06-16 21:17 +0000 [r270987] Paul Belanger * /, configs/extensions.conf.sample: Merged revisions 270979 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r270979 | pabelanger | 2010-06-16 17:10:05 -0400 (Wed, 16 Jun 2010) | 4 lines Fixed typo in macro-page Reported to #asterisk-dev by a student of jsmith. ........ 2010-06-16 21:12 +0000 [r270981-270983] Jason Parker * channels/chan_agent.c: Fix the actual place that was pointed out, for previous commit. * /, channels/chan_agent.c: Merged revisions 270980 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r270980 | qwell | 2010-06-16 16:10:09 -0500 (Wed, 16 Jun 2010) | 4 lines Need to lock the agent chan before access its internal bits. Pointed out by russellb on asterisk-dev mailing list. ........ 2010-06-16 20:34 +0000 [r270974] Matthew Nicholson * main/dnsmgr.c, main/acl.c: Set sin_family to AF_INET when doing lookups, also reset sin_port the first time the ip address changes. (closes issue #17496) Reported by: ManChicken (closes issue #15827) Reported by: DennisD Patches: dnsmgr_15827.patch uploaded by chappell (license 8) Tested by: DennisD, gentlec, damage, wimpy 2010-06-16 19:03 +0000 [r270940] David Vossel * main/channel.c, res/res_rtp_asterisk.c, main/frame.c, main/rtp_engine.c, channels/chan_sip.c, CHANGES, channels/chan_iax2.c, include/asterisk/frame.h, formats/format_g719.c (added): addition of G.719 pass-through support (closes issue #16293) Reported by: malcolmd Patches: g719.passthrough.patch.7 uploaded by malcolmd (license 924) format_g719.c uploaded by malcolmd (license 924) 2010-06-16 18:43 +0000 [r270936] Paul Belanger * res/res_agi.c, CHANGES: MSG_OOB flag on HANGUP packet removed. Per Tilghman's request on IRC (#asterisk-bugs). (closes issue #17506) Reported by: brycebaril Tested by: pabelanger, tilghman 2010-06-16 17:36 +0000 [r270867] David Vossel * /, channels/chan_iax2.c: Merged revisions 270866 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r270866 | dvossel | 2010-06-16 12:35:29 -0500 (Wed, 16 Jun 2010) | 22 lines fixes chan_iax2 race condition There is code in chan_iax2.c that attempts to guarantee that only a single active thread will handle a call number at a time. This code works once the thread is added to an active_list of threads, but we are not currently guaranteed that a newly activated thread will enter the active_list immediately because it is left up to the thread to add itself after frames have been queued to it. This means that if two frames come in for the same call number at the same time, it is possible for them to grab two separate threads because the first thread did not add itself to the active_list fast enough. This causes some pretty complex problems. This patch resolves this race condition by immediately adding an activated thread to the active_list within the network thread and only depending on the thread to remove itself once it is done processing the frames queued to it. By doing this we are guaranteed that if another frame for the same call number comes in at the same time, that this thread will immediately be found in the active_list of threads. Review: https://reviewboard.asterisk.org/r/720/ ........ 2010-06-16 16:45 +0000 [r270836] Jeff Peeler * channels/sig_analog.c: Fix no call waiting caller ID Clearing the callwaitcas flag in analog_call was causing the incoming D digit to be ignored which triggers sending the caller ID. 2010-06-16 15:05 +0000 [r270801] Paul Belanger * doc/tex/channelvariables.tex: Update formatting for channelvariables.tex (closes issue #17511) Reported by: klaus3000 Patches: channelvariables.tex-patch.txt uploaded by klaus3000 (license 65) Tested by: pabelanger 2010-06-15 22:48 +0000 [r270726] Russell Bryant * channels/sig_analog.c: Don't blow up if an ast_channel doesn't get allocated. 2010-06-15 21:42 +0000 [r270658-270692] Terry Wilson * main/http.c: Don't continue sending the file when there has been an error If there is a problem with a firmware file, Polycom phones will close the connection. We were continuing to send the file anyway. There should be no reason to continue sending a file if there is an error writing it. (closes issue #16682) Reported by: lmadsen * res/res_phoneprov.c: Don't send files twice and remove extra \r\n from header After the manager http auth changes, we forgot to remove the manual sending of the file. Also, ast_http_send adds two \r\n to the header that is passed to it, so a trailing \r\n is removed from the Content-type header. It might be better to change ast_http_send, but I don't like changing the behavior of an API function. (closes issue #17239) Reported by: cjacobsen Patches: patch2.diff uploaded by cjacobsen (license 1029) Tested by: lathama, cjacobsen * channels/chan_sip.c: Make contactdeny apply to src ip when nat=yes chan_sip's "contactdeny" feature screens the "to be registered contact". In case of nat=yes it should not use the address information from the Contact header (which is not used at all for routing), but the source IP address of the request. Thus, if nat=yes and a client sends a request from a denied IP address (e.g. by spoofing the src-IP address) it can bypass the screening. This commit makes contactdeny apply to the src ip when nat=yes instead. (closes issue #17276) Reported by: klaus3000 Patches: patch-asterisk-trunk-contactdeny.txt uploaded by klaus3000 (license 65) Tested by: klaus3000 2010-06-15 18:26 +0000 [r270519-270584] Tilghman Lesher * main/pbx.c, /: Merged revisions 270583 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r270583 | tilghman | 2010-06-15 13:25:12 -0500 (Tue, 15 Jun 2010) | 5 lines Variables have always been case-sensitive, so we should not be removing case-insensitive matches. Bug reported via the -dev list. See http://lists.digium.com/pipermail/asterisk-dev/2010-June/044510.html ........ * res/res_jabber.c: Argh, mixed declarations and code. * configs/jabber.conf.sample, include/asterisk/jabber.h, doc/distributed_devstate-XMPP.txt (added), CHANGES, res/res_jabber.c: Add distributed devicestate via the XMPP protocol. (closes issue #15757) Reported by: Marquis Patches: distributed_devstate-XMPP.txt uploaded by lmadsen (license 10) Tested by: Marquis, lmadsen, marcelloceschia Review: https://reviewboard.asterisk.org/r/351/ 2010-06-15 12:51 +0000 [r270443] Leif Madsen * /, configs/voicemail.conf.sample: Merged revisions 270442 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r270442 | lmadsen | 2010-06-15 07:47:03 -0500 (Tue, 15 Jun 2010) | 1 line Move information about zonemessages into the [zonemessages] section. ........ 2010-06-14 21:33 +0000 [r270332] Paul Belanger * /, res/res_musiconhold.c: Merged revisions 270331 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r270331 | pabelanger | 2010-06-14 17:31:59 -0400 (Mon, 14 Jun 2010) | 14 lines Properly play first file in sort list. When using sort=alpha we would always skip the first file in the list first time through. We now check for that properly. (closes issue #17470) Reported by: pabelanger Patches: sort.aplha.patch uploaded by pabelanger (license 224) Tested by: lmadsen Review: https://reviewboard.asterisk.org/r/703/ ........ 2010-06-14 20:51 +0000 [r270298] Richard Mudgett * channels/chan_dahdi.c, channels/sig_ss7.h, channels/sig_ss7.c: Extract sig_ss7_init_linkset() to sig_ss7. Also found a place where sig_pri_init_pri() was inlined and called it instead. 2010-06-14 19:41 +0000 [r270260] Jason Parker * channels/chan_agent.c: Add option to get untruncated channel name from AGENT function. The "channel" option would chop the channel name at the last '-', which made it useless for something like a channel transfer from the dialplan. The "fullchannel" option will return the channel name as-is. ABE-2218 2010-06-14 15:55 +0000 [r270219] Richard Mudgett * channels/sig_pri.h, channels/chan_dahdi.c, configs/chan_dahdi.conf.sample, channels/sig_pri.c: Add digit manipulation tag support to chan_dahdi/sig_pri like chan_misdn. Add the append_msn_to_cid_tag option to chan_dahdi like chan_misdn. Review: https://reviewboard.asterisk.org/r/696/ 2010-06-13 09:16 +0000 [r270184] Tzafrir Cohen * autoconf/ast_check_pwlib.m4, configure: bashism in configure script Theoretically the ./configure script is a pure bourne-shell script. Practically it may be run by bash if /bin/sh is not good enough. But we should not count on it. See bug report for the gory details. (closes issue #17485) Patches: 0001-remove-bashism-from-ast_check_pwlib.m4.patch uploaded by tzafrir (license 46) 2010-06-13 01:53 +0000 [r270042-270151] Paul Belanger * configure, include/asterisk/autoconfig.h.in, configure.ac: Reverting patch and reopening issue #16155, as patch breaks FreeBSD / OSX builds. * /, doc/HOWTO_collect_debug_information.txt: Merged revisions 270078 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r270078 | pabelanger | 2010-06-12 14:54:20 -0400 (Sat, 12 Jun 2010) | 2 lines Fix typo in example ........ * configure, include/asterisk/autoconfig.h.in, configure.ac: Use pkg-config to find gmime libraries This way the libraries can be found even if they are in non-standard locations. (closes issue #16155) Reported by: jcollie Patches: 0008-change-configure.ac-to-look-for-pkg-config-gmime-2.0.patch uploaded by jcollie (license 412) Tested by: jsmith, tilghman, pabelanger 2010-06-11 18:31 +0000 [r269936-269976] Tilghman Lesher * main/frame.c, /: Merged revisions 269960 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r269960 | tilghman | 2010-06-11 13:23:05 -0500 (Fri, 11 Jun 2010) | 8 lines For SpeeX, 0 bits remaining is valid and does not need an emitted warning. (closes issue #15762) Reported by: nblasgen Patches: issue15672.patch uploaded by pabelanger (license 224) Tested by: nblasgen ........ * CHANGES, main/db.c: Add DBGetComplete event after a DBGetResponse. (closes issue #16965) Reported by: rrb3942 Patches: DBGetComplete.patch uploaded by rrb3942 (license 1003) * main/logger.c: Remove lines from the output related to the backtrace itself. 2010-06-10 20:30 +0000 [r269889] Paul Belanger * Makefile, makeopts.in: Remove ASTBINDIR variable (closes issue #17031) Reported by: pabelanger Patches: Makefile.ASTBINDIR.v2.patch uploaded by pabelanger (license 224) Tested by: pabelanger, tilghman 2010-06-10 19:34 +0000 [r269749-269822] Mark Michelson * main/channel.c, /: Merged revisions 269821 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r269821 | mmichelson | 2010-06-10 14:30:12 -0500 (Thu, 10 Jun 2010) | 19 lines Fix potential crash when writing raw SLIN audio on a PLC-enabled channel. The issue here was that the frame created when adjusting for PLC had no offset to its audio data. If this frame were translated to another format prior to being sent out an RTP socket, all went well because the translation code would put an appropriate offset into the frame. However, if the SLIN audio were not translated before being sent out the RTP socket, bad things would happen. Specifically, the ast_rtp_raw_write makes the assumption that the frame has at least enough of an offset that it can accommodate an RTP header. This was not the case. As such, data was being written prior to the allocation, likely corrupting the data the memory allocator had written. Thus when the time came to free the data, all hell broke loose. ....Well, Asterisk crashed at least. The fix was just what one would expect. Offset the data in the frame by a reasonable amount. The method I used is a bit odd since the data in the frame is 16 bit integers and not bytes. I left a big ol' comment about it. This can be improved on if someone is interested. I was more interested in getting the crash resolved. ........ * doc/tex/plc.tex (added), doc/tex/asterisk.tex: Add documentation explaining PLC in Asterisk. Review: https://reviewboard.asterisk.org/r/688/ 2010-06-10 13:17 +0000 [r269711] Russell Bryant * tests/test_heap.c: Fix an off by one error that caused a unit test to occasionally crash. 2010-06-10 12:28 +0000 [r269707] Kevin P. Fleming * main/logger.c: Ensure that 'logger show channels' works properly when wildcards are used in logger.conf. 2010-06-10 08:15 +0000 [r269636] Tilghman Lesher * /, main/logger.c, utils/extconf.c, main/asterisk.c: Merged revisions 269635 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r269635 | tilghman | 2010-06-10 02:52:34 -0500 (Thu, 10 Jun 2010) | 9 lines Ensure restartable system calls can restart (BSD signal semantics). This eliminates the annoying on the console. (closes issue #17477) Reported by: jvandal Patches: 20100610__issue17477.diff.txt uploaded by tilghman (license 14) ........ 2010-06-10 00:32 +0000 [r269417-269602] Russell Bryant * channels/chan_dahdi.c: Attempt to fix a FreeBSD build error by including sys/stat.h. http://bamboo.asterisk.org/download/AST-TRUNKFREEBSD/build_logs/AST-TRUNKFREEBSD-187.log * main/lock.c: Attempt to fix FreeBSD build problem. * /, channels/chan_oss.c: Merged revisions 269495 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r269495 | russell | 2010-06-09 17:18:37 -0500 (Wed, 09 Jun 2010) | 2 lines Don't stop Asterisk if chan_oss fails to register 'Console' (due to another channel driver already claiming it). ........ * include/asterisk/event.h, main/event.c: Resolve an invalid memory read on an event. Valgrind pointed out that attempting to get an IE value from an event that has no IEs produces an invalid memory read past the end of the event. Thanks to mmichelson for pointing the problem out to me and then testing the fix. 2010-06-09 17:32 +0000 [r269346] Paul Belanger * contrib/init.d/rc.debian.asterisk, /, main/term.c: Merged revisions 269334 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r269334 | pabelanger | 2010-06-09 13:24:53 -0400 (Wed, 09 Jun 2010) | 12 lines Fix Debian init script to not use -c. When using the init script as-is currently, it could cause issues on Debian such as high CPU usage. This fix has worked for several people so I'm implementing the change. We now handle color displays properly. (closes issue #16784) Reported by: pabelanger Patches: 20100530__issue16784__2.diff.txt uploaded by tilghman (license 14) Tested by: pabelanger, tilghman ........ 2010-06-09 17:06 +0000 [r269307-269308] Richard Mudgett * channels/chan_dahdi.c, channels/sig_ss7.h, channels/sig_ss7.c: Add missing API function to sig_ss7: sig_ss7_fixup(). * channels/chan_dahdi.c: Eliminate deadlock potential in dahdi_fixup(). Calling dahdi_indicate() within dahdi_fixup() while the owner pointers are in a potentially inconsistent state is a potentially bad thing in principle. However, calling dahdi_indicate() when the channel private lock is already held can cause a deadlock if the PRI lock is needed because dahdi_indicate() will also get the channel private lock. The pri_grab() function assumes that the channel private lock is held once to avoid deadlock. 2010-06-09 15:09 +0000 [r269271] David Vossel * res/res_musiconhold.c: fixes crash in moh when cachertclasses flag is used The result for moh_register was not verified to guarantee the mohclass as added to the container. (closes issue #16993) Reported by: dmitri Patches: res_musiconhold_rtclass2.patch uploaded by dmitri (license 1001) moh_crash2.diff uploaded by dvossel (license 671) Tested by: dmitri 2010-06-09 13:17 +0000 [r269238] Tzafrir Cohen * channels/chan_dahdi.c, configs/chan_dahdi.conf.sample, CHANGES: dial by name in chan_dahdi * chan_dahdi supports dialing configuring and dialing by device file name. DAHDI/span-name!local!1 will use /dev/dahdi/span-name/local/1 . Likewise it may appear in chan_dahdi.conf as 'channel => span-name!local!1'. * A new options for chan_dahdi.conf: 'ignore_failed_channels'. Boolean. False by default. If set, chan_dahdi will ignore failed 'channel' entries. Handy for the above name-based syntax as it does not depend on initialization order. * have my_pri_make_cc_dialstring() only manupulate dial-strings of group (gGrR) dialing, which make it lsightly more complicated. https://reviewboard.asterisk.org/r/535/ 2010-06-09 10:55 +0000 [r269187-269205] Russell Bryant * contrib/scripts/install_prereq: Add libjack-dev to install_prereq. * contrib/scripts/install_prereq: Add libpopt-dev, libical-dev, and libspandsp-dev to install_prereq. * contrib/scripts/install_prereq: Add libnewt-dev to install-prereq. * contrib/scripts/install_prereq: Add libopenais-dev to install_prereq. * contrib/scripts/install_prereq: Add an "install-unpackaged" command to install_prereq for installing unpackaged dependencies (such as NBS and libresample). * contrib/scripts/install_prereq: Add libcurl to install_prereq. * contrib/scripts/install_prereq: Add freetds-dev to install_prereq. * contrib/scripts/install_prereq: Add libradiusclient-ng-dev to install_prereq. * contrib/scripts/install_prereq: Add libbluetooth-dev to install_prereq. * contrib/scripts/install_prereq: Add libmysqlclient-dev to install_prereq. * contrib/scripts/install_prereq: Add libgtk2.0-dev to the packages list for install_prereq. 2010-06-08 23:48 +0000 [r269153] Bradley Latus * configs/cdr_custom.conf.sample, configs/cdr_tds.conf.sample, cdr/cdr_sqlite.c, configs/cdr_sqlite3_custom.conf.sample, funcs/func_cdr.c, configs/cdr_syslog.conf.sample, UPGRADE.txt, cdr/cdr_adaptive_odbc.c, addons/cdr_mysql.c, cdr/cdr_pgsql.c, CHANGES, cdr/cdr_odbc.c, cdr/cdr_tds.c, configs/cdr_odbc.conf.sample: Add High Resolution Times to CDRs for Asterisk People expressed an interest in having access to the exact length of calls to a finer degree than seconds. See the CHANGES and UPGRADE.txt for usage also updated the sample configs to note the change. Patch by snuffy. (closes issue #16559) Reported by: cianmaher Tested by: cianmaher, snuffy Review: https://reviewboard.asterisk.org/r/461/ 2010-06-08 22:45 +0000 [r269119] Tilghman Lesher * configure, include/asterisk/autoconfig.h.in, configure.ac, include/asterisk/localtime.h: Fix build on Mac OS X (and maybe FreeBSD, too) 2010-06-08 18:50 +0000 [r269083] Matthew Nicholson * apps/app_fax.c: Don't pass null to manager_event() (closes issue #17087) Reported by: bklang Patches: app-fax-null-sprintf1.diff uploaded by mnicholson (license 96) Tested by: bklang 2010-06-08 15:41 +0000 [r269008] Russell Bryant * Makefile.rules: Ensure CONFIG_FLAGS makes it into the build rules when doing out of tree builds. (closes issue #16685) Reported by: pprindeville 2010-06-08 15:39 +0000 [r269007] Sean Bright * /, cdr/cdr_tds.c: Merged revisions 269006 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r269006 | seanbright | 2010-06-08 11:28:49 -0400 (Tue, 08 Jun 2010) | 11 lines Reduce startup time for cdr_tds with large CDR tables. Since we are just checking for table existence, add a WHERE clause that will return no rows but will raise an error if the table doesn't exist. (closes issue #17380) Reported by: kkwong Patches: issue17380-01.patch uploaded by seanbright (license 71) Tested by: kkwong ........ 2010-06-08 15:23 +0000 [r268969-268988] Leif Madsen * configs/sip.conf.sample: Update note in sip.conf.sample. Update note in sip.conf.sample about externip and externhost with STUN. (closes issue #16323) Reported by: klaus3000 Patches: sip.conf.sample-patch.txt uploaded by klaus3000 (license 65) * apps/app_meetme.c, main/ccss.c, include/asterisk/data.h, res/res_jabber.c, res/res_config_sqlite.c, include/asterisk/callerid.h, channels/chan_dahdi.c, include/asterisk/bridging_technology.h, include/asterisk/doxyref.h, include/asterisk/event.h, include/asterisk/astmm.h, main/ast_expr2f.c, main/features.c, include/asterisk/timing.h, include/asterisk/rtp_engine.h, include/asterisk/ccss.h, include/asterisk/threadstorage.h, include/asterisk/xml.h, main/pbx.c, channels/chan_sip.c, include/asterisk/astobj2.h, include/asterisk/channel.h, include/asterisk/calendar.h, include/asterisk/manager.h, include/asterisk/features.h, include/asterisk/logger.h, include/asterisk/http.h, channels/sig_pri.h, include/asterisk/app.h, main/audiohook.c, include/asterisk/pbx.h, include/asterisk/dnsmgr.h, include/asterisk/smdi.h, apps/app_voicemail.c: Fix some doxygen warnings. (closes issue #17336) Reported by: snuffy Patches: doxygen-fixes1.diff uploaded by snuffy (license 35) Tested by: russell 2010-06-08 06:57 +0000 [r268896-268933] Tilghman Lesher * res/res_config_sqlite.c: Release list lock before returning on error. * utils/extconf.c: Fix trunk build on Mac OS X. 2010-06-08 05:29 +0000 [r268894] Terry Wilson * channels/sip/sdp_crypto.c (added), res/res_rtp_asterisk.c, main/global_datastores.c, main/rtp_engine.c, include/asterisk/res_srtp.h (added), channels/sip/srtp.c (added), channels/chan_sip.c, include/asterisk/autoconfig.h.in, res/res_srtp.exports.in (added), configure.ac, CHANGES, channels/chan_iax2.c, res/res_srtp.c (added), main/channel.c, build_tools/menuselect-deps.in, main/asterisk.exports.in, configure, funcs/func_channel.c, channels/sip/dialplan_functions.c, channels/sip/include/sdp_crypto.h (added), doc/tex/secure-calls.tex (added), include/asterisk/global_datastores.h, channels/sip/include/srtp.h (added), makeopts.in, include/asterisk/rtp_engine.h, include/asterisk/frame.h, doc/tex/asterisk.tex, channels/sip/include/sip.h: Add SRTP support for Asterisk After 5 years in mantis and over a year on reviewboard, SRTP support is finally being comitted. This includes generic CHANNEL dialplan functions that work for getting the status of whether a call has secure media or signaling as defined by the underlying channel technology and for setting whether or not a new channel being bridged to a calling channel should have secure signaling or media. See doc/tex/secure-calls.tex for examples. Original patch by mikma, updated for trunk and revised by me. (closes issue #5413) Reported by: mikma Tested by: twilson, notthematrix, hemanshurpatel Review: https://reviewboard.asterisk.org/r/191/ 2010-06-08 00:45 +0000 [r268857] Richard Mudgett * channels/sip/dialplan_functions.c: Make SIP tests compile again. 2010-06-07 22:56 +0000 [r268817-268818] Tilghman Lesher * channels/chan_sip.c: Use the mailbox destructor function, instead. * channels/chan_sip.c, channels/sip/include/sip.h: Mailbox list would previously grow at each reload, containing duplicates. Also, optimize the allocation of mailboxes to avoid additional memory structures. (closes issue #16320) Reported by: Marquis Patches: 20100525__issue16320.diff.txt uploaded by tilghman (license 14) 2010-06-07 20:04 +0000 [r268774] Richard Mudgett * channels/sig_pri.h, channels/chan_dahdi.c, channels/sig_ss7.h (added), channels/Makefile, channels/sig_pri.c, channels/sig_ss7.c (added): Extract sig_ss7 out of chan_dahdi. Extract the SS7 specific code out of chan_dahdi like what was done to ISDN/PRI and analog signaling. The new SS7 structures were modeled on sig_pri. The changes to sig_pri are an enhancement and a bug fix made possible because SS7 was extracted. 1) The sig_pri TRANSFERCAPABILITY channel variable should have been set unconditionally in sig_pri_new_ast_channel(). 2) SS7/PRI transfer capability interaction in dahdi_new() fixed because of SS7 extraction. 3) Module ref count error in dahdi_new() if startpbx failed to start the PBX for some reason. Review: https://reviewboard.asterisk.org/r/661/ 2010-06-07 19:52 +0000 [r268773] Tilghman Lesher * main/rtp_engine.c, channels/chan_sip.c, channels/sip/dialplan_functions.c, include/asterisk/rtp_engine.h: Seems strange (and the code backs up) that if the max and min of a statistic is expressed as a double, the last value would not also need to be a double. (closes issue #15807) Reported by: klaus3000 2010-06-07 19:06 +0000 [r268734] Richard Mudgett * channels/sig_pri.c: Moved AOC request code out of the middle of code parsing the dialed number. 2010-06-07 18:59 +0000 [r268731] Tilghman Lesher * main/manager.c: Event well was going dry. (issue #17234) 2010-06-07 17:34 +0000 [r268690] Paul Belanger * main/dsp.c: Set threshold for silence detection defaults to 256 (closes issue #15685) Reported by: david_s5 Patches: dsp-silence-threshold-init.diff uploaded by dant (license 670) issue15685.patch.v5 uploaded by pabelanger (license 224) Tested by: danti Review: https://reviewboard.asterisk.org/r/670/ 2010-06-07 17:14 +0000 [r268653] Tilghman Lesher * res/res_smdi.c: Avoid unloading res_smdi twice. (closes issue #17237) Reported by: pabelanger 2010-06-07 15:51 +0000 [r268578] Richard Mudgett * main/file.c: Suppress warning in waitstream_core(). Suppress the warning about unexpected control subclass frames for AST_CONTROL_CONNECTED_LINE, AST_CONTROL_REDIRECTING, and AST_CONTROL_AOC in file.c:waitstream_core(). 2010-06-06 05:29 +0000 [r268454-268534] Tilghman Lesher * contrib/init.d/rc.redhat.asterisk: Take advantage of variable substitution already in the Makefile to specify the correct location for files in init.d. (closes issue #16979) Reported by: jw-asterisk (issue #15691) Reported by: itamarjp * channels/chan_iax2.c: Finally track down and eliminate the "FRACK! warnings from chan_iax2". * main/dsp.c: Fix crash in DTMF detection. What I did not originally see in my previous commit was that even though the next digit could be detected before the previous was considered ended, the detection of the next digit effectively ends the detection of the previous. Therefore, the length moves in lockstep with the digit, and no separate counter is needed for the length alone. (closes issue #17371) Reported by: alecdavis (closes issue #17474) Reported by: kenner * main/manager.c: Verify event is not NULL before attempting to lower its usecount. (closes issue #17234) Reported by: mav3rick 2010-06-05 05:23 +0000 [r268395-268417] Kevin P. Fleming * CHANGES: Typo fix. * CHANGES: Grammatical error fix. 2010-06-05 02:51 +0000 [r268321] Tilghman Lesher * /, configs/voicemail.conf.sample: Merged revisions 268320 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r268320 | tilghman | 2010-06-04 21:49:52 -0500 (Fri, 04 Jun 2010) | 3 lines Rest In Peace http://www.outandaboutnewspaper.com/article/4061 ........ 2010-06-04 22:37 +0000 [r268205-268281] David Vossel * channels/chan_sip.c: fixes compile error from uninitialized variable * channels/chan_sip.c: RFC3261 compliant sip unreliable retransmit timing + 'registerattempts' option tweak Changes. 1. RFC 3261 states in section 17.1.2.2 and 17.1.1.2 that retransmission timers should initially be set to timer T1. T1 by default is 500ms. Asterisk was starting the retransmission timers at T1*2 which shouldn't cause any problems, but is not RFC compliant. 2. RFC 3261 states in section 17.1.2.2 that for a non-INVITE client transaction, if the retransmit timer fires while in the proceeding state that the request must be retransmitted. Asterisk currently ack's requests for both INVITE and non-INVITE transactions when a 1XX response is received, this patch changes this for non-INVITE requests. 3. The 'registerattempts' option in sip.conf is supposed to set how many registry attempts will be made before giving up. When this option is set to 1, I would expect only one registry attempt to be made before stopping because of a failure, but instead two are made. In my opinion this is not expected behavior. This option does not indicate that these are re-attempts. The logic behind this option has been changed to only attempt registers the exact number of times this option is set to. If this option is 0, it still continues to re-attempt the registration forever. Review: https://reviewboard.asterisk.org/r/687/ 2010-06-04 20:42 +0000 [r267972-268127] Tilghman Lesher * /, configure, configure.ac: Merged revisions 268126 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r268126 | tilghman | 2010-06-04 15:41:24 -0500 (Fri, 04 Jun 2010) | 2 lines AC_CONFIG_SUBDIRS has a bad side-effect on cross-compiles. ........ * Makefile, /, makeopts.in: Merged revisions 268050 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r268050 | tilghman | 2010-06-04 14:38:57 -0500 (Fri, 04 Jun 2010) | 6 lines Build menuselect with the build environment's compiler, not the host (target)'s compiler. (closes issue #17464) Reported by: pprindeville Tested by: tilghman ........ * /, configure, configure.ac, autoconf/libcurl.m4: Merged revisions 267971 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r267971 | tilghman | 2010-06-04 11:27:02 -0500 (Fri, 04 Jun 2010) | 2 lines As-fixiate the build process ........ 2010-06-04 14:45 +0000 [r267928] Richard Mudgett * channels/sig_pri.c: Incoming overlap dialing no longer works after sig_pri extraction. The problem would manifest itself if your dialplan matching could accept more digits to match than were actually dialed. The time out waiting for overlap digits disconnected the call instead of matching any accumulated digits to the dialplan. Accidental conversion of a break out of loop as a break out of switch. (closes issue #17401) Reported by: avalentin Patches: issue17401_digit_timeout.patch uploaded by rmudgett (license 664) Tested by: avalentin, rmudgett 2010-06-04 03:20 +0000 [r267877] Tilghman Lesher * include/asterisk/slin.h: As signed linear audio data is accessed as 16-bit values, certain processors require the values to be aligned in memory. (closes issue #16912) Reported by: michaelevdokimov Patches: asterisk.patch uploaded by michaelevdokimov (license 997) Tested by: michaelevdokimov 2010-06-04 03:11 +0000 [r267863] Terry Wilson * channels/chan_sip.c: Send an ACK for every final response received for an INVITE From issue ABE-2247. RFC 3261 compliance for sections 13.2.24 and 17.1.1.2. Review: https://reviewboard.asterisk.org/r/692/ 2010-06-04 02:58 +0000 [r267775-267862] Tilghman Lesher * include/asterisk/slin.h: As signed linear audio data is accessed as 16-bit values, certain processors require the values to be aligned in memory. (closes issue #16912) Reported by: michaelevdokimov * configure, autoconf/ast_ext_lib.m4: If there's a default, turn it on, even when the option isn't specified. * /, configure, include/asterisk/autoconfig.h.in, configure.ac: Merged revisions 267759 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r267759 | tilghman | 2010-06-03 20:16:26 -0500 (Thu, 03 Jun 2010) | 7 lines Make the default install path appear to be /usr on Linux, instead of /usr/local. Also, reorganize the options, so that they're more alphabetical. (closes issue #17013) Reported by: klaus3000 ........ 2010-06-03 20:41 +0000 [r267714] Russell Bryant * main/ccss.c: Remove a LOG_WARNING. This came up when using the sample configs, and just indicates expected behavior. 2010-06-03 19:46 +0000 [r267669] Tilghman Lesher * funcs/func_odbc.c: Handle OOM errors more gracefully. (closes issue #17084) Reported by: falves11 Patches: issue17084_162_A.diff uploaded by falves11 (license 374) Tested by: falves11 2010-06-03 18:53 +0000 [r267624] Leif Madsen * UPGRADE.txt, CHANGES: Update UPGRADE.txt and CHANGE for CDR functionality changes. Updated the UPGRADE.txt and CHANGES file stating that CDR records will not be explicity written unless cdr.conf exists and is configured. (closes issue #17373) Reported by: wdoekes Tested by: pabelanger 2010-06-03 18:38 +0000 [r267622] Richard Mudgett * codecs/codec_dahdi.c: Make compile again. 2010-06-03 17:31 +0000 [r267537] Russell Bryant * channels/chan_usbradio.c: Don't stop Asterisk if chan_usbradio isn't configured. 2010-06-03 17:09 +0000 [r267492] Mark Michelson * codecs/codec_lpc10.c, codecs/codec_g722.c, codecs/codec_adpcm.c, codecs/codec_alaw.c, main/translate.c, codecs/codec_g726.c, codecs/codec_gsm.c, codecs/codec_ulaw.c, codecs/codec_dahdi.c, include/asterisk/translate.h: Remove unnecessary code relating to PLC. The logic for handling generic PLC is now handled in ast_write in channel.c instead of in translation code. Review: https://reviewboard.asterisk.org/r/683/ 2010-06-03 17:05 +0000 [r267445-267490] Russell Bryant * channels/chan_usbradio.c: Remove a line that was killing Asterisk on startup. * channels/h323/Makefile.in: Comment out a rule that likes to run implicitly unnecessarily, breaking builds 2010-06-03 00:02 +0000 [r267399] Richard Mudgett * channels/sig_pri.h, channels/chan_dahdi.c, configs/chan_dahdi.conf.sample, configure, include/asterisk/autoconfig.h.in, configure.ac, CHANGES, channels/sig_pri.c: Add ETSI Message Waiting Indication (MWI) support. Add the ability to report waiting messages to ISDN endpoints (phones). Relevant specification: EN 300 650 and EN 300 745 Review: https://reviewboard.asterisk.org/r/599/ 2010-06-02 22:46 +0000 [r267352] Russell Bryant * channels/Makefile, channels/h323/Makefile.in: try to fix some random chan_h323 compilation failures After some debugging, the random chan_h323 build failures appear to be due to complications introduced by some chan_h323 specific build stuff getting triggered during a clean. Simplify this by moving the h323 clean commands down into channels/makefile. 2010-06-02 22:28 +0000 [r267350] Richard Mudgett * main/channel.c, configure, include/asterisk/autoconfig.h.in, configure.ac, include/asterisk/channel.h, CHANGES, channels/sig_pri.c: Add ETSI Malicious Call ID support. Add the ability to report malicious callers as an AMI event in the call event class. Relevant specification: EN 300 180 Review: https://reviewboard.asterisk.org/r/576/ 2010-06-02 21:44 +0000 [r267303-267305] Russell Bryant * utils/extconf.c: Fix a build error on mac. * main/Makefile: Ensure the -Wno-strict-aliasing flag makes it, even if ASTCFLAGS has been specified. When ASTCFLAGS was specified with the make command, Makefile.rules was using the specified value from the command line and not the one here, making it so this flag would go missing. 2010-06-02 21:05 +0000 [r267261] Richard Mudgett * channels/sig_pri.h, channels/chan_dahdi.c, configs/chan_dahdi.conf.sample, configure, include/asterisk/autoconfig.h.in, configure.ac, CHANGES, channels/sig_pri.c: Add ETSI Call Waiting support. Add the ability to announce a call to an endpoint when there are no B channels available. A call waiting call is a SETUP message with no B channel selected. Relevant specification: EN 300 056, EN 300 057, EN 300 058 For DAHDI/ISDN channels, the CHANNEL() dialplan function now supports the "no_media_path" option. * Returns "0" if there is a B channel associated with the call. * Returns "1" if no B channel is associated with the call. The call is either on hold or is a call waiting call. If you are going to allow incoming call waiting calls then you need to use CHANNEL(no_media_path) do determine if you must drop a call to accept the new call. Review: https://reviewboard.asterisk.org/r/568/ 2010-06-02 19:33 +0000 [r267181] David Vossel * CHANGES, doc/advice_of_charge.txt: Update CHANGES and aoc help doc to reflect AOC additions 2010-06-02 18:53 +0000 [r267138] Russell Bryant * main/cli.c: Add a CLI command that blocks until Asterisk has fully booted. Review: https://reviewboard.asterisk.org/r/684/ 2010-06-02 18:13 +0000 [r267097] Mark Michelson * channels/chan_sip.c: Prevent use of uninitialized values. Two struct sockaddr_ins are created when applying directmedia host access rules. The addresses of these are passed to the RTP engine to be filled in. However, the RTP engine inspects the fields of the structs before actually taking action. This inspection caused valgrind to be a bit unhappy. 2010-06-02 18:10 +0000 [r267096] Richard Mudgett * apps/app_dial.c, configs/chan_dahdi.conf.sample, include/asterisk/aoc.h (added), channels/chan_sip.c, configs/manager.conf.sample, main/aoc.c (added), apps/app_queue.c, channels/sig_pri.c, doc/advice_of_charge.txt (added), main/channel.c, channels/sig_pri.h, channels/chan_dahdi.c, main/manager.c, main/features.c, tests/test_aoc.c (added), configs/sip.conf.sample, include/asterisk/frame.h, main/asterisk.c, channels/sip/include/sip.h: Generic Advice of Charge. Asterisk Generic AOC Representation - Generic AOC encode/decode routines. (Generic AOC must be encoded to be passed on the wire in the AST_CONTROL_AOC frame) - AST_CONTROL_AOC frame type to represent generic encoded AOC data - Manager events for AOC-S, AOC-D, and AOC-E messages Asterisk App Support - app_dial AOC-S pass-through support on call setup - app_queue AOC-S pass-through support on call setup AOC Unit Tests - AOC Unit Tests for encode/decode routines - AOC Unit Test for manager event representation. SIP AOC Support - Pass-through of generic AOC-D and AOC-E messages to snom phones via the snom AOC specification. - Creation of chan_sip page3 flags for the addition of the new 'snom_aoc_enabled' sip.conf option. IAX AOC Support - Natively supports AOC pass-through through the use of the new AST_CONTROL_AOC frame type DAHDI AOC Support - ETSI PRI full AOC Pass-through support - 'aoc_enable' chan_dahdi.conf option for independently enabling pass-through of AOC-S, AOC-D, AOC-E. - 'aoce_delayhangup' option for retrieving AOC-E on disconnect. - DAHDI A() dial string option for requesting AOC services. example usage: ;requests AOC-S, AOC-D, and AOC-E on call setup exten=>1111,1,Dial(DAHDI/g1/1112/A(s,d,e)) Review: https://reviewboard.asterisk.org/r/552/ 2010-06-02 17:57 +0000 [r267093] Russell Bryant * apps/app_voicemail.c: Silence a compiler warning. 2010-06-02 17:29 +0000 [r267065] Jeff Peeler * include/asterisk/slin.h: Fix infinite loop when loading codec speex This changes the sample slinear frame data to contain non-zero data so that translation calculations for speex works when preprocessing and VAD is turned on. The encoder expects samples to be returned, but when attempted with the mentioned two options and silent sample frames everything was discarded. (closes issue #17240) Reported by: seandarcy Review: https://reviewboard.asterisk.org/r/682/ 2010-06-02 17:25 +0000 [r267041] Paul Belanger * /, main/ast_expr2.y: Merged revisions 267009 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r267009 | pabelanger | 2010-06-02 13:14:37 -0400 (Wed, 02 Jun 2010) | 7 lines Cleanup error/warning messages in AEL2 parser (closes issue #16684) Reported by: Silmaril Patches: patch_ael2_logmsg.diff uploaded by Silmaril (license 979) ........ 2010-06-02 17:13 +0000 [r266926-267008] Richard Mudgett * main/manager.c, configure, include/asterisk/autoconfig.h.in, configure.ac, configs/manager.conf.sample, CHANGES, channels/sig_pri.c, include/asterisk/manager.h: Add ETSI Advice Of Charge (AOC) event reporting. This feature generates AMI events in the new aoc event class from the events passed up by libpri. Review: https://reviewboard.asterisk.org/r/537/ * channels/sig_pri.h, channels/chan_dahdi.c, configs/chan_dahdi.conf.sample, configure, include/asterisk/autoconfig.h.in, configure.ac, CHANGES, channels/sig_pri.c: Add ETSI Explicit Call Transfer (ECT) support. Added ability to send and receive ETSI Explicit Call Transfer (ECT) messages to eliminate tromboned calls. Note: Asterisk already supported initiating the transfer of calls to eliminate tromboned calls to libpri so there was nothing to do for the asterisk portion. Review: https://reviewboard.asterisk.org/r/520/ 2010-06-02 13:32 +0000 [r266877] Paul Belanger * main/bridging.c: pthread_join to assure the thread is really gone (closes issue #15465) Reported by: fnordian Patches: bridging.patch uploaded by fnordian (license 110) Tested by: lmadsen, fnordian, peterh Review: https://reviewboard.asterisk.org/r/679/ 2010-06-01 22:14 +0000 [r266832] Terry Wilson * res/res_calendar_exchange.c: Use the correct ical.h file 2010-06-01 21:28 +0000 [r266828] Tilghman Lesher * configure, include/asterisk/autoconfig.h.in, tests/test_locale.c (added), configure.ac, configs/voicemail.conf.sample, include/asterisk/localtime.h, main/stdtime/localtime.c, CHANGES, apps/app_voicemail.c: Support setting locale per-mailbox (changes date/time languages for email, pager messages). (closes issue #14333) Reported by: klaus3000 Patches: 20090515__issue14333.diff.txt uploaded by tilghman (license 14) app_voicemail.c-svn-trunk-rev211675-patch.txt uploaded by klaus3000 (license 65) Tested by: klaus3000 2010-06-01 21:12 +0000 [r266786] Terry Wilson * apps/app_dial.c, UPGRADE.txt: Set app and appdata fields when a Dial is redirected (closes issue #17204) Reported by: one47 Tested by: twilson, one47 2010-06-01 18:02 +0000 [r266592-266735] Tilghman Lesher * res/res_smdi.c: Don't register functions until the last possible point, so they're not unloaded unnecessarily. (closes issue #15996) Reported by: junky Patches: sdmi_wait.diff uploaded by junky (license 177) * main/manager.c: Eliminate stale manager events after a set interval, even if AMI clients don't query for them. Actions (or failures to act) by external clients should not cause memory leaks in Asterisk, especially when those continued leaks could cause Asterisk to misbehave later. (closes issue #17234) Reported by: mav3rick Patches: 20100510__issue17234.diff.txt uploaded by tilghman (license 14) 20100517__issue17234__trunk.diff.txt uploaded by tilghman (license 14) Tested by: mav3rick, davidw (closes issue #17365) Reported by: davidw * /, main/asterisk.c: Merged revisions 266585 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r266585 | tilghman | 2010-06-01 10:17:46 -0500 (Tue, 01 Jun 2010) | 11 lines Prevent CLI prompt from distorting output of lines shorter than the prompt. Uses the VT100 method of clearing the line from the cursor position to the end of the line: Esc-0K (closes issue #17160) Reported by: coolmig Patches: 20100531__issue17160.diff.txt uploaded by tilghman (license 14) Tested by: coolmig ........ 2010-05-30 20:18 +0000 [r266438-266522] Tilghman Lesher * funcs/func_env.c: Needs to be wrapped in * contrib/init.d/rc.debian.asterisk, /: Merged revisions 266437 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r266437 | tilghman | 2010-05-29 23:43:28 -0500 (Sat, 29 May 2010) | 2 lines Reverting patch and reopening issue #16784, as patch breaks color display. ........ 2010-05-28 22:54 +0000 [r266386] Terry Wilson * res/res_calendar_icalendar.c, configure, configure.ac, res/res_calendar_caldav.c: Fix ical library handling (again) Newer versions of libical (which we require) store the header file in a libical/ subfolder and include an ical.h file that does a #warning for deprecation and then #includes . Since we now test for libical/ical.h, we can change the #includes back to and remove the test which specifically adds /usr/include/libical as an include directory. 2010-05-28 22:50 +0000 [r266337-266385] Tilghman Lesher * funcs/func_env.c, UPGRADE.txt, main/asterisk.c: Setup environment variables for the benefit of child processes and disallow changing them. (closes issue #14899) Reported by: jmls Patches: 20090916__issue14899.diff.txt uploaded by tilghman (license 14) Tested by: jmls * main/asterisk.c: Only report swap on platforms which can examine those statistics 2010-05-28 17:55 +0000 [r266292] David Vossel * channels/chan_sip.c: fixes crash when creation of UDPTL fails (closes issue #17264) Reported by: falves11 Patches: issue_17264_reviewboard_fix.diff uploaded by dvossel (license 671) issue_17264_1.6.2_reviewboard_fix.diff uploaded by dvossel (license 671) Tested by: falves11 2010-05-28 17:34 +0000 [r266289] Terry Wilson * configure, configure.ac, makeopts.in: More build fixes for ical/neon and res_calendar_ews 2010-05-27 20:08 +0000 [r266240] Jeff Peeler * pbx/pbx_realtime.c: fix compile error 2010-05-27 19:25 +0000 [r266146-266238] Tilghman Lesher * pbx/pbx_realtime.c, CHANGES: Cache query results for one second. Queries from the PBX core come in 3's. Caching avoids the additional performance penalty from those two additional queries hitting the database. (closes issue #16521) Reported by: tilghman Patches: 20091229__issue16521.diff.txt uploaded by tilghman (license 14) Tested by: Hubguru, tilghman * /, main/logger.c, utils/extconf.c, main/asterisk.c: Merged revisions 266142 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r266142 | tilghman | 2010-05-26 16:11:44 -0500 (Wed, 26 May 2010) | 14 lines Use sigaction for signals which should persist past the initial trigger, not signal. If you call signal() in a Solaris signal handler, instead of just resetting the signal handler, it causes the signal to refire, because the signal is not marked as handled prior to the signal handler being called. This effectively causes Solaris to immediately exceed the threadstack in recursive signal handlers and crash. (closes issue #17000) Reported by: rmcgilvr Patches: 20100526__issue17000.diff.txt uploaded by tilghman (license 14) Tested by: rmcgilvr ........ 2010-05-26 20:17 +0000 [r266092-266098] Mark Michelson * apps/app_dial.c: Remove redundant ast_conntected_line_free call. This wouldn't cause any problems, but it's certainly not needed either. * res/res_musiconhold.c: Remove unrelated MOH change from previous commit. Thanks Kevin! * main/channel.c, res/res_musiconhold.c: Fix misspelling of macro args. 2010-05-26 19:46 +0000 [r266006-266090] David Vossel * channels/chan_sip.c, main/app.c, channels/sip/config_parser.c, channels/sip/include/sip.h: do all sip registry parsing before transmit_register This patch breaks up every part of the sip registry string during config parsing and removes all parsing from transmit_register(). Thanks to Nick_Lewis for contributing this patch! (closes issue #14331) Reported by: Nick_Lewis Patches: chan_sip.c-domparse.patch uploaded by Nick Lewis (license 657) chan_sip.c.patch uploaded by Nick Lewis (license 657) chan_sip.c.domainparse3.patch uploaded by Nick Lewis (license 657) chan_sip.c-domparse4.patch uploaded by Nick Lewis (license 657) chan_sip.c-domparse5.patch uploaded by Nick Lewis (license 657) nicklewispatch.diff uploaded by dvossel (license 671) Tested by: Nick_Lewis, dvossel Review: https://reviewboard.asterisk.org/r/628/ * channels/chan_sip.c: fixes failed SIP Directed pickup resulting in dead channel (closes issue #17339) Reported by: one47 Patches: sip_magic_pickup2 uploaded by one47 (license 23) Tested by: one47, dvossel 2010-05-26 16:23 +0000 [r265894-265923] Tilghman Lesher * res/res_config_pgsql.c, /: Merged revisions 265910 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r265910 | tilghman | 2010-05-26 11:21:00 -0500 (Wed, 26 May 2010) | 7 lines Not finding rows in the DB does not rise to the level of a warning. (closes issue #17062) Reported by: drookie Patches: 20100525__issue17062.diff.txt uploaded by tilghman (license 14) ........ * res/res_config_pgsql.c, configs/res_pgsql.conf.sample: Construct socket name, according to the Postgres docs, and document as such. (closes issue #17392) Reported by: dps Patches: 20100525__issue17392.diff.txt uploaded by tilghman (license 14) Tested by: dps 2010-05-26 14:45 +0000 [r265842-265844] Mark Michelson * channels/chan_sip.c: ....... * channels/chan_sip.c: Re-enable "always" option for videosupport option in sip.conf. (closes issue #17016) Reported by: twilson Patches: 17016.patch uploaded by mmichelson (license 60) Tested by: devmod 2010-05-26 05:33 +0000 [r265793] Terry Wilson * build_tools/menuselect-deps.in, configure, include/asterisk/autoconfig.h.in, configure.ac, res/res_calendar_ews.c: Ensure that libneon > 0.29.0 is installed for res_calendar_ews This uses a modified version of pabelanger's patch that checks for NTLM support instead, which was added in 0.29.0 which is what is required for res_calendar_ews. (closes issue #17391) Reported by: loloski Patches: issue17391.patch.v2 uploaded by pabelanger (license 224) Tested by: twilson 2010-05-26 00:29 +0000 [r265747] Tilghman Lesher * res/res_calendar_exchange.c, res/res_calendar_icalendar.c, configure, include/asterisk/autoconfig.h.in, configure.ac, pbx/pbx_lua.c, res/res_calendar_caldav.c, res/res_calendar_ews.c: Use configure to determine the prefixes and include directories properly. This ensures cross-platform compatibility, even among Linux distributions, which don't always put headers in the same place. (closes issue #17391) Reported by: loloski 2010-05-25 20:59 +0000 [r265698] Mark Michelson * channels/chan_sip.c: Properly use peer's outboundproxy for outbound REGISTERs. The logic used in transmit_register to get the outboundproxy for a peer was flawed since this value would be overridden shortly afterwards when create_addr was called. In addition, this also fixes some logic used when parsing users.conf so that the peer name is placed in the internally-generated register string so that an outboundproxy set in the Asterisk GUI will be used for outbound REGISTERs. 2010-05-25 17:00 +0000 [r265611] Matthew Nicholson * /, apps/app_queue.c: Merged revisions 265610 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r265610 | mnicholson | 2010-05-25 11:48:19 -0500 (Tue, 25 May 2010) | 8 lines Don't mark the cdr records of unanswered queue calls with "NOANSWER". This restores the behavior prior to r258670. (closes issue #17334) Reported by: jvandal Patches: queue-cdr-fixes1.diff uploaded by mnicholson (license 96) Tested by: aragon, jvandal ........ 2010-05-25 16:23 +0000 [r265608] Richard Mudgett * main/channel.c: Memory leak in connected line data when SIP blond transfer done. The handling of the control subclass AST_CONTROL_READ_ACTION frame leaked connected line string memory in __ast_read(). Also in __ast_read() the frame type switch should not have had a case for AST_CONTROL_READ_ACTION. AST_CONTROL_READ_ACTION is not a frame type. 2010-05-25 08:31 +0000 [r265525] Tzafrir Cohen * addons/ooh323c/src/oochannels.c: Typos: 'succesful' (lintian) 2010-05-24 22:21 +0000 [r265467] Terry Wilson * doc/manager_1_1.txt, main/manager.c, main/asterisk.c: Merge the rest of the FullyBooted patch 2010-05-24 22:16 +0000 [r265449-265453] Mark Michelson * apps/app_senddtmf.c: Allow SendDTMF to play digits to a specified channel. Patch supplied by reporter was modified to use autoservice and prevent a potential channel ref leak but is otherwise as the reporter uploaded it. (closes issue #17182) Reported by: rcasas Patches: app_senddtmf.c.patch_trunk uploaded by rcasas (license 641) * channels/h323/ast_h323.cxx: Print openh323 log to the Asterisk console. (closes issue #17109) Reported by: under Patches: logstream.diff uploaded by under (license 914) * channels/chan_sip.c: Allow type=user SIP endpoints to be loaded properly from realtime. (closes issue #16021) Reported by: Guggemand Patches: realtime-type-fix.patch uploaded by Guggemand (license 897) (altered by me slightly to avoid ref leaks) Tested by: Guggemand 2010-05-24 20:08 +0000 [r265367] Richard Mudgett * apps/app_rpt.c: Make app_rpt.c able to compile again. 2010-05-24 19:42 +0000 [r265366] David Vossel * channels/chan_sip.c: reverses incorrect logic introduced by r243200 The decoding of the replace_id did not need to be broken up in this instance. This was brought to my attention again because it caused a segfault when the from or to tags were not present in the "Replaces" header. 2010-05-24 19:06 +0000 [r265317-265320] Terry Wilson * doc/tex/manager.tex: Add the FullyBooted AMI event It is possible to connect to the manager interface before all Asterisk modules are loaded. To ensure that an application does not send AMI actions that might require a module that has not yet loaded, the application can listen for the FullyBooted manager event. It will be sent upon connection if all modules have been loaded, or as soon as loading is complete. The event: Event: FullyBooted Privilege: system,all Status: Fully Booted Review: https://reviewboard.asterisk.org/r/639/ * CREDITS, configs/calendar.conf.sample, CHANGES, res/res_calendar_ews.c (added), res/res_calendar.c: Calendaring support for Exchange Server 2007+ via EWS This commit adds support for calendaring with Exchange Server 2007+ via Exchange Web Services. Full write support and for querying attendees. Many thanks to Jan Kaláb for the feature. (closes issue #17022) Reported by: pitel Patches: res_calendar_ews.c uploaded by pitel (license 1008) Tested by: pitel, twilson Review: https://reviewboard.asterisk.org/r/557/ Review: https://reviewboard.asterisk.org/r/668/ 2010-05-24 18:19 +0000 [r265316] Tilghman Lesher * main/asterisk.c: On systems with a LOT of RAM, a signed integer sometimes printed negative. (closes issue #16837) Reported by: jlpedrosa Patches: 20100504__issue16837.diff.txt uploaded by tilghman (license 14) 2010-05-24 16:10 +0000 [r265273] David Vossel * main/channel.c: fixes segfault when using generic plc 2010-05-23 18:23 +0000 [r265227] Alexandr Anikin * addons/chan_ooh323.c: small changes to avoiding 'freeing unused memory...' 2010-05-21 22:46 +0000 [r265174] Richard Mudgett * main/channel.c: Channel initialization failure causes crashes. __ast_channel_alloc_ap() has several points in the initialization of a new channel structure where it could fail. Since the channel structure is now an ao2 object, the destructor callback needs to be able to handle clean up when the structure setup is incomplete. Problems corrected: 1) Failing to setup the alertpipe would not unreference the structure but free it directly. Doing this to an ao2_object is very bad. 2) File descriptors need to be initialized to -1 before a construction failure could occur so the destructor will not close unopened descriptors. 3) The destructor needs to check that the string field has been initialized before using any string field values. Crashes expected. 4) The destructor should not notify devstate if the device name is empty. It is a waste of cycles and a couple ERROR log messages are generated. Review: https://reviewboard.asterisk.org/r/675/ 2010-05-21 21:08 +0000 [r264953-265090] Mark Michelson * include/asterisk/file.h, /, apps/app_queue.c: Merged revisions 265089 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r265089 | mmichelson | 2010-05-21 15:59:14 -0500 (Fri, 21 May 2010) | 8 lines Don't hang up on a queue caller if the file we attempt to play does not exist. This also fixes a documentation mistake in file.h that made my original attempt to correct this problem not work correctly. (closes issue #17061) Reported by: RoadKill ........ * channels/chan_sip.c: Be sure to set the sin_family on the proxy when allocating. (closes issue #17157) Reported by: stuarth * /, include/asterisk/channel.h: Merged revisions 264999 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r264999 | mmichelson | 2010-05-21 11:53:53 -0500 (Fri, 21 May 2010) | 3 lines Fix grammatical error in comment. ........ * main/channel.c, main/autoservice.c, /, include/asterisk/channel.h: Merged revisions 264996 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r264996 | mmichelson | 2010-05-21 11:28:34 -0500 (Fri, 21 May 2010) | 32 lines Allow ast_safe_sleep to defer specific frames until after the sleep has concluded. From reviewboard Background: A Digium customer discovered a somewhat odd bug. The setup is that parties A and B are bridged, and party A places party B on hold. While party B is listening to hold music, he mashes a bunch of DTMF. Party A takes party B off hold while this is happening, but party B continues to hear hold music. I could reproduce this about 1 in 5 times. The issue: When DTMF features are enabled and a user presses keys, the channel that the DTMF is streamed to is placed in an ast_safe_sleep for 100 ms, the duration of the emulated tone. If an AST_CONTROL_UNHOLD frame is read from the channel during the sleep, the frame is dropped. Thus the unhold indication is never made to the channel that was originally placed on hold. The fix: Originally, I discussed with Kevin possible ways of fixing the specific problem reported. However, we determined that the same type of problem could happen in other situations where ast_safe_sleep() is used. Using autoservice as a model, I modified ast_safe_sleep_conditional() to defer specific frame types so they can be re-queued once the sleep has finished. I made a common function for determining if a frame should be deferred so that there are not two identical switch blocks to maintain. Review: https://reviewboard.asterisk.org/r/674/ ........ * res/res_fax.c, include/asterisk/res_fax.h, res/res_fax.exports.in, res/res_fax_spandsp.c: Log spandsp's fax debug output to the FAX logger level. Review: https://reviewboard.asterisk.org/r/658 2010-05-21 01:00 +0000 [r264905] Terry Wilson * channels/chan_sip.c: Take dup'd code for directmedia ACLs and make utility func The same code was repeated in lots of different places, so I made a utility fuction for it. This should make the merge in the v6-new branch easier. 2010-05-20 23:29 +0000 [r264828] Richard Mudgett * /, main/callerid.c: Merged revisions 264820 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r264820 | rmudgett | 2010-05-20 18:23:21 -0500 (Thu, 20 May 2010) | 6 lines ast_callerid_parse() had a path that left name uninitialized. Several callers of ast_callerid_parse() do not initialize the name parameter before calling thus there is the potential to use an uninitialized pointer. ........ 2010-05-20 22:23 +0000 [r264752-264779] Tilghman Lesher * main/pbx.c: Let ExtensionState resolve dynamic hints. (closes issue #16623) Reported by: tilghman Patches: 20100116__issue16623.diff.txt uploaded by tilghman (license 14) Tested by: lmadsen * apps/app_stack.c: Error message fix. (closes issue #17356) Reported by: kenner Patches: app_stack.c.diff uploaded by kenner (license 1040) 2010-05-20 20:49 +0000 [r264669-264711] Richard Mudgett * main/ccss.c: Avoid crash in generic CC agent init if caller name or number is NULL. * apps/app_dial.c, apps/app_queue.c: Dial and queue connected line update macro not always run when expected. The connected line update macro would not get run if the connected line number string was empty. The number could be empty if the connected line update did not update a number but the name. It should be run if there was an AST_CONTROL_CONNECTED_LINE frame received for pending dials and queues. Renamed and added some more comments for some confusing identifiers directly connected to the related code. Also fixed a memory leak in app_queue. Review: https://reviewboard.asterisk.org/r/669/ 2010-05-20 17:54 +0000 [r264626] Terry Wilson * channels/chan_sip.c, configs/sip.conf.sample, CHANGES, channels/sip/include/sip.h: Add support for direct media ACLs directmediapermit/directmediadeny support to restrict which peers can do directmedia based on ip address. In some networks not all phones are fully routed, i.e. not all phones can ping each other. This patch adds a way to restrict directmedia for certain peers between certain networks. (closes issue #16645) Reported by: raarts Patches: directmediapermit.patch uploaded by raarts (license 937) Tested by: raarts Review: https://reviewboard.asterisk.org/r/467/ 2010-05-20 15:30 +0000 [r264497-264540] Kevin P. Fleming * addons/ooh323c/src/h323, addons/ooh323c/src: Ignore pre-processed source files generated during DONT_OPTIMIZE dev-mode builds. * main/logger.c: Correct 'all logger levels' patch to work properly. Nick Lewis pointed out that the patch as committed wouldn't actually include dynamic logger levels, which was missed by the other reviewers. Thanks! 2010-05-19 21:29 +0000 [r264452] Mark Michelson * main/channel.c, channels/chan_sip.c, include/asterisk/_private.h, include/asterisk/options.h, main/asterisk.c, main/loader.c: Fix transcode_via_sln option with SIP calls and improve PLC usage. From reviewboard: The problem here is a bit complex, so try to bear with me... It was noticed by a Digium customer that generic PLC (as configured in codecs.conf) did not appear to actually be having any sort of benefit when packet loss was introduced on an RTP stream. I reproduced this issue myself by streaming a file across an RTP stream and dropping approx. 5% of the RTP packets. I saw no real difference between when PLC was enabled or disabled when using wireshark to analyze the RTP streams. After analyzing what was going on, it became clear that one of the problems faced was that when running my tests, the translation paths were being set up in such a way that PLC could not possibly work as expected. To illustrate, if packets are lost on channel A's read stream, then we expect that PLC will be applied to channel B's write stream. The problem is that generic PLC can only be done when there is a translation path that moves from some codec to SLINEAR. When I would run my tests, I found that every single time, read and write translation paths would be set up on channel A instead of channel B. There appeared to be no real way to predict which channel the translation paths would be set up on. This is where Kevin swooped in to let me know about the transcode_via_sln option in asterisk.conf. It is supposed to work by placing a read translation path on both channels from the channel's rawreadformat to SLINEAR. It also will place a write translation path on both channels from SLINEAR to the channel's rawwriteformat. Using this option allows one to predictably set up translation paths on all channels. There are two problems with this, though. First and foremost, the transcode_via_sln option did not appear to be working properly when I was placing a SIP call between two endpoints which did not share any common formats. Second, even if this option were to work, for PLC to be applied, there had to be a write translation path that would go from some format to SLINEAR. It would not work properly if the starting format of translation was SLINEAR. The one-line change presented in this review request in chan_sip.c fixed the first issue for me. The problem was that in sip_request_call, the jointcapability of the outbound channel was being set to the format passed to sip_request_call. This is nativeformats of the inbound channel. Because of this, when ast_channel_make_compatible was called by app_dial, both channels already had compatibly read and write formats. Thus, no translation path was set up at the time. My change is to set the jointcapability of the sip_pvt created during sip_request_call to the intersection of the inbound channel's nativeformats and the configured peer capability that we determined during the earlier call to create_addr. Doing this got the translation paths set up as expected when using transcode_via_sln. The changes presented in channel.c fixed the second issue for me. First and foremost, when Asterisk is started, we'll read codecs.conf to see the value of the genericplc option. If this option is set, and ast_write is called for a frame with no data, then we will attempt to fill in the missing samples for the frame. The implementation uses a channel datastore for maintaining the PLC state and for creating a buffer to store PLC samples in. Even when we receive a frame with data, we'll call plc_rx so that the PLC state will have knowledge of the previous voice frame, which it can use as a basis for when it comes time to actually do a PLC fill-in. So, reviewers, now I ask for your help. First off, there's the one line change in chan_sip that I have put in. Is it right? By my logic it seems correct, but I'm sure someone can tell me why it is not going to work. This is probably the change I'm least concerned about, though. What concerns me much more is the set of changes in channel.c. First off, am I even doing it right? When I run tests, I can clearly see that when PLC is activated, I see a significant increase in RTP traffic where I would expect it to be. However, in my humble opinion, the audio sounds kind of crappy whenever the PLC fill-in is done. It sounds worse to me than when no PLC is used at all. I need someone to review the logic I have used to be sure that I'm not misusing anything. As far as I can see my pointer arithmetic is correct, and my use of AST_FRIENDLY_OFFSET should be correct as well, but I'm sure someone can point out somewhere where I've done something incorrectly. As I was writing this review request up, I decided to give the code a test run under valgrind, and I find that for some reason, calls to plc_rx are causing some invalid reads. Apparently I'm reading past the end of a buffer somehow. I'll have to dig around a bit to see why that is the case. If it's obvious to someone reviewing, speak up! Finally, I have one other proposal that is not reflected in my code review. Since without transcode_via_sln set, one cannot predict or control where a translation path will be up, it seems to me that the current practice of using PLC only when transcoding to SLINEAR is not useful. I recommend that once it has been determined that the method used in this code review is correct and works as expected, then the code in translate.c that invokes PLC should be removed. Review: https://reviewboard.asterisk.org/r/622/ 2010-05-19 20:30 +0000 [r264400] David Vossel * main/udptl.c: fixes infinite loop during udptl.c's decode_open_type When decode_length returns the length there is a check to see if that length is negative, if so the decode loop breaks as this means the limit has been reached. The problem here is that length is an unsigned int, so length can never be negative. This resulted in an infinite loop. (issue #17352) 2010-05-19 20:26 +0000 [r264335-264379] Matthew Nicholson * main/udptl.c: Cast an unsigned int to a signed int when comparing it with 0. (AST-377) * /, apps/app_speech_utils.c: Merged revisions 264334 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r264334 | mnicholson | 2010-05-19 15:01:38 -0500 (Wed, 19 May 2010) | 5 lines Set quieted flag when receiving a dtmf tone during playback in speechbackground. (closes issue #16966) Reported by: asackheim ........ 2010-05-19 19:21 +0000 [r264331] David Vossel * channels/chan_sip.c: fixes crash in check_rtp_timeout During deadlock avoidance the sip dialog pvt is locked and unlocked. When this occurs we have no guarantee the pvt's owner is still valid. We were trying to access the pvt's owner after this without checking to see if it still existed first. (closes issue #17271) Reported by: under Patches: check_rtp_timeout.diff uploaded by under (license 914) Tested by: dvossel 2010-05-19 17:48 +0000 [r264204-264249] Tilghman Lesher * /, configure, include/asterisk/autoconfig.h.in, configure.ac, include/asterisk/options.h: Merged revisions 264248 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r264248 | tilghman | 2010-05-19 12:41:29 -0500 (Wed, 19 May 2010) | 17 lines Internal timing is now on by default, if you're using DAHDI 2.3 or above. The reason for ensuring DAHDI 2.3 or above is that this version ensures that a timer is always available, whereas in previous versions, it was possible for DAHDI to be loaded, but have no drivers to actually generate timing. If internal_timing was turned on in this circumstance, a complete lack of audio would result. This is the reason why internal_timing was not on by default. However, now that DAHDI ensures the availability of a timer, there is no reason for this setting to be off (and in fact, it solves a great many initial user problems). (closes issue #15932) Reported by: dimas Patches: 20100519__issue15932.diff.txt uploaded by tilghman (license 14) Tested by: tilghman ........ * main/dsp.c: Keep track of digit duration, when we're decoding inband to pass DTMF frames. (closes issue #17235) Reported by: frawd Patches: new_dtmf_dsp_len.patch uploaded by frawd (license 610) 20100518__issue17235.diff.txt uploaded by tilghman (license 14) Tested by: frawd 2010-05-19 15:39 +0000 [r264161] Leif Madsen * main/cli.c: Fix compilation problem with previous commit. (issue #16009) 2010-05-19 15:29 +0000 [r264160] Kevin P. Fleming * main/logger.c, configs/logger.conf.sample: Add ability for logger channels to include *all* levels. Now that Asterisk modules can dynamically create and destroy logger levels on demand, it's useful to be able to configure a logger channel (console, file, whatever) to be able to accept log messages from *all* levels, even levels created dynamically. This patch adds support for this, by allowing the '*' level name to be used in logger.conf. Review: https://reviewboard.asterisk.org/r/663/ 2010-05-19 15:12 +0000 [r264117] Leif Madsen * CHANGES, main/cli.c: Add ability to hangup all channels from the CLI. Added the keyword 'all' to the 'channel hangup request' CLI command so that you can request all channels to be hungup without having to restart Asterisk. (closes issue #16009) Reported by: moy Patches: hangup-all-rev-221688.patch uploaded by moy (license 222) Tested by: moy, russell 2010-05-19 14:38 +0000 [r264114] David Vossel * res/res_rtp_asterisk.c: fixes crash during dtmf During the processing of Cisco dtmf the dtmf samples were not being calculated correctly. In an attempt to determine what sample rate was being used, a NULL frame was processed which caused a crash. This patch resolves this. (closes issue #17248) Reported by: falves11 Patches: issue_17248.diff uploaded by dvossel (license 671) 2010-05-19 08:09 +0000 [r264031] Alec L Davis * configs/indications.conf.sample: fix incorrectly typed indications for [nz] stutter and dialrecall (closes issue #17359) Reported by: alecdavis Patches: bug17359.diff.txt uploaded by alecdavis (license 585) 2010-05-19 06:41 +0000 [r263905-263950] Tilghman Lesher * /, main/dsp.c: Merged revisions 263949 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r263949 | tilghman | 2010-05-19 01:32:27 -0500 (Wed, 19 May 2010) | 8 lines Because progress is called multiple times, across several frames, we must persist states when detecting multitone sequences. (closes issue #16749) Reported by: dant Patches: dsp.c-bug16749-1.patch uploaded by dant (license 670) Tested by: dant ........ * configure, configure.ac, build_tools/sha1sum-sh (added), makeopts.in, sounds/Makefile: Add an sha1sum-workalike for platforms which don't have it (like Mac OS X) 2010-05-18 22:48 +0000 [r263904] David Vossel * main/strings.c: fixes segfault on logging (closes issue #17331) Reported by: under Patches: utils.diff uploaded by under (license 914) segfault_on_logging.diff uploaded by dvossel (license 671) Tested by: under, dvossel 2010-05-18 21:09 +0000 [r263860] Mark Michelson * channels/chan_sip.c: Be sure to heap-allocate the redirecting to tag so as not to cause crashiness. 2010-05-18 20:49 +0000 [r263858] Tilghman Lesher * res/res_timing_kqueue.c: Make happy green color come back 2010-05-18 20:09 +0000 [r263810] Mark Michelson * channels/chan_sip.c: Fix memory leaks in redirecting structures in chan_sip.c Thanks to Richard for pointing this out. 2010-05-18 19:30 +0000 [r263807-263808] Jeff Peeler * CHANGES: put changes with the correct version * /, CHANGES, apps/app_directory.c: Merged revisions 263769 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r263769 | jpeeler | 2010-05-18 13:54:58 -0500 (Tue, 18 May 2010) | 10 lines Modify directory name reading to be interrupted with operator or pound escape. In the case of accidentally entering the wrong first three letters for the reading, users could be very frustrated if the name listing is very long. This allows interrupting the reading by pressing 0 or #. 0 will attempt to execute a configured operator (o) extension and # will exit and proceed in the dialplan. ABE-2200 ........ 2010-05-17 23:49 +0000 [r263724] Tilghman Lesher * configure, include/asterisk/autoconfig.h.in, configure.ac, makeopts.in, sounds/Makefile, autoconf/ast_ext_lib.m4: Cache sound tarfiles in a common directory, such that a clean reinstall does not force a re-download of the tarballs. (closes issue #15370) Reported by: pprindeville Patches: asterisk-trunk-bugid15370.patch uploaded by pprindeville (license 347) Tested by: pprindeville, tilghman, seanbright 2010-05-17 22:08 +0000 [r263640] Mark Michelson * /, main/devicestate.c: Merged revisions 263639 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r263639 | mmichelson | 2010-05-17 17:00:28 -0500 (Mon, 17 May 2010) | 10 lines Fix logic error when checking for a devstate provider. When using strsep, if one of the list of specified separators is not found, it is the first parameter to strsep which is now NULL, not the pointer returned by strsep. This issue isn't especially severe in that the worst it is likely to do is waste some cycles when a device with no '/' and no ':' is passed to ast_device_state. ........ 2010-05-17 19:31 +0000 [r263589] Tilghman Lesher * apps/app_voicemail.c: With IMAP backend, messages in INBOX were counted twice for MWI. (closes issue #17135) Reported by: edhorton Patches: 20100513__issue17135.diff.txt uploaded by tilghman (license 14) 17135_2.diff uploaded by ebroad (license 878) Tested by: edhorton, ebroad 2010-05-17 15:36 +0000 [r263541] Mark Michelson * apps/app_dial.c, channels/chan_local.c, main/rtp_engine.c, channels/chan_sip.c, include/asterisk/channel.h, configs/misdn.conf.sample, apps/app_queue.c, funcs/func_redirecting.c, channels/misdn_config.c, main/channel.c, main/dial.c, channels/chan_dahdi.c, channels/misdn/isdn_lib.h, channels/chan_misdn.c, channels/misdn/chan_misdn_config.h, main/features.c, funcs/func_connectedline.c, include/asterisk/frame.h, funcs/func_callerid.c, channels/sip/include/sip.h: Enhancements to connected line and redirecting work. From reviewboard: Digium has a commercial customer who has made extensive use of the connected party and redirecting information present in later versions of Asterisk Business Edition and which is to be in the upcoming 1.8 release. Through their use of the feature, new problems and solutions have come about. This patch adds several enhancements to maximize usage of the connected party and redirecting information functionality. First, Asterisk trunk already had connected line interception macros. These macros allow you to manipulate connected line information before it was sent out to its target. This patch adds the same feature except for redirecting information instead. Second, the ast_callerid and ast_party_id structures have been enhanced to provide a "tag." This tag can be set with func_callerid, func_connectedline, func_redirecting, and in the case of DAHDI, mISDN, and SIP channels, can be set in a configuration file. The idea behind the callerid tag is that it can be set to whatever value the administrator likes. Later, when running connected line and redirecting macros, the admin can read the tag off the appropriate structure to determine what action to take. You can think of this sort of like a channel variable, except that instead of having the variable associated with a channel, the variable is associated with a specific identity within Asterisk. Third, app_dial has two new options, s and u. The s option lets a dialplan writer force a specific caller ID tag to be placed on the outgoing channel. The u option allows the dialplan writer to force a specific calling presentation value on the outgoing channel. Fourth, there is a new control frame subclass called AST_CONTROL_READ_ACTION added. This was added to correct a very specific situation. In the case of SIP semi-attended (blond) transfers, the party being transferred would not have the opportunity to run a connected line interception macro to possibly alter the transfer target's connected line information. The issue here was that during a blond transfer, the SIP transfer code has no bridged channel on which to queue the connected line update. The way this was corrected was to add this new control frame subclass. Now, we queue an AST_CONTROL_READ_ACTION frame on the channel on which the connected line interception macro should be run. When ast_read is called to read the frame, ast_read responds by calling a callback function associated with the specific read action the control frame describes. In this case, the action taken is to run the connected line interception macro on the transferee's channel. Review: https://reviewboard.asterisk.org/r/652/ 2010-05-17 15:14 +0000 [r263375-263460] Leif Madsen * main/manager.c: Missing newlines added to Set-Cookie line in manager.c Sean Bright pointed out that we lost a set of newline characters in commit 190349 on a line I had recently changed. Yay for code review on commits. (issue #17231, #10961) * main/manager.c, /: Recorded merge of revisions 263456 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r263456 | lmadsen | 2010-05-17 09:35:18 -0500 (Mon, 17 May 2010) | 11 lines Manager cookies are not compatible with RFC2109. The Version field in the cookies we're setting contain quotes around the version number which is not compatible with RFC2109 and breaks some implementations. (closes issue #17231) Reported by: ecarruda Patches: manager_rfc2109-trunk-v1.patch uploaded by ecarruda (license 559) manager_rfc2109-1.6.2-v1.patch uploaded by ecarruda (license 559) Tested by: ecarruda, russell ........ * /, sounds/Makefile: Merged revisions 263374 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r263374 | lmadsen | 2010-05-17 09:04:57 -0500 (Mon, 17 May 2010) | 8 lines Update link to new version of core sounds. The latest version of the core sounds files 1.4.19 now includes the missing queue-minute sound file which is called by app_queue but which has been missing. (closes issue #17123) Reported by: n8ideas ........ 2010-05-17 13:05 +0000 [r263294] David Vossel * CHANGES: Update CHANGES to reflect DAHDI buffer dialstring option backport to 1.6.2 2010-05-16 16:31 +0000 [r263250] Tzafrir Cohen * contrib/scripts/live_ast: live_ast: add commands 'rsync' and 'gen-live-asterisk' This adds the following two commands to live_ast: * rsync [user]@host directory Copy over all generated files to at remote host. Would allow running live_ast there. Hence allows separating a build machine from a test machine. * gen-live-asteris: regenerate live/asterisk . Useful if copying over files to a different directory. 2010-05-16 11:14 +0000 [r263208] Kevin P. Fleming * main/astobj2.c: Improve some very confusing structure names in astobj2.c As pointed out by 'akshayb' on #asterisk-dev, the code here called a list of bucket entries a 'bucket', and the entries within the bucket were called 'bucket_list'. This made the code very hard to understand without reading all of it... so I've renamed 'bucket_list' to 'bucket_entry' to clarify the purpose of the structure. 2010-05-14 18:53 +0000 [r263151] David Vossel * channels/chan_iax2.c: fix iax_frame double free Very unfortunate things happen if we add an iax_frame to the frame queue and let go of the lock before scheduling the frame's transmit... There is a race condition that exists where the frame can be removed from the frame_queue and freed before the transmit is scheduled if we do not hold on to that lock. This results in a freed frame being scheduled for transmit later. 2010-05-13 22:01 +0000 [r263069] Richard Mudgett * channels/chan_dahdi.c: Fix inverted logic in cli command: ss7 set debug on/off 2010-05-13 20:25 +0000 [r263028] Tzafrir Cohen * configure, configure.ac: Remove "untested" feature PRI_VERSION Nobody seems to actually test PRI_VERSION. It is only useful for failing PRI support in chan_dahdi. 2010-05-13 17:49 +0000 [r262940-262987] Tilghman Lesher * res/res_timing_kqueue.c: For FreeBSD * res/res_timing_kqueue.c: Hmmm, probably should have read the manpage more thoroughly. 2010-05-13 15:36 +0000 [r262895-262897] Russell Bryant * channels/chan_console.c: Fix an off by one error that causes a crash. Thanks to Raymond Burke for pointing it out. * main/stdtime/localtime.c: Fix build on linux. * pbx/pbx_spool.c: Fix build on linux. 2010-05-13 05:37 +0000 [r262852] Tilghman Lesher * Makefile, pbx/pbx_spool.c, tests/test_time.c, build_tools/menuselect-deps.in, configure, include/asterisk/autoconfig.h.in, configure.ac, main/stdtime/localtime.c, res/res_timing_kqueue.c (added): Add kqueue(2) implementation to Asterisk in various places. This will save a considerable amount of CPU on the BSDs, including Mac OS X, as it eliminates several places in the code that we previously used a busy loop. Additionally, this adds a res_timing interface, using kqueue timers. Review: https://reviewboard.asterisk.org/r/543/ 2010-05-12 19:59 +0000 [r262800] Paul Belanger * main/loader.c, main/cli.c: Notify CLI when modules is loaded / unloaded (closes issue #17308) Reported by: pabelanger Patches: cli.modules.patch uploaded by pabelanger (license 224) Tested by: pabelanger, russell 2010-05-12 19:53 +0000 [r262796-262798] Leif Madsen * res/ael/pval.c: Revert previous WARNING message removal. Marquis42 suggested a better method of doing what I wanted because I ended up removing the WARNING message for all instances when really I just wanted to remove it for the 'return' keyword, not everything. (issue #17145) * res/ael/pval.c: Remove unnecessary WARNING message in ael/pval.c (closes issue #17145) Reported by: okrief 2010-05-12 18:01 +0000 [r262744] David Vossel * /, apps/app_meetme.c: Merged revisions 262662 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r262662 | dvossel | 2010-05-12 12:00:04 -0500 (Wed, 12 May 2010) | 11 lines fixes app_meetme dsp error We attempted to detect silence after translating a frame from signed linear. This caused a flooding of errors. To resolve this the code to detect silence was moved before the translation. (closes issue #17133) Reported by: jsdyer ........ 2010-05-12 17:57 +0000 [r262661-262743] Richard Mudgett * channels/chan_dahdi.c: Don't crash when destroying chan_dahdi pseudo channels. Must do a deep copy of the cc_params in duplicate_pseudo(). Otherwise, when the duplicate pseudo channel is destroyed, it frees the original pseudo channel cc_params. The original pseudo channel is then left with a dangling pointer for when the next duplicated pseudo channel is created. * channels/chan_misdn.c: Merged revisions 262657,262660 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier .......... r262660 | rmudgett | 2010-05-12 11:46:47 -0500 (Wed, 12 May 2010) | 4 lines Forgot some conditionals around the callrerouting facility help text. JIRA ABE-2223 .......... r262657 | rmudgett | 2010-05-12 11:26:49 -0500 (Wed, 12 May 2010) | 22 lines Add mISDN Call rerouting facility for point-to-point ISDN lines (exchange line) In the case of ISDN point-to-multipoint (multidevice) you can use the mISDN "facility calldeflect" application for call diversions from external (PSTN) to external (PSTN). In that case this is the only way to get rid of the two call legs to the PBX and let the calling number at the C party become the number of the A party. In the case of ISDN point-to-point (exchange line) the call deflection facility may not be used. Instead a call rerouting facility has to be used. This patch for chan_misdn.c is an extension to realize this service (facility rerouting application). It can accept either spelling: "callrerouting" or "callrerouteing". The patch is tested towards Deutsche Telekom and requires a modified version of mISDN from Digium, Inc. Patches: misdn_rerouteing_corrected.patch (Slightly modified.) JIRA ABE-2223 2010-05-12 16:23 +0000 [r262656] Tilghman Lesher * apps/app_privacy.c: Ensure the arguments are initialized. Also miscellaneous CG cleanup. (closes issue #16576) Reported by: uxbod Patches: 20100505__issue16576.diff.txt uploaded by tilghman (license 14) Tested by: uxbod 2010-05-12 01:00 +0000 [r262613] Paul Belanger * channels/chan_sip.c, include/asterisk/cli.h: Convert to AST_CLI_YESNO and AST_CLI_ONOFF Clean up chan_sip.c to use new AST_CLI functions (closes issue #17287) Reported by: pabelanger Patches: issue17287.patch uploaded by pabelanger (license 224) Tested by: russell 2010-05-11 23:18 +0000 [r262569] Richard Mudgett * configure, include/asterisk/autoconfig.h.in, configure.ac, channels/sig_pri.c: Dialing an invalid extension causes incomplete hangup sequence. Revision -r1489 of the libpri 1.4 branch corrected a deviation from Q.931 Section 5.3.2. However, this resulted in an unexpected behaviour change to the upper layer (Asterisk). This change uses pri_hangup_fix_enable() to follow Q.931 Section 5.3.2 call hangup better if the version of libpri supports it. (issue #17104) Reported by: shawkris Tested by: rmudgett 2010-05-11 21:25 +0000 [r262513] Tilghman Lesher * include/asterisk/causes.h: Move cause 200 to cause 26, as specified in Q.850. Also cleanup the formatting and add a few more that seem like good candidates. (closes issue #16157) Reported by: wimpy 2010-05-11 19:57 +0000 [r262422] Jason Parker * /, res/Makefile: Merged revisions 262421 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r262421 | qwell | 2010-05-11 14:55:42 -0500 (Tue, 11 May 2010) | 11 lines Use a less silly method for modifying a flex-generated file. The sed syntax that was used wasn't actually valid, causing some versions to choke. This is the method that is used in 1.6.x+ for similar changes. (closes issue #16696) Reported by: bklang Patches: 16696-sedfix.diff uploaded by qwell (license 4) Tested by: qwell ........ 2010-05-11 19:40 +0000 [r262414-262419] Paul Belanger * pbx/pbx_config.c: Improve logging by displaying line number (closes issue #16303) Reported by: dant Patches: issue16303.patch.v2 uploaded by pabelanger (license 224) Tested by: dant, lmadsen, pabelanger * channels/chan_sip.c: Improve logging information for misconfigured contexts (closes issue #17238) Reported by: pprindeville Patches: chan_sip-bug17238.patch uploaded by pprindeville (license 347) Tested by: pprindeville 2010-05-11 17:23 +0000 [r262330] Tilghman Lesher * /, Makefile.rules, apps/app_voicemail.c: Merged revisions 262321 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r262321 | tilghman | 2010-05-11 12:22:07 -0500 (Tue, 11 May 2010) | 2 lines Fix issue #17302 a slightly different way (mad props to Qwell) ........ 2010-05-11 16:43 +0000 [r262299] Jason Parker * bootstrap.sh: Allow bootstrap script to work on Solaris. As usual, the way they do things is different, so we need to account for that. automake is versioned ala BSD/Linux, but autoconf is not. We don't actually need to specify a version there, since AC_PREREQ will cover it for us. Things will fail pretty loudly if AC_PREREQ isn't met. (closes issue #16341) Reported by: bklang Patches: opensolaris_bootstrap.sh uploaded by bklang (license 919) 2010-05-10 19:06 +0000 [r262236-262240] David Vossel * apps/app_directed_pickup.c: fixes PickupChan application (closes issue #16863) Reported by: schern Patches: app_directed_pickup.c.patch uploaded by schern (license 995) for_trunk.diff uploaded by cjacobsen (license 1029) Tested by: Graber, cjacobsen, lathama, rickead2000, dvossel * channels/chan_console.c: fixes crash in chan_console There is a race condition between console_hangup() and start_stream(). It is possible for console_hangup() to be called and then the stream thread to begin after the hangup. To avoid this a check in start_stream() to make sure the pvt-owner still exists while the pvt lock is held is made. If the owner is gone that means the channel hung up and start_stream should be aborted. 2010-05-10 16:36 +0000 [r262152] Tilghman Lesher * /, Makefile.rules: Merged revisions 262151 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r262151 | tilghman | 2010-05-10 11:34:21 -0500 (Mon, 10 May 2010) | 10 lines Allow compilation on Mac OS X 10.4 (Tiger) (closes issue #17297) Reported by: jcovert Patches: 20100506__issue17297.diff.txt uploaded by tilghman (license 14) (closes issue #17302) Reported by: jcovert ........ 2010-05-09 02:14 +0000 [r262048-262102] Tilghman Lesher * autoconf/ast_c_define_check.m4, configure, include/asterisk/autoconfig.h.in, autoconf/ast_ext_lib.m4, autoconf/ast_c_compile_check.m4: Cleanup a bit more by getting rid of useless version defines. Also make library detection use passed CFLAGS. (closes issue #17309) Reported by: stuarth * configure, configure.ac: Use CPPFLAGS to pass PTHREAD_CFLAGS for vpb only 2010-05-07 23:54 +0000 [r262005] Alec L Davis * UPGRADE.txt, apps/app_voicemail.c: VoicemailMain and VMauthenticate, allow escape to the 'a' extension when a single '*' is entered Where a site uses VoicemailMain(mailbox) the users have to be at their own extension to clear their voicemail, they have no way of escaping VoicemailMain to allow entry of new boxnumber. This patch, allows a site to include to 'a' priority in the VoicemailMain context, to allow an escape. If the 'a' priority doesn't exist in the context that VoicemailMain was called from then it acts as the old behaviour. Reported by: alecdavis Tested by: alecdavis Patch vm_a_extension.diff2.txt uploaded by alecdavis (license 585) Review: https://reviewboard.asterisk.org/r/489/ 2010-05-07 22:09 +0000 [r261913-261964] Tilghman Lesher * addons/ooh323c/src/ooh323.c: Fix build on Linux * funcs/func_odbc.c: Double free crash (closes issue #17245) Reported by: thedavidfactor Patches: 20100426__issue17245.diff.txt uploaded by tilghman (license 14) Tested by: murraytm * configure, include/asterisk/autoconfig.h.in, configure.ac: Use the detected pthread building flags in every place, instead of hardcoding -lpthread. We nicely detect the right flags on each system for building Asterisk with pthreads, then ignore it for every other build option that requires us to build with pthreads. This caused some items to return a false negative. Also cleanup some minor naming issues that caused "library library" redundancy in the output. (closes issue #17303) Reported by: stuarth Patches: 20100507__issue17303.diff.txt uploaded by tilghman (license 14) Tested by: stuarth 2010-05-07 16:05 +0000 [r261867] Leif Madsen * UPGRADE-1.6.txt: Update UPGRADE-1.6.txt stating insecure=very has been removed. (closes issue #17282) Reported by: stuarth Tested by: stuarth 2010-05-07 15:33 +0000 [r261866] Jeff Peeler * channels/sig_pri.c: Fix deadlock in sig_pri when hanging up. The pri_dchannel thread currently violates locking order by locking the private and then attempting to queue a frame, which needs to lock the channel. Queueing a frame is unneccesary though and is actually a regression since sig_pri. All the places that currently use ast_softhangup_nolock now will just set the softhangup value directly as before. (closes issue #17216) Reported by: lmsteffan Patches: bug17216.patch uploaded by jpeeler (license 325) 2010-05-06 23:41 +0000 [r261822] Richard Mudgett * channels/sig_pri.c: Some code optimizations. * Made more places use pri_queue_control() instead of pri_queue_frame() and a local frame variable. * Made pri_queue_frame() use sig_pri_lock_owner(). pri_queue_frame() no longer releases the libpri access lock unless it is required. * Made the pri_queue_frame() and pri_queue_control() parameter list similar to sig_pri_lock_owner(). 2010-05-06 20:11 +0000 [r261736] Jeff Peeler * /, apps/app_voicemail.c: Merged revisions 261735 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r261735 | jpeeler | 2010-05-06 15:10:59 -0500 (Thu, 06 May 2010) | 8 lines Only allow the operator key to be accepted after leaving a voicemail. Or rather disallow the operator key from being accepted when not offered, such as after finishing a recording from within the mailbox options menu. ABE-2121 SWP-1267 ........ 2010-05-06 17:06 +0000 [r261609] Jason Parker * /, sounds/Makefile: Merged revisions 261608 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r261608 | qwell | 2010-05-06 11:56:02 -0500 (Thu, 06 May 2010) | 4 lines Use the versioned MOH tarballs, now that we have them. This makes for more reproducibility. Prompted by a discussion in #asterisk-dev ........ 2010-05-06 15:39 +0000 [r261560] Tilghman Lesher * channels/sip/include/sip.h: Permit more lines within a SIP body to be parsed. The example given within the related issue showed 120 lines, which was mostly a result of the body being XML. (closes issue #17179) Reported by: khw 2010-05-06 14:15 +0000 [r261496-261500] Russell Bryant * tests/test_heap.c: Add test case for removing random elements from a heap. I modified the original patch for trunk to use the unit test API. (issue #17277) Reported by: cappucinoking Patches: test_heap.diff uploaded by cappucinoking (license 1036) Tested by: cappucinoking, russell * main/heap.c: Fix handling of removing nodes from the middle of a heap. This bug surfaced in 1.6.2 and does not affect code in any other released version of Asterisk. It manifested itself as SIP qualify not happening when it should, causing peers to go unreachable. This was debugged down to scheduler entries sometimes not getting executed when they were supposed to, which was in turn caused by an error in the heap code. The problem only sometimes occurs, and it is due to the logic for removing an entry in the heap from an arbitrary location (not just popping off the top). The scheduler performs this operation frequently when entries are removed before they run (when ast_sched_del() is used). In a normal pop off of the top of the heap, a node is taken off the bottom, placed at the top, and then bubbled down until the max heap property is restored (see max_heapify()). This same logic was used for removing an arbitrary node from the middle of the heap. Unfortunately, that logic is full of fail. This patch fixes that by fully restoring the max heap property when a node is thrown into the middle of the heap. Instead of just pushing it down as appropriate, it first pushes it up as high as it will go, and _then_ pushes it down. Lastly, fix a minor problem in ast_heap_verify(), which is only used for debugging. If a parent and child node have the same value, that is not an error. The only error is if a parent's value is less than its children. A huge thanks goes out to cappucinoking for debugging this down to the scheduler, and then producing an ast_heap test case that demonstrated the breakage. That made it very easy for me to focus on the heap logic and produce a fix. Open source projects are awesome. (closes issue #16936) Reported by: ib2 Tested by: cappucinoking, crjw (closes issue #17277) Reported by: cappucinoking Patches: heap-fix.rev2.diff uploaded by russell (license 2) Tested by: cappucinoking, russell 2010-05-06 07:27 +0000 [r261451] Tzafrir Cohen * channels/chan_dahdi.c: When failing to configure, don't destroy 'cfg' twice Fixes a crash when some config section had an incorrect channel config. 2010-05-05 22:22 +0000 [r261405] Richard Mudgett * channels/chan_dahdi.c: Avoid a crash on SS7 channels. 2010-05-05 20:48 +0000 [r261364] Russell Bryant * Makefile, configs/asterisk.conf.sample: Restore previous asterisk.conf syntax, where the directories aren't commented out. This fixes some breakage in the test suite, that uses the contents of asterisk.conf to discover the install layout on the system. 2010-05-05 19:13 +0000 [r261316] David Vossel * channels/chan_sip.c: fixes sip native transfer The Refer-To header field containing the Replaces header in the URI was not being decoded properly. This caused invalid parsing between the caller id field and the domain resulting in a failed transfer. (closes issue #17284) Reported by: dvossel 2010-05-05 18:43 +0000 [r261314] Paul Belanger * /, channels/chan_sip.c: Merged revisions 261274 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r261274 | pabelanger | 2010-05-05 12:42:22 -0400 (Wed, 05 May 2010) | 12 lines Registration fix for SIP realtime. Make sure realtime fields are not empty. (closes issue #17266) Reported by: Nick_Lewis Patches: chan_sip.c-realtime.patch uploaded by Nick Lewis (license 657) Tested by: Nick_Lewis, sberney Review: https://reviewboard.asterisk.org/r/643/ ........ 2010-05-05 18:28 +0000 [r261313] Mark Michelson * channels/sip/dialplan_functions.c: Prevent unnecessary warnings when getting rtpsource or rtpdest. If a recognized media type was present, but the media type was not enabled for the channel, then a warning would be emitted. For instance, attempting to get CHANNEL(rtpsource,video) on a call with no video would cause a warning message to appear. With this change, the warning will only appear if the stream argument is not recognized as being a media type that can be specified. 2010-05-05 15:42 +0000 [r261124-261232] Paul Belanger * apps/app_queue.c: 'queue reset stats' erroneously clears wrapuptime configuration. Resets each member's lastcall to 0 now. (closes issue #17262) Reported by: rain Patches: wrapuptime_reset_fix.diff uploaded by rain (license 327) Tested by: rain * main/manager.c, include/asterisk/cli.h, CHANGES, include/asterisk/manager.h: New 'manager show settings' CLI command. See the CHANGES file for more details. (closes issue #16343) Reported by: pabelanger Patches: issue16343.patch.v5 uploaded by pabelanger (license 224) Tested by: pabelanger, tilghman, lmadsen Review: https://reviewboard.asterisk.org/r/630/ * Makefile, configs/asterisk.conf.sample (added): New static asterisk.conf.sample file. This simply moves the functionality from the Makefile (cleaning it up) into an external asterisk.conf.samples file. Also updates formatting (easier to read) and grammar changes to asterisk.conf.samples. (closes issue #17027) Reported by: pabelanger Patches: 0017027.asterisk.conf.v6.patch uploaded by pabelanger (license 224) Tested by: qwell, lmadsen, pabelanger, chappell Review: https://reviewboard.asterisk.org/r/616/ 2010-05-04 23:51 +0000 [r261095] Tilghman Lesher * main/channel.c, /: Merged revisions 261093-261094 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r261093 | tilghman | 2010-05-04 18:36:53 -0500 (Tue, 04 May 2010) | 7 lines Protect against overflow, when calculating how long to wait for a frame. (closes issue #17128) Reported by: under Patches: d.diff uploaded by under (license 914) ........ r261094 | tilghman | 2010-05-04 18:47:08 -0500 (Tue, 04 May 2010) | 2 lines Add a tiny corner case to the previous commit ........ 2010-05-04 22:46 +0000 [r261051] Mark Michelson * configs/queues.conf.sample, CHANGES, apps/app_queue.c: Add new possible value to autopause option to allow members to be autopaused in all queues. See the CHANGES file and queues.conf.sample for more details. (closes issue #17008) Reported by: jlpedrosa Patches: queues.autopause_en_review.diff uploaded by jlpedrosa (license 1002) Review: https://reviewboard.asterisk.org/r/581/ 2010-05-04 21:10 +0000 [r261007] Richard Mudgett * channels/sig_pri.h, channels/chan_dahdi.c, channels/sig_analog.c, channels/sig_analog.h, channels/sig_pri.c: The inalarm flag is not passed up from the sig_analog and sig_pri submodules. The CLI "dahdi show channel" command was not correctly reporting the InAlarm status. The inalarm flag is now consistently passed between chan_dahdi and submodules. 2010-05-04 18:51 +0000 [r260924] Jeff Peeler * /, apps/app_voicemail.c: Merged revisions 260923 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r260923 | jpeeler | 2010-05-04 13:46:46 -0500 (Tue, 04 May 2010) | 12 lines Voicemail transfer to operator should occur immediately, not after main menu. There were two scenarios in the advanced options that while using the operator=yes and review=yes options, the transfer occurred only after exiting the main menu (after sending a reply or leaving a message for an extension). Now after the audio is processed for the reply or message the transfer occurs immediately as expected. ABE-2107 ABE-2108 ........ 2010-05-04 15:49 +0000 [r260802] Jason Parker * /, build_tools/make_build_h: Merged revisions 260801 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r260801 | qwell | 2010-05-04 10:49:27 -0500 (Tue, 04 May 2010) | 1 line Fix fallout from removing from configure script. Pointed out by philipp64 on #asterisk-dev ........ 2010-05-03 22:13 +0000 [r260757] Jeff Peeler * apps/app_meetme.c, CHANGES: Add new admin features to meetme: Roll call, eject all, mute all, record in-conf This patch adds the following in-conference admin DTMF features: *81 - Roll call (or simply user count if INTROUSER isn't enabled) *82 - Eject all non-admins *83 - Mute/unmute all non-admins *84 - Start recording the conference on the fly FWIW, this code uses newly recorded prompts. (closes issue #16379) Reported by: rfinnie Patches: meetme-enhancements-232771-v1.patch uploaded by rfinnie (license 940) modified slightly by me 2010-05-03 17:06 +0000 [r260663] Paul Belanger * Makefile, /: Merged revisions 260661-260662 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r260661 | pabelanger | 2010-05-03 12:41:30 -0400 (Mon, 03 May 2010) | 10 lines non-root make install PREFIX=/tmp fails. Prepend libdir when executing mkpkgconfig allowing non-root installs to work. (closes issue #17268) Reported by: pabelanger Patches: issue17268.patch uploaded by pabelanger (license 224) Tested by: pabelanger ........ r260662 | pabelanger | 2010-05-03 12:54:41 -0400 (Mon, 03 May 2010) | 3 lines Should have removed /usr/lib/ part. Thanks Qwell. ........ 2010-05-03 14:58 +0000 [r260570] Leif Madsen * doc/HOWTO_collect_debug_information.txt: Merged revisions 260569 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r260569 | lmadsen | 2010-05-03 09:57:39 -0500 (Mon, 03 May 2010) | 1 line Minor typo pointed out by pabelanger on IRC. ........ 2010-05-02 02:52 +0000 [r260521] Eliel C. Sardanons * main/data.c, include/asterisk/data.h: Avoid making AstData depend on libxml2 to compile. We have some functions inside the AstData API to get the tree in XML form, but it is not required at the moment to compile asterisk and we can disable that part of the API if we don't have libxml2 support. 2010-04-30 22:36 +0000 [r260437] Jeff Peeler * channels/chan_dahdi.c, channels/sig_analog.c, /, channels/sig_analog.h: Merged revisions 260434 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r260434 | jpeeler | 2010-04-30 17:22:46 -0500 (Fri, 30 Apr 2010) | 11 lines Ensure channel state is not incorrectly set in the case of a very early answer. The needringing bit was being read in dahdi_read after answering thereby setting the state to ringing from up. This clears needringing upon answering so that is no longer possible. (closes issue #17067) Reported by: tzafrir Patches: needringing.diff uploaded by tzafrir (license 46) ........ 2010-04-30 22:24 +0000 [r260435] Richard Mudgett * channels/sig_pri.h, channels/chan_dahdi.c, channels/sig_pri.c: Separate the uses of NUM_DCHANS and MAX_CHANNELS into PRI, SS7, and MFCR2 users. Created SIG_PRI_MAX_CHANNELS, SIG_PRI_NUM_DCHANS SIG_SS7_MAX_CHANNELS, SIG_SS7_NUM_DCHANS SIG_MFCR2_MAX_CHANNELS Also fixed the declaration of pollers[] in mfcr2_monitor(). It was dimensioned to the number of bytes in struct dahdi_mfcr2.pvts[] and not to the same dimension of the struct dahdi_mfcr2.pvts[]. 2010-04-30 20:11 +0000 [r260344-260346] Mark Michelson * /, res/res_musiconhold.c: Merged revisions 260345 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r260345 | mmichelson | 2010-04-30 15:08:15 -0500 (Fri, 30 Apr 2010) | 18 lines Fix potential crash from race condition due to accessing channel data without the channel locked. In res_musiconhold.c, there are several places where a channel's stream's existence is checked prior to calling ast_closestream on it. The issue here is that in several cases, the channel was not locked while checking the stream. The result was that if two threads checked the state of the channel's stream at approximately the same time, then there could be a situation where both threads attempt to call ast_closestream on the channel's stream. The result here is that the refcount for the stream would go below 0, resulting in a crash. I have added proper channel locking to res_musiconhold.c to ensure that we do not try to check chan->stream without the channel locked. A Digium customer has been using this patch for several weeks and has not had any crashes since applying the patch. ABE-2147 ........ * apps/app_queue.c: Fix logic reversal error when queue callers join the queue. When a specific position is specified for the queue, the idea was that the caller cannot be placed ahead of higher-priority callers. Unfortunately, the logic was reversed so that the caller could ONLY be placed ahead of higher priority callers. Discovered while writing a unit test. 2010-04-30 06:19 +0000 [r260280-260292] Tilghman Lesher * main/strcompat.c: Don't allow file descriptors to go above 64k, when we're closing them in a fork(2). This saves time, when, even though the system allows the process limit to be that high, the practical limit is much lower. Also introduce an additional optimization, in the form of using the CLOEXEC flag to close descriptors at the right time. (closes issue #17223) Reported by: dbackeberg Patches: 20100423__issue17223.diff.txt uploaded by tilghman (license 14) Tested by: dbackeberg * configs/extensions.conf.sample: Logic fixups for a sample FREENUM dialplan context. (closes issue #17263) Reported by: pprindeville Patches: freenum-dialplan.patch#3 uploaded by pprindeville (license 347) 2010-04-29 22:44 +0000 [r260231] Richard Mudgett * channels/chan_dahdi.c, channels/sig_analog.c, /: Merged revisions 260195 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r260195 | rmudgett | 2010-04-29 17:11:47 -0500 (Thu, 29 Apr 2010) | 26 lines DTMF CallerID detection problems. The code handling DTMF CallerID drops digits on long CallerID numbers and may timeout waiting for the first ring with shorter numbers. The DTMF emulation mode was not turned off when processing DTMF CallerID. When the emulation code gets behind in processing the DTMF digits it can skip a digit. For shorter numbers, the timeout may have been too short. I increased it from 2 seconds to 4 seconds. Four seconds is a typical time between rings for many countries. (closes issue #16460) Reported by: sum Patches: issue16460.patch uploaded by rmudgett (license 664) issue16460_v1.6.2.patch uploaded by rmudgett (license 664) Tested by: sum, rmudgett Review: https://reviewboard.asterisk.org/r/634/ JIRA SWP-562 JIRA AST-334 JIRA SWP-901 ........ 2010-04-29 18:15 +0000 [r260148] Tilghman Lesher * configs/extensions.conf.sample: Pattern match fail. 2010-04-29 15:33 +0000 [r260050] David Vossel * /, include/asterisk/audiohook.h, main/audiohook.c: Merged revisions 260049 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r260049 | dvossel | 2010-04-29 10:31:02 -0500 (Thu, 29 Apr 2010) | 14 lines Fixes crash in audiohook_write_list The middle_frame in the audiohook_write_list function was being freed if a audiohook manipulator returned a failure. This is incorrect logic. This patch resolves this and adds detailed descriptions of how this function should work and why manipulator failures must be ignored. (closes issue #17052) Reported by: dvossel Tested by: dvossel (closes issue #16196) Reported by: atis Review: https://reviewboard.asterisk.org/r/623/ ........ 2010-04-29 00:35 +0000 [r260007] Richard Mudgett * include/asterisk/extconf.h: Fix comment. 2010-04-28 22:34 +0000 [r259957] Mark Michelson * channels/chan_sip.c, channels/sip/include/sip.h: Don't override peer context with domain context. (closes issue #17040) Reported by: pprindeville Patches: asterisk-1.6-bugid17040.patch uploaded by pprindeville (license 347) Tested by: pprindeville Review: https://reviewboard.asterisk.org/r/565/ 2010-04-28 21:20 +0000 [r259870] David Vossel * main/channel.c, channels/chan_local.c, /: Merged revisions 259858 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r259858 | dvossel | 2010-04-28 16:16:03 -0500 (Wed, 28 Apr 2010) | 33 lines resolves deadlocks in chan_local Issue_1. In the local_hangup() 3 locks must be held at the same time... pvt, pvt->chan, and pvt->owner. Proper deadlock avoidance is done when the channel to hangup is the outbound chan_local channel, but when it is not the outbound channel we have an issue... We attempt to do deadlock avoidance only on the tech pvt, when both the tech pvt and the pvt->owner are locked coming into that loop. By never giving up the pvt->owner channel deadlock avoidance is not entirely possible. This patch resolves that by doing deadlock avoidance on both the pvt->owner and the pvt when trying to get the pvt->chan lock. Issue_2. ast_prod() is used in ast_activate_generator() to queue a frame on the channel and make the channel's read function get called. This function is used in ast_activate_generator() while the channel is locked, which mean's the channel will have a lock both from the generator code and the frame_queue code by the time it gets to chan_local.c's local_queue_frame code... local_queue_frame contains some of the same crazy deadlock avoidance that local_hangup requires, and this recursive lock prevents that deadlock avoidance from happening correctly. This patch removes ast_prod() from the channel lock so only one lock is held during the local_queue_frame function. (closes issue #17185) Reported by: schmoozecom Patches: issue_17185_v1.diff uploaded by dvossel (license 671) issue_17185_v2.diff uploaded by dvossel (license 671) Tested by: schmoozecom, GameGamer43 Review: https://reviewboard.asterisk.org/r/631/ ........ 2010-04-28 21:08 +0000 [r259853] Leif Madsen * /, config.guess: Merged revisions 259852 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r259852 | lmadsen | 2010-04-28 16:07:48 -0500 (Wed, 28 Apr 2010) | 6 lines Update config.guess. Updating config.guess because after installing Ubuntu Server 9.10 and running all the update scripts, running ./configure would not continue because it was unable to determine what kind of system I had. After updating config.guess things started working again. ........ 2010-04-28 20:32 +0000 [r259760-259848] Jason Parker * /, configure, configure.ac: Merged revisions 259847 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r259847 | qwell | 2010-04-28 15:30:21 -0500 (Wed, 28 Apr 2010) | 1 line Add AC_CONFIG_AUX_DIR to configure script, so systems without install can use install-sh from our source dir. ........ * /, makeopts.in: Merged revisions 259833 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r259833 | qwell | 2010-04-28 15:25:36 -0500 (Wed, 28 Apr 2010) | 1 line Missed this when removing $ID ........ * Makefile, /, configure, configure.ac: Merged revisions 259748 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r259748 | qwell | 2010-04-28 14:17:38 -0500 (Wed, 28 Apr 2010) | 7 lines Remove usage of `id` since it isn't useful and was causing breakge. Solaris `id` doesn't support the -u argument. Instead of figuring out how to fix this to work on Solaris, I decided to check why it was necessary and where else it was used. It was only used in one place, and it hasn't been needed for a very long time (I question whether it was ever needed). ........ 2010-04-28 17:18 +0000 [r259672] Jeff Peeler * /, apps/app_voicemail.c: Merged revisions 259664 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r259664 | jpeeler | 2010-04-28 12:13:29 -0500 (Wed, 28 Apr 2010) | 4 lines Do not play goodbye prompt after timeout of message review. ABE-2124 ........ 2010-04-27 22:47 +0000 [r259587-259617] Jason Parker * res/res_agi.c: Fix compile on systems without HAVE_NULLSAFE_PRINTF defined. * channels/sip/dialplan_functions.c: Be more explicit about field naming in a test. 2010-04-27 22:18 +0000 [r259538] Richard Mudgett * channels/chan_dahdi.c, /: Merged revisions 259531 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r259531 | rmudgett | 2010-04-27 16:53:07 -0500 (Tue, 27 Apr 2010) | 11 lines DAHDI "WARNING" message is confusing and vague "WARNING[28406]: chan_dahdi.c:6873 ss_thread: CallerID feed failed: Success" Changed the warning to "Failed to decode CallerID on channel 'name'". The message before it is likely more specific about why the CallerID decode failed. SWP-501 AST-283 ........ 2010-04-27 22:11 +0000 [r259533] Mark Michelson * main/ccss.c: Shuffle some casts to make builds on bamboo happier. 2010-04-27 21:49 +0000 [r259527] Leif Madsen * /, sounds/Makefile: Merged revisions 259526 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r259526 | lmadsen | 2010-04-27 16:48:47 -0500 (Tue, 27 Apr 2010) | 15 lines Update sounds files. * Add additional sounds prompts for say_enumeration * Update the English conference sounds prompts so they are better quality and all sound more consistent * Clean up the core-sounds-XX.txt and extra-sounds-XX.txt files to include all present sound files Both core (en, fr, es) and extra (en, fr) sounds files have been updated. (closes issue #16200) Reported by: murf (closes issue #17137) Reported by: lmadsen ........ 2010-04-27 21:18 +0000 [r259439-259451] Jason Parker * /: Block 259441 instead of recording it as merged. * /: Recorded merge of revisions 259441 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r259441 | qwell | 2010-04-27 16:15:46 -0500 (Tue, 27 Apr 2010) | 1 line Add gar to the check for AR for those silly OSes (Solaris) that don't have ar. ........ * main/editline/configure, main/editline/Makefile.in, main/editline/configure.in: Add gar to the check for AR for those silly OSes (Solaris) that don't have ar. autoconf2.13 couldn't handle AC_PROG_GREP, so I removed it. This is fine, since we don't need to use anything that the configure script doesn't. 2010-04-27 21:10 +0000 [r259438] Leif Madsen * include/asterisk/doxygen/mantisworkflow.h: Update the Mantis Workflow document in doxygen. (closes issue #17175) Reported by: lmadsen Patches: Bug_Tracker_Workflow.v2.txt uploaded by pabelanger (license 224) Tested by: pabelanger, lmadsen 2010-04-27 19:52 +0000 [r259357] Mark Michelson * main/ccss.c: Change cc_ref and cc_unref from macros to inline functions. The hope is that Solaris won't be as whiny after this change. 2010-04-27 19:31 +0000 [r259353] Jason Parker * /, configure, configure.ac: Merged revisions 259352 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r259352 | qwell | 2010-04-27 14:29:26 -0500 (Tue, 27 Apr 2010) | 5 lines Support the silly OSes that don't have ar and strip. Since AC_PATH_TOOL is equiv to AC_CHECK_TOOL when path isn't specified, and AC_PATH_TOOLS doesn't exist, we'll just switch to AC_CHECK_TOOLS. ........ 2010-04-27 18:29 +0000 [r259229-259307] Richard Mudgett * channels/chan_dahdi.c, configs/chan_dahdi.conf.sample, /: Merged revisions 259270 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r259270 | rmudgett | 2010-04-27 13:14:54 -0500 (Tue, 27 Apr 2010) | 14 lines hidecalleridname parameter in chan_dahdi.conf Issue #7321 implements a new chan_dahdi configuration option. However, a change mentioned in the issue was never implemented. This is the change that will allow the feature to work. I added a note to chan_dahdi.conf.sample about the feature. (closes issue #17143) Reported by: djensen99 Patches: diff.txt uploaded by djensen99 (license NA) (One line change) Tested by: djensen99 ........ * channels/chan_dahdi.c: Re-fix dahdi_request() iflist locking since CCSS merged. 2010-04-27 15:25 +0000 [r259189] Tilghman Lesher * contrib/init.d/etc_default_asterisk (added): Add missing file (pointed out by TheDavidFactor on #asterisk-dev) referenced by revision 239231. 2010-04-26 21:45 +0000 [r259023-259105] Mark Michelson * main/channel.c, /: Merged revisions 259104 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r259104 | mmichelson | 2010-04-26 16:44:43 -0500 (Mon, 26 Apr 2010) | 3 lines Let compilation succeed warning-free when DONT_OPTIMIZE is turned off. ........ * main/channel.c, /: Merged revisions 259018 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r259018 | mmichelson | 2010-04-26 16:03:08 -0500 (Mon, 26 Apr 2010) | 13 lines Prevent Newchannel manager events for dummy channels. No Newchannel manager event will be fired for channels that are allocated to not match a registered technology type. Thus bogus channels allocated solely for variable substitution or CDR operations do not result in a Newchannel event. (closes issue #16957) Reported by: atis Review: https://reviewboard.asterisk.org/r/601 ........ 2010-04-26 19:05 +0000 [r258974] David Ruggles * contrib/valgrind.supp: Line 24 missed in compatibility fix in revision 233577 added a "fun:" prefix line 24 2010-04-26 15:59 +0000 [r258934] Leif Madsen * channels/chan_sip.c: Small error in the T.140 RTP port verbose log. (closes issue #16988) Reported by: frawd Patches: chan_sip_sdp_verbose_fix.diff uploaded by frawd (license 610) Tested by: russell 2010-04-26 14:18 +0000 [r258896] Matthew Nicholson * res/res_fax.c, include/asterisk/res_fax.h, res/res_fax_spandsp.c: Update res_fax and res_fax_spandsp to be compatible with Fax For Asterisk 1.2. The fax session initilization code for T.38 faxes has been rewritten. T.38 session initialization was removed from generic_fax_exec, and split into two different code paths for receive and send. Also the 'z' option (to send a T.38 reinvite if we do not receive one) was added to sendfax. In the output of 'fax show sessions', the 'Type' column has been renamed to 'Tech' and replaced with a new 'Tech' column that will report 'G.711' or 'T.38'. Control of ECM defaults has been added to res_fax A 'fax show settings' CLI command has been added. Support of the new AST_T38_REQUEST_PARMS control method request to handle channels that have already received a T.38 reinvite before the FAX application is start has been added. Support for the 'fax show settings' command has been added to res_fax_spandsp and handling of the ECM flag has been slightly altered. 2010-04-25 18:51 +0000 [r258838-258855] Alexandr Anikin * addons/chan_ooh323.c: additional checking related to issue 17186 * addons/chan_ooh323.c: Don't pass zero length callerid to ooh323 stack Don't pass zero callerid string to ooh323 stack because it can't encode this properly and can't generate setup message. (closes issue #17186) Reported by: vmikhelson Patches: zero_callerid_num.patch uploaded by may213 (license 454) Tested by: may213 2010-04-25 18:12 +0000 [r258776] Tilghman Lesher * /, res/res_monitor.c: Merged revisions 258775 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r258775 | tilghman | 2010-04-25 13:09:05 -0500 (Sun, 25 Apr 2010) | 6 lines When StopMonitor is called, ensure that it will not be restarted by a channel event. (closes issue #16590) Reported by: kkm Patches: resmonitor-16590-trunk.239289.diff uploaded by kkm (license 888) ........ 2010-04-22 22:19 +0000 [r258685] Jason Parker * utils/extconf.c: Add another random function that does nothing to make the utils/ dir happy. 2010-04-22 22:11 +0000 [r258675] Matthew Nicholson * main/channel.c: Fix previous commit. 2010-04-22 22:10 +0000 [r258673-258674] Jason Parker * utils/Makefile, utils/extconf.c: Make utils/ stuff *actually* compile this time. * utils/Makefile, utils/extconf.c: Let utils/ dir compile when DEBUG_THREADS is not enabled. 2010-04-22 21:57 +0000 [r258671] Matthew Nicholson * main/cdr.c, main/channel.c, /, main/features.c: Merged revisions 193391,258670 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r193391 | mnicholson | 2009-05-08 16:01:25 -0500 (Fri, 08 May 2009) | 8 lines Set the proper disposition on originated calls. (closes issue #14167) Reported by: jpt Patches: call-file-missing-cdr2.diff uploaded by mnicholson (license 96) Tested by: dlotina, rmartinez, mnicholson ........ r258670 | mnicholson | 2010-04-22 16:49:07 -0500 (Thu, 22 Apr 2010) | 11 lines Fix broken CDR behavior. This change allows a CDR record previously marked with disposition ANSWERED to be set as BUSY or NO ANSWER. Additionally this change partially reverts r235635 and does not set the AST_CDR_FLAG_ORIGINATED flag on CDRs generated from ast_call(). To preserve proper CDR behavior, the AST_CDR_FLAG_DIALED flag is now cleared from all brige CDRs in ast_bridge_call(). (closes issue #16797) Reported by: VarnishedOtter Tested by: mnicholson ........ (closes issue #16222) Reported by: telles Tested by: mnicholson 2010-04-22 21:06 +0000 [r258632] Russell Bryant * tests/test_event.c, main/event.c: Add ast_event subscription unit test and fix some ast_event API bugs. This patch introduces another test in test_event.c that exercises most of the subscription related ast_event API calls. I made some minor additions to the existing event allocation test to increase API coverage by the test code. Finally, I made a list in a comment of API calls not yet touched by the test module as a to-do list for future test development. During the development of this test code, I discovered a number of bugs in the event API. 1) subscriptions to AST_EVENT_ALL were not handled appropriately in a couple of different places. The API allows a subscription to all event types, but with IE parameters, just as if it was a subscription to a specific event type. However, the parameters were being ignored. This affected ast_event_check_subscriber() and event distribution to subscribers. 2) Some of the logic in ast_event_check_subscriber() for checking subscriptions against query parameters was wrong. Review: https://reviewboard.asterisk.org/r/617/ 2010-04-22 20:04 +0000 [r258595] Eliel C. Sardanons * apps/app_voicemail.c: Pass interactive = 0 and fix a compile error. 2010-04-22 19:08 +0000 [r258557] Jason Parker * main/lock.c (added), include/asterisk/res_odbc.h, include/asterisk/astobj2.h, main/heap.c, include/asterisk/lock.h, main/astobj2.c, res/res_odbc.c, include/asterisk/heap.h: Remove ABI differences that occured when compiling with DEBUG_THREADS. "Bad Things" would happen if Asterisk was compiled with DEBUG_THREADS, but a loaded module was not (or vice versa). This also immensely simplifies the lock code, since there are no longer 2 separate versions of them. Review: https://reviewboard.asterisk.org/r/508/ 2010-04-22 18:07 +0000 [r258517] Eliel C. Sardanons * doc/manager_1_1.txt, main/channel.c, include/asterisk/doxyref.h, include/asterisk/xml.h, main/data.c (added), main/xml.c, include/asterisk/channel.h, include/asterisk/_private.h, include/asterisk/data.h (added), CHANGES, apps/app_queue.c, main/asterisk.c, apps/app_voicemail.c: Asterisk data retrieval API. This module implements an abstraction for retrieving and exporting asterisk data. Developed by: Brett Bryant Eliel C. Sardanons (LU1ALY) For the Google Summer of code 2009 Project. Documentation can be found in doxygen format and inside the header include/asterisk/data.h Review: https://reviewboard.asterisk.org/r/275/ 2010-04-22 17:36 +0000 [r258515] Russell Bryant * doc/tex/channelvariables.tex: Add MEETMEBOOKID from r256019. 2010-04-21 21:56 +0000 [r258433] Jeff Peeler * /, apps/app_voicemail.c: Merged revisions 258432 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r258432 | jpeeler | 2010-04-21 16:45:36 -0500 (Wed, 21 Apr 2010) | 8 lines Fix looping forever when no input received in certain voicemail menu scenarios. Specifically, prompting for an extension (when leaving or forwarding a message) or when prompting for a digit (when saving a message or changing folders). ABE-2122 SWP-1268 ........ 2010-04-21 19:45 +0000 [r258351-258387] Leif Madsen * doc/tex/asterisk.tex: Missed this when reverting the bad version change in asterisk.tex. * doc/tex/asterisk.tex: Fix change in asterisk.tex that got merged in after testing. (issue #17220) * Makefile, doc/tex/security-events.tex, configure, include/asterisk/autoconfig.h.in, doc/tex/Makefile, configure.ac, doc/tex/phoneprov.tex, doc/tex, doc/tex/ael.tex, build_tools/prep_tarball, doc/tex/localchannel.tex, doc/tex/enum.tex, makeopts.in, doc/tex/asterisk.tex, doc/tex/cel-doc.tex: Add ability to generate ASCII documentation from the TeX files. These changes add the ability to run 'make asterisk.txt' just like the existing 'make asterisk.pdf' commands to generate a text document from the TeX files we have in the doc/tex/ directory. I've also updated a few of the .tex files because they weren't properly escaping certain characters so they would show up as Unicode characters (like [U+021C]). Made changes to the configure scripts so it would detect the catdvi program which is required to convert the .dvi file generated by latex. I've also added a few lines to the build_tools/prep_tarball script so that the text documentation gets generated and added to future tarballs of Asterisk releases. (closes issue #17220) Reported by: lmadsen Patches: asterisk.txt.patch uploaded by lmadsen (license 10) asterisk.txt.patch-v4 uploaded by pabelanger (license 224) Tested by: lmadsen, pabelanger 2010-04-21 19:07 +0000 [r258345] Mark Michelson * funcs/func_callcompletion.c: Add small documentation update to func_callcompletion.c. This directs users to documents which can help explain the concepts and configuration options settable with the function. 2010-04-21 19:02 +0000 [r258344] Leif Madsen * UPGRADE.txt, CHANGES, channels/chan_iax2.c: IAXpeers output now matches SIPpeers format for manager (AMI). (closes issue #17100) Reported by: secesh Tested by: pabelanger Review: https://reviewboard.asterisk.org/r/594/ 2010-04-21 18:13 +0000 [r258305] David Vossel * channels/chan_sip.c: fixes issue with double "sip:" in header field This is a clear mistake in logic. Future discussions about how to avoid having to handle uri's like this should take place in the future, but this fix needs to go in for now. (closes issue #15847) Reported by: ebroad Patches: doublesip.patch uploaded by ebroad (license 878) 2010-04-21 13:26 +0000 [r258265] Leif Madsen * res/res_calendar_exchange.c, res/res_calendar_icalendar.c, res/res_calendar_caldav.c: Fix the \brief description in the res_calendar_*.c files. 2010-04-21 13:24 +0000 [r258190-258256] Julian Lyndon-Smith * doc/manager_1_1.txt: fix whitespace issue * doc/manager_1_1.txt, doc/tex/manager.tex: Added NEW ACTIONS entry for new MixMonitorMute AMI command. Added State and Direction variables for new MixMonitorMute AMI command. * CHANGES: Added CHANGES entry for new MixMonitorMute AMI command. * main/frame.c, include/asterisk/audiohook.h, main/audiohook.c, include/asterisk/frame.h, apps/app_mixmonitor.c, res/res_mutestream.c: Added MixMonitorMute manager command Added a new manager command to mute/unmute MixMonitor audio on a channel. Added a new feature to audiohooks so that you can mute either read / write (or both) types of frames - this allows for MixMonitor to mute either side of the conversation without affecting the conversation itself. (closes issue #16740) Reported by: jmls Review: https://reviewboard.asterisk.org/r/487/ 2010-04-20 19:02 +0000 [r258106-258149] Leif Madsen * configs/cli_aliases.conf.sample: Add 'soft hangup' alias per Steve Johnson on asterisk-users. * configs/extensions.conf.sample: Add example dialplan for dialing ISN numbers (http://www.freenum.org). Minor tweaks and documentation added by me. (closes issue #17058) Reported by: pprindeville Patches: freenum.patch#5 uploaded by pprindeville (license 347) Tested by: lmadsen * contrib/scripts/sip-friends.sql: Add missing 'useragent' field to sip-friends.sql file. (closes issue #17171) Reported by: thehar Patches: sip-friends.patch uploaded by thehar (license 831) Tested by: pabelanger, thehar 2010-04-20 17:06 +0000 [r258065] Jeff Peeler * /, apps/app_voicemail.c: Merged revisions 258029 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r258029 | jpeeler | 2010-04-20 11:16:33 -0500 (Tue, 20 Apr 2010) | 11 lines Play correct prompt when voicemail store failure occurs after attempted forward. If a user's mailbox was full and a message was attempted to be forwarded to said box, warnings on the console would indicate failure. However, the played prompt was that of success (vm-msgsaved). Now storage failure is taken into account and the correct prompt (vm-mailboxfull) is played when appropriate. ABE-2123 SWP-1262 ........ 2010-04-20 12:38 +0000 [r257988] Leif Madsen * formats/format_pcm.c: Update supported file extensions in doxygen. Updated the doxygen \arg line after looking at the file for some other Asterisk documentation and noticing they weren't up to date. Thanks to seanbright for looking at the code for me :) 2010-04-19 21:57 +0000 [r257947-257949] Jason Parker * main/indications.c: Change log message to match severity. * main/indications.c: Don't consider a missing indications.conf to be a critical error. There were many changes in revision 176627 which would avoid the error that a missing config would have caused. Other than this, there are no other config files (including asterisk.conf, surprisingly) that are required. 2010-04-19 19:23 +0000 [r257883] Tilghman Lesher * apps/app_voicemail.c: Bad merge fix 2010-04-19 18:42 +0000 [r257851] Mark Michelson * funcs/func_srv.c: Commit compromise I suggested on review 608. This allows for multiple SRV queries to be done from the dialplan for the same service on a single call while still allowing one to bypass the call to SRVQUERY if they so please. Taking action since no comments had been left for a while. This can easily be reverted if needed. External tests still pass. 2010-04-19 17:57 +0000 [r257810] Terry Wilson * main/features.c: Fix incomplete CDR merge from r195881 Because res/res_features.c was removed and main/cdr.c added, these changes didn't make it to trunk and the 1.6.x branches 2010-04-18 17:25 +0000 [r257768] Tilghman Lesher * configs/cdr_odbc.conf.sample: Removing unused configuration parameters 2010-04-16 21:22 +0000 [r257713] Dwayne M. Hubbard * /, apps/app_mixmonitor.c: Merged revisions 257686 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r257686 | dhubbard | 2010-04-16 16:15:43 -0500 (Fri, 16 Apr 2010) | 21 lines Make the mixmonitor thread process audio frames faster Mantis issue 17078 reports MixMonitor recordings have shorter durations than the call duration. This was because the mixmonitor thread was not processing frames from the audiohook fast enough. The mixmonitor thread would slowly fall behind the most recent audio frame and when the channel hangs up, the mixmonitor thread would exit without processing the same number of frames as the channel; leaving the mixmonitor recording shorter than actual call duration. This revision fixes this issue by moving the ast_audiohook_trigger_wait() and the subsequent audiohook.status check into the block where the ast_audiohook_read_frame() function returns NULL. (closes issue #17078) Reported by: geoff2010 Patches: dw-M17078.patch uploaded by dhubbard (license 733) Tested by: dhubbard, geoff2010 Review: https://reviewboard.asterisk.org/r/611/ ........ 2010-04-16 19:50 +0000 [r257646] Mark Michelson * channels/chan_sip.c: Make sure to fail a monitor if we receive a negative response for a CC SUBSCRIBE. 2010-04-16 19:25 +0000 [r257642] Dwayne M. Hubbard * channels/chan_dahdi.c: Enable PRI SERVICE message support in chan_dahdi for the 'national' switchtype Revision 1072 of libpri added SERVICE message support for the 'national' switchtype. The attached patch enables the use of 'pri service' CLI commands on dahdi channels that are configured for the 'national' switchtype. (closes issue #17142) Reported by: dhubbard Patches: dw-ni2.patch uploaded by dhubbard (license 733) Tested by: elguero, dhubbard Review: https://reviewboard.asterisk.org/r/612/ 2010-04-15 21:26 +0000 [r257493-257560] Tilghman Lesher * include/asterisk/app.h, /, tests/test_app.c, main/app.c: Merged revisions 257544 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r257544 | tilghman | 2010-04-15 16:23:24 -0500 (Thu, 15 Apr 2010) | 6 lines Allow application options with arguments to contain parentheses, through a variety of escaping techniques. Fixes SWP-1194 (ABE-2143). Review: https://reviewboard.asterisk.org/r/604/ ........ * /, channels/chan_sip.c: Merged revisions 257467 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r257467 | tilghman | 2010-04-15 15:24:50 -0500 (Thu, 15 Apr 2010) | 13 lines Don't recreate peer, when responding to a repeated deregistration attempt. When a reply to a deregistration is lost in transmit, the client retries the deregistration. Previously, this would cause a realtime/autocreate peer to be loaded back into memory, after it had already been correctly purged. Instead, we just want to resend the reply without loading the peer. (closes issue #16908) Reported by: kkm Patches: 20100412__issue16908.diff.txt uploaded by tilghman (license 14) Tested by: kkm ........ 2010-04-15 19:41 +0000 [r257343-257427] Leif Madsen * /, doc/backtrace.txt: Merged revisions 257426 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r257426 | lmadsen | 2010-04-15 14:40:33 -0500 (Thu, 15 Apr 2010) | 13 lines Update backtrace.txt documentation. Update the backtrace.txt documentation so it conforms to the same layout as other documents we've been working on recently. Additionally, add a bunch of new information about gathering backtraces for crashes and deadlocks, along with ways of verifying your file before uploading it. Create a couple of one line commands for people to generate the files we need. (closes issue #17190) Reported by: lmadsen Patches: backtrace.txt.patch-2 uploaded by lmadsen (license 10) Tested by: lmadsen, pabelanger ........ * /, doc/backtrace.txt: Merged revisions 257342 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r257342 | lmadsen | 2010-04-15 08:41:45 -0500 (Thu, 15 Apr 2010) | 1 line Update address of the bug tracker. ........ 2010-04-14 22:57 +0000 [r257262] Tilghman Lesher * main/features.c, configs/features.conf.sample: Yet another issue where the conversion of the application delimiter to comma caused an issue. Application arguments within the feature map could possibly contain a comma, which conflicts with the syntax of the features.conf configuration file. This patch allows the argument to be wrapped in parentheses or quoted, to allow the application arguments to be interpreted as a single configuration parameter. (closes issue #16646) Reported by: pinga-fogo Patches: 20100414__issue16646.diff.txt uploaded by tilghman (license 14) Tested by: tilghman Review: https://reviewboard.asterisk.org/r/547/ 2010-04-13 19:17 +0000 [r257191] Tilghman Lesher * channels/chan_sip.c: Also unref the pvt when we delete the provisional keepalive job. (closes issue #16774) Reported by: kowalma Patches: 20100315__issue16774.diff.txt uploaded by tilghman (license 14) Tested by: falves11, jamicque Review: https://reviewboard.asterisk.org/r/591/ 2010-04-13 18:10 +0000 [r257146] Matthew Nicholson * main/manager.c, /, configs/manager.conf.sample: Merged revisions 257070 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r257070 | mnicholson | 2010-04-13 11:46:30 -0500 (Tue, 13 Apr 2010) | 9 lines Add an option to restore past broken behavor of the Events manager action Before r238915, certain values for the EventMask parameter of the Events action would result in no response being returned. This patch adds an option to restore that broken behavior. Also while fixing this bug I discovered that passing an empty EventMasks parameter would also result in no response being returned, this has been fixed as well while being preserved when the broken behavior is requested. (closes issue #17023) Reported by: nblasgen Review: https://reviewboard.asterisk.org/r/602/ ........ 2010-04-13 16:33 +0000 [r257065] Tilghman Lesher * cdr/cdr_sqlite3_custom.c: Ensure that we can have commas within cdr values. (closes issue #17001) Reported by: snuffy Patches: 20100412__issue17001.diff.txt uploaded by tilghman (license 14) Tested by: snuffy 2010-04-13 16:18 +0000 [r256985-257032] Mark Michelson * configs/sip.conf.sample: Update sample dialstrings in sip.conf.sample file. * funcs/func_srv.c: Address Russell's comments on func_srv from reviewboard. * Change copyright date * Place channel in autoservice when doing SRV lookup * Get rid of trailing whitespace * Change logic in load_module function * main/ccss.c: Fix issue where recall would not happen when it should. Specifically, the situation would happen when multiple callers would request CC for a single generically-monitored device. If the monitored device became available but the caller did not answer the recall, then there was nothing that would poke the CC core to let it know that it should attempt to recall someone else instead. After careful consideration, I came to the conclusion that the only area of Asterisk that needed to be touched was the generic CC monitor. All other types of CC would require something outside of Asterisk to invoke a recall for a separate device. This was accomplished by changing the generic monitor destructor to poke other generic monitor instances if the device is currently available and the specific instance was currently not suspended. In order to not accidentally trigger recalls at bad times, the fit_for_recall flag was also added to the generic_monitor_instance_list struct. This gets set as soon as a monitored device becomes available. It gets cleared if a CCNR request triggers the creation of a new generic monitor instance. By doing this, we don't accidentally try to recall a device when the monitored device was being monitored for CCNR and never actually became available for recall in the first place. This error was discovered by Steve Pitts during in-house testing at Digium. 2010-04-12 17:29 +0000 [r256860-256901] Leif Madsen * /, doc/HOWTO_collect_debug_information.txt (added): Merged revisions 256900 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r256900 | lmadsen | 2010-04-12 12:29:26 -0500 (Mon, 12 Apr 2010) | 15 lines Add How-To document on collecting debugging info for issues.asterisk.org Paul Belanger has been helping a lot with bug tracking recently and created this document that we can now point to when additional debugging information is required. This document will help those filing issues to know how to get the information required when filing their issues. This will make things easier on the developers. Initial text and changes by pabelanger. Tweaks and editing by myself. (closes issue #17159) Reported by: pabelanger Patches: HOWTO_collect_debug_information.txt.patch uploaded by lmadsen (license 10) Tested by: tzafrir, pabelanger, lmadsen ........ * apps/app_voicemail.c: Remove silly debug message that is not useful. (issue #17159) 2010-04-12 14:47 +0000 [r256823] David Vossel * channels/chan_sip.c: gives channel reference before unlocking it and using setvar helper. To guarantee the channel is valid when calling setvar on the MASTER_CHANNEL dialplan function, a channel reference must be taken before unlocking. Thanks to russell for pointing out the error. 2010-04-12 14:39 +0000 [r256821] Leif Madsen * main/logger.c: CLI command logger set level auto complete. A simple patch to enable auto tab complete. (closes issue #17152) Reported by: pabelanger Patches: 0017152.patch uploaded by pabelanger (license 224) 2010-04-12 02:19 +0000 [r256745-256783] Russell Bryant * tests/test_substitution.c: test_substitution expects func_curl to be present to work. * tests/test_pbx.c: Add ASTERISK_FILE_VERSION() macro 2010-04-10 08:33 +0000 [r256704] Tzafrir Cohen * contrib/scripts/safe_asterisk.8, doc/asterisk.8, contrib/scripts/autosupport.8, contrib/scripts/astgenkey.8: fix hyphen vs. minus in man pages In troff '-' is used for a hyphen. A minus is denoted by '\-' . This is normally also used for a dash. This patch converts all '-'-s that are minuses or dashes to '\-'. 2010-04-09 22:20 +0000 [r256646-256661] Mark Michelson * channels/chan_sip.c, main/ccss.c: Remove status_response callbacks where they are not needed. * channels/chan_local.c: Prevent crash when originating a call to a local channel. Call completion code tries to grab the call completion parameters from the requesting channel during local_request. When originating a call to a local channel, however, this channel is NULL. This was causing an issue for me when trying to run a test script. 2010-04-09 19:46 +0000 [r256569-256608] Richard Mudgett * doc/CCSS_architecture.pdf (added): Merge CCSS architecture document from CCSS branch. * channels/sig_pri.h, configure, include/asterisk/autoconfig.h.in: Remove PRI CCSS BUGBUG message and update configure script. 2010-04-09 16:04 +0000 [r256485-256530] Mark Michelson * channels/sip/reqresp_parser.c, channels/sip/include/sip.h, channels/sip/include/reqresp_parser.h: Add routines for parsing SIP URIs consistently. From the original issue report opened by Nick Lewis: Many sip headers in many sip methods contain the ABNF structure name-andor-addr = name-addr / addr-spec Examples include the to-header, from-header, contact-header, replyto-header At the moment chan_sip.c makes various different attempts to parse this name-andor-addr structure for each header type and for each sip method with sometimes limited degrees of success. I recommend that this name-andor-addr structure be parsed by a dedicated function and that it be used irrespective of the specific method or header that contains the name-andor-addr structure Nick has also included unit tests for verifying these routines as well, so...heck yeah. (closes issue #16708) Reported by: Nick_Lewis Patches: reqresp_parser-nameandoraddr2.patch uploaded by Nick Lewis (license 657 Review: https://reviewboard.asterisk.org/r/549 * channels/chan_sip.c, tests/test_gosub.c, funcs/func_srv.c: Fix some compiler errors that popped up after the CCSS merge. * apps/app_dial.c, configs/chan_dahdi.conf.sample, include/asterisk/devicestate.h, include/asterisk/xml.h, channels/chan_local.c, doc/tex/ccss.tex (added), main/ccss.c (added), channels/chan_sip.c, configure.ac, main/xml.c, include/asterisk/channel.h, configs/manager.conf.sample, include/asterisk/channelstate.h (added), include/asterisk/manager.h, CHANGES, channels/sig_pri.c, channels/sig_pri.h, main/channel.c, channels/chan_dahdi.c, main/manager.c, funcs/func_callcompletion.c (added), channels/sig_analog.c, channels/sig_analog.h, configs/ccss.conf.sample (added), include/asterisk/rtp_engine.h, include/asterisk/frame.h, include/asterisk/ccss.h (added), doc/tex/asterisk.tex, main/asterisk.c, channels/sip/include/sip.h: Merge Call completion support into trunk. From Reviewboard: CCSS stands for Call Completion Supplementary Services. An admittedly out-of-date overview of the architecture can be found in the file doc/CCSS_architecture.pdf in the CCSS branch. Off the top of my head, the big differences between what is implemented and what is in the document are as follows: 1. We did not end up modifying the Hangup application at all. 2. The document states that a single call completion monitor may be used across multiple calls to the same device. This proved to not be such a good idea when implementing protocol-specific monitors, and so we ended up using one monitor per-device per-call. 3. There are some configuration options which were conceived after the document was written. These are documented in the ccss.conf.sample that is on this review request. For some basic understanding of terminology used throughout this code, see the ccss.tex document that is on this review. This implements CCBS and CCNR in several flavors. First up is a "generic" implementation, which can work over any channel technology provided that the channel technology can accurately report device state. Call completion is requested using the dialplan application CallCompletionRequest and can be canceled using CallCompletionCancel. Device state subscriptions are used in order to monitor the state of called parties. Next, there is a SIP-specific implementation of call completion. This method uses the methods outlined in draft-ietf-bliss-call-completion-06 to implement call completion using SIP signaling. There are a few things to note here: * The agent/monitor terminology used throughout Asterisk sometimes is the reverse of what is defined in the referenced draft. * Implementation of the draft required support for SIP PUBLISH. I attempted to write this in a generic-enough fashion such that if someone were to want to write PUBLISH support for other event packages, such as dialog-state or presence, most of the effort would be in writing callbacks specific to the event package. * A subportion of supporting PUBLISH reception was that we had to implement a PIDF parser. The PIDF support added is a bit minimal. I first wrote a validation routine to ensure that the PIDF document is formatted properly. The rest of the PIDF reading is done in-line in the call-completion-specific PUBLISH-handling code. In other words, while there is PIDF support here, it is not in any state where it could easily be applied to other event packages as is. Finally, there are a variety of ISDN-related call completion protocols supported. These were written by Richard Mudgett, and as such I can't really say much about their implementation. There are notes in the CHANGES file that indicate the ISDN protocols over which call completion is supported. Review: https://reviewboard.asterisk.org/r/523 * main/srv.c, channels/chan_sip.c, funcs/func_srv.c (added), CHANGES, include/asterisk/srv.h: func_srv and explicit specification of a remote IP for SIP. From Review Board: There are two interrelated changes here. First, there is the introduction of func_srv. This adds two new read-only dialplan functions, SRVQUERY and SRVRESULT. They work very similarly to the ENUMQUERY and ENUMRESULT functions, except that this allows one to query SRV records instead. In order to facilitate this work, I added a couple of new API calls to srv.h. ast_srv_get_record_count tells the number of records returned by an SRV lookup. This number is calculated at the time of the SRV lookup. ast_srv_get_nth_record allows one to get a numbered SRV record. Second, there is the modification to chan_sip that allows one to specify a hostname or IP address (along with a port) to send an outgoing INVITE to when dialing a SIP peer. This goes hand-in-hand with func_srv. You can query SRV records and then use the host and port from the results to dial via a specific host instead of what is configured in sip.conf. Review: https://reviewboard.asterisk.org/r/608 SWP-1200 2010-04-08 16:35 +0000 [r256428] Kevin P. Fleming * /, Makefile.rules, build_tools/make_linker_version_script: Ensure that linker version scripts (used for symbol export control) always exist. Using wildcard matching in the Makefile is not adequate to determine whether an export file should exist for a module or not, so instead we'll just create one if the module needs one, or copy the default one if it does not. 2010-04-06 19:28 +0000 [r256370] Tilghman Lesher * configure, include/asterisk/autoconfig.h.in, configure.ac, include/asterisk/lock.h: Mac OS X does not support comparing a mutex to its initializer. Create a test for this. 2010-04-06 14:42 +0000 [r256319] David Vossel * channels/chan_sip.c: fixes deadlock in chan_sip caused by usage of MASTER_CHANNEL dialplan function (closes issue #16767) Reported by: lmsteffan Patches: deadlock_16767v3.diff uploaded by dvossel (license 671) Review: https://reviewboard.asterisk.org/r/606/ 2010-04-06 00:39 +0000 [r256265] Richard Mudgett * channels/chan_dahdi.c, /: Merged revisions 256225 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r256225 | rmudgett | 2010-04-05 19:10:16 -0500 (Mon, 05 Apr 2010) | 5 lines DAHDI/PRI call to pri_channel_bridge() not protected by PRI lock. SWP-1231 ABE-2163 ........ 2010-04-05 15:14 +0000 [r256161] Leif Madsen * doc/tex/localchannel.tex: Fix for localchannel.tex to allow PDFs to be generated again. 2010-04-03 02:12 +0000 [r256103-256104] Richard Mudgett * apps/app_dial.c, channels/chan_local.c, channels/chan_sip.c, include/asterisk/channel.h, main/cel.c, channels/sig_pri.c, channels/chan_iax2.c, apps/app_queue.c, channels/chan_oss.c, funcs/func_redirecting.c, main/channel.c, main/dial.c, channels/chan_dahdi.c, channels/chan_misdn.c, apps/app_dumpchan.c, res/res_agi.c, channels/chan_h323.c, res/snmp/agent.c, apps/app_amd.c, funcs/func_callerid.c: Consolidate ast_channel.cid.cid_rdnis into ast_channel.redirecting.from.number. SWP-1229 ABE-2161 * Ensure chan_local.c:local_call() will not leak cid.cid_dnid when copying. * apps/app_dial.c: Using the Dial application f option when the call is forwarded will likely crash. Fix app_dial.c:do_forward() OPT_FORCECLID setting cid.cid_num with a stack allocated string instead of a heap allocated string. 2010-04-02 23:55 +0000 [r256010-256019] Russell Bryant * apps/app_meetme.c: Export MEETMEBOOKID and fix pin-less conferences with realtime conferences (closes issue #16866) Reported by: DEA Patches: rt-meetme-options.txt uploaded by DEA (license 3) Tested by: DEA Review: https://reviewboard.asterisk.org/r/582/ * channels/chan_local.c, /: Merged revisions 256014 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r256014 | russell | 2010-04-02 18:45:56 -0500 (Fri, 02 Apr 2010) | 9 lines Resolve a deadlock that occurs due to a pointless call to ast_bridged_channel() (closes issue #16840) Reported by: bzing2 Patches: patch.txt uploaded by bzing2 (license 902) issue_16840.rev1.diff uploaded by russell (license 2) Tested by: bzing2, russell ........ * main/channel.c, /: Merged revisions 256009 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r256009 | russell | 2010-04-02 18:30:15 -0500 (Fri, 02 Apr 2010) | 2 lines Remove extremely verbose debug message. ........ 2010-04-02 20:19 +0000 [r255952] Tilghman Lesher * main/asterisk.c: Pass the PID of the Asterisk process, not the PID of the canary. (closes issue #17065) Reported by: globalnetinc Patches: astcanary.patch uploaded by makoto (license 38) Tested by: frawd, globalnetinc 2010-04-02 18:57 +0000 [r255906] Kevin P. Fleming * res/res_ael_share.exports.in (added), codecs, res/res_pktccops.exports.in (added), utils, res/res_monitor.exports.in (added), Makefile.moddir_rules, res/res_smdi.exports.in (added), Makefile.rules, cdr, res/res_agi.exports.in (added), formats, main/asterisk.exports (removed), res/res_odbc.exports (removed), res/res_calendar.exports (removed), apps/app_voicemail.exports (removed), bridges, res/res_odbc.exports.in (added), main/asterisk.exports.in (added), apps/app_voicemail.exports.in (added), res/res_calendar.exports.in (added), res/res_features.exports (removed), res/res_fax.exports.in (added), pbx, res/res_adsi.exports.in (added), res/res_jabber.exports (removed), res/res_pktccops.exports (removed), channels, res/res_jabber.exports.in (added), main/Makefile, res/res_smdi.exports (removed), tests, apps, cel, res/res_agi.exports (removed), addons, res/res_speech.exports (removed), Makefile, funcs, res/res_speech.exports.in (added), res/res_fax.exports (removed), main, res/res_adsi.exports (removed), res/res_features.exports.in (added), res/res_ael_share.exports (removed), build_tools/make_linker_version_script (added), res, res/res_monitor.exports (removed): Allow symbol export filtering to work properly on platforms that have symbol prefixes. Some platforms prefix externally-visible symbols in object files generated from C sources (most commonly, '_' is the prefix). On these platforms, the existing symbol export filtering process ends up suppressing all the symbols that are supposed to be left visible. This patch allows the prefix string to be supplied to the top-level Makefile in the LINKER_SYMBOL_PREFIX variable, and then generates the linker scripts as required to include the prefix supplied. 2010-04-02 06:45 +0000 [r255850-255851] Michiel van Baak * channels/chan_skinny.c: Ignore Redial softkey when no previous dialed number is known (closes issue #17126) Reported by: wedhorn Patches: skinny79xx_redial1.diff uploaded by wedhorn (license 30) * channels/chan_skinny.c: Cleanup transmit_* functions Bulk lot of generally trivial changes for cleaning up the transmit stuff. Line state request has been modified for line only responses. (closes issue #16994) Reported by: wedhorn Patches: skinny-clean07.diff uploaded by wedhorn (license 30) Tested by: wedhorn 2010-04-01 18:16 +0000 [r255796] Tilghman Lesher * include/asterisk/lock.h: Fix DEBUG_THREADS build on Darwin. (closes issue #16828) Reported by: oej Patches: 20100331__issue16828.diff.txt uploaded by tilghman (license 14) 2010-04-01 16:09 +0000 [r255751] Matthew Nicholson * configs/sip.conf.sample: Removed documentation of the non existent 'both' option to 'faxdetect' in sip.conf 2010-03-31 22:35 +0000 [r255701] Mark Michelson * channels/chan_sip.c: Fix improper comaparison of anonymous URI when getting P-Asserted-Identity. There was a bug where we split the URI on the @ sign and then attempted to compare to "anonymous@anonymous.invalid" afterwards. This comparison could never evaluate true. So now we keep a copy of the URI prior to the split so that the comparison is valid. 2010-03-31 19:13 +0000 [r255592] Tilghman Lesher * /, apps/app_voicemail.c: Recorded merge of revisions 255591 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r255591 | tilghman | 2010-03-31 14:09:46 -0500 (Wed, 31 Mar 2010) | 15 lines Ensure line terminators in email are consistent. Fixes an issue with certain Mail Transport Agents, where attachments are not interpreted correctly. (closes issue #16557) Reported by: jcovert Patches: 20100308__issue16557__1.4.diff.txt uploaded by tilghman (license 14) 20100308__issue16557__1.6.0.diff.txt uploaded by tilghman (license 14) 20100308__issue16557__trunk.diff.txt uploaded by tilghman (license 14) Tested by: ebroad, zktech Reviewboard: https://reviewboard.asterisk.org/r/544/ ........ 2010-03-31 17:48 +0000 [r255504] Leif Madsen * apps/app_dial.c, /, configs/sip.conf.sample: Add documentation clarifying when 't' and 'T' can be used. (closes issue #17021) Reported by: kovzol Tested by: lmadsen, kovzol, davidw, ebroad 2010-03-30 20:56 +0000 [r255323-255410] Russell Bryant * /, channels/chan_h323.c: Merged revisions 255409 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r255409 | russell | 2010-03-30 15:56:00 -0500 (Tue, 30 Mar 2010) | 2 lines Don't kill Asterisk if the H323 listener does not start. ........ * /, pbx/pbx_dundi.c: Merged revisions 255322 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r255322 | russell | 2010-03-30 11:06:06 -0500 (Tue, 30 Mar 2010) | 2 lines Don't make Asterisk not start if pbx_dundi fails to initialize. ........ 2010-03-29 14:07 +0000 [r255281] Jared Smith * apps/app_confbridge.c, CHANGES: This patch adds custom device state handling for ConfBridge conferences, matching the devstate handling of the MeetMe conferences. Review: https://reviewboard.asterisk.org/r/572/ Closes issue #16972 2010-03-29 05:10 +0000 [r255240] Russell Bryant * main/event.c: Remove a debugging log entry. 2010-03-27 23:51 +0000 [r255199] Alexandr Anikin * addons/ooh323c/src/ooh323.c, addons/ooh323c/src/ooGkClient.c, addons/chan_ooh323.c, addons/ooh323c/src/ooh323.h, addons/ooh323c/src/ooq931.c, addons/ooh323c/src/ooCalls.c: corrections in gk interface, small fixes in call clearing. 2010-03-27 14:44 +0000 [r255158] Sean Bright * apps/app_voicemail.c: We need to inclde sys/wait.h on OpenBSD to get WEXITSTATUS. 2010-03-27 06:09 +0000 [r255117] Tilghman Lesher * pbx/pbx_spool.c: inotify support for pbx_spool This should give a good speed boost, in that one particular thread isn't waking up once a second to read directory contents. Reviewboard: https://reviewboard.asterisk.org/r/137/ 2010-03-26 19:27 +0000 [r255021-255066] Leif Madsen * configs/sip.conf.sample: Replace some documentation from 1.6.x back into trunk. This documentation associated wth tlsbindaddr is still useful so lets synchronize it between trunk and 1.6.x branches. (issue #17054) * configs/sip.conf.sample: Update confusing documentation for tlsbindaddr. Update some confusing documentation for the tlsbindaddr option in sip.conf.sample. Point at a link instead which has better documentation. (closes issue #17054) Reported by: klaus3000 2010-03-26 16:27 +0000 [r254976] Sean Bright * contrib/scripts/live_ast: Work around a bug in dash on Ubuntu by checking the number of arguments before shift'ing. Reported and tested by pabelanger. 2010-03-25 23:38 +0000 [r254931] Kevin P. Fleming * addons/chan_ooh323.h, addons/ooh323c/src/ooasn1.h, addons/ooh323c/src/ooLogChan.c, addons/ooh323c/src/ooStackCmds.c, addons/ooh323c/src/errmgmt.c, addons/ooh323c/src/ooTimer.c, addons/ooh323c/src/dlist.c, addons/ooh323c/src/eventHandler.c, addons/ooh323c/src/ooCapability.c, addons/ooh323cDriver.c, addons/mp3/interface.c, addons/ooh323cDriver.h, addons/ooh323c/src/rtctype.c, addons/ooh323c/src/ooCalls.c, addons/ooh323c/src/encode.c, addons/ooh323c/src/ooUtils.c, addons/ooh323c/src/ooGkClient.c, addons/ooh323c/src/ooh323ep.c, addons/ooh323c/src/ooports.c, addons/mp3/decode_ntom.c, addons/ooh323c/src/memheap.c, addons/ooh323c/src/ooh323.c, addons/ooh323c/src/ooh245.c, addons/mp3/common.c, addons/ooh323c/src/decode.c, addons/ooh323c/src/context.c, addons/ooh323c/src/perutil.c, addons/mp3/layer3.c, addons/ooh323c/src/oochannels.c, addons/ooh323c/src/ooCmdChannel.c, addons/ooh323c/src/printHandler.c, addons/ooh323c/src/ooq931.c, addons/ooh323c/src/ootrace.c: Use "local" instead of "system" header file inclusion. Now that these files are in the tree, they should prefer the tree's local copy of all Asterisk headers over any that may be installed. 2010-03-25 21:39 +0000 [r254884] Russell Bryant * addons/ooh323c/src/ooSocket.c, addons/ooh323c/src/ooSocket.h: Fix a number of other build problems on Mac OS X. 2010-03-25 20:41 +0000 [r254802] Jason Parker * utils/Makefile, /: Merged revisions 254800 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r254800 | qwell | 2010-03-25 15:41:15 -0500 (Thu, 25 Mar 2010) | 1 line Don't remove local copies of utils in uninstall. ........ 2010-03-25 20:41 +0000 [r254718-254801] Russell Bryant * addons/chan_ooh323.h: Resolve compiler warning on FreeBSD. * addons/ooh323c/src/ooh323.c, addons/Makefile, addons/ooh323c/src/ooq931.c, addons/ooh323c/src/ootrace.c: Fix chan_ooh323 so it works on Mac OS X, as well. * channels/chan_usbradio.c: chan_usbradio depends on alsa. 2010-03-25 18:38 +0000 [r254636-254638] Kevin P. Fleming * .cleancount: Bump cleancount due to ast_channel change. * include/asterisk/channel.h: Remove no-longer-used (and unsafe) field in ast_channel for linked lists. The ast_channel structure had a field used for linking a channel into a linked list, but now that ast_channel structures are ao2 objects, this is no longer needed, and could be harmful as ao2 objects really shouldn't ever be placed into linked lists (since those lists don't assist with reference count management on the objects). * addons/Makefile: Get chan_ooh323 building again after recent build system changes. 2010-03-25 17:52 +0000 [r254454-254557] Mark Michelson * tests/test_acl.c (added): Add unit test for testing ACL functionality. There are two unit tests contained here. 1. "Invalid ACL" This attempts to read a bunch of badly formatted ACL entries and add them to a host access rule. The goal of this test is to be sure that all invalid entries are rejected as they should be. 2. "ACL" This sets up four ACLs. One is a permit all, one is a deny all, and the other two have specific rules about which subnets are allowed and which are not. Then a set of test addresses is used to determine whether we would allow those addresses to access us when each ACL is applied. This test, by the way, was what resulted in AST-2010-003's creation. Review: https://reviewboard.asterisk.org/r/532 * include/asterisk/acl.h, /: Merged revisions 254552 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r254552 | mmichelson | 2010-03-25 12:33:35 -0500 (Thu, 25 Mar 2010) | 5 lines Add doxygen for acl.h Review: https://reviewboard.asterisk.org/r/528 ........ * channels/sip/dialplan_functions.c: Add new rtpsource options to the CHANNEL function. This adds rtpsource options analogous to the rtpdest functions that already exist. In addition, this fixes potential crashes which could result due to trying to read values from nonexistent RTP streams. * res/res_rtp_asterisk.c, /: Recorded merge of revisions 254452 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r254452 | mmichelson | 2010-03-25 10:59:56 -0500 (Thu, 25 Mar 2010) | 44 lines Several fixes regarding RFC2833 DTMF detection. Here is a copy and paste of the details from my request on reviewboard that dealt with these changes: Fix 1. The first change in place is to fix Mantis issue 15811, which deals with a situation where Asterisk will incorrectly interpret out of order RFC2833 frames as duplicate DTMF digits. For instance, we would receive a sequence like: seqno 1: DTMF 1 seqno 2: DTMF 1 seqno 3: DTMF 1 seqno 4: DTMF 1 seqno 6: DTMF 1 (end) seqno 5: DTMF 1 seqno 7: DTMF 1 (end) seqno 8: DTMF 1 (end) Prior to this patch when we received the frame with seqno 5, we would interpret this as a new DTMF 1. With this patch, we will check the seqno of the incoming digit and not process the frame if the seqno is lower than the last recorded seqno. Note that we do not record the seqno of the dropped DTMF frame for future processing. While the above situation is what was designed to be fixed, the patch is written in such a way that the following would also be fixed too: seqno 9: DTMF 1 seqno 10: DTMF 1 (end) seqno 11: DTMF 1 (end) seqno 13: DTMF 2 seqno 12: DTMF 1 (end) seqno 14: DTMF 2 seqno 15: DTMF 2 (end) seqno 16: DTMF 2 (end) seqno 17: DTMF 2 (end) In this second situation, the beginning of the DTMF 2 arrives before the final end frame of the DTMF 1. With the patch, seqno 12 is no processed and thus we properly interpret the DTMF. Fix 2. The second change in place is to fix an issue like the following: seqno 1: DTMF 1 seqno 2: DTMF 1 seqno 3: DTMF 1 (end) *packet lost* seqno 4: DTMF 1 (end) *packet lost* seqno 5: DTMF 1 (end) *packet lost* seqno 6: DTMF 2 When we receive seqno 6, we had code in place that was supposed to properly end the previously unended DTMF 1. The problem was that the code was essentially a no-op. The code would set up an end frame for the DTMF 1 but would immediately overwrite the frame with the begin for DTMF 2. I changed process_dtmf_rfc2833() so that instead of returning a single frame, it is given as an output parameter a list of frames. Each frame that needs to be returned is appended to this list. Fix 3. The final change is a minor one where an AST_CONTROL_SRCCHANGE frame could get lost. If we process a cisco DTMF or an RFC 3389 frame and no frame was returned, then we would return &ast_null_frame. The problem is that earlier in the function, we may have generated an AST_CONTROL_SRCCHANGE frame and put it in the list of frames we wish to return. This frame would be lost in such a case. The patch fixes this problem ........ 2010-03-25 16:03 +0000 [r254453] Terry Wilson * /, main/file.c: Merged revisions 254451 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r254451 | twilson | 2010-03-25 10:57:29 -0500 (Thu, 25 Mar 2010) | 2 lines Handle new SRCCHANGE control message here too ........ 2010-03-25 15:27 +0000 [r254450] Kevin P. Fleming * main/channel.c, channels/chan_sip.c, res/res_fax.c, configs/sip.conf.sample, include/asterisk/frame.h, channels/sip/include/sip.h: Improve handling of T.38 re-INVITEs that arrive before a T.38-capable application is executing on a channel. This patch addresses an issue found during working with end-users using res_fax. If an incoming call is answered in the dialplan, or jumps to the 'fax' extension due to reception of a CNG tone (with faxdetect enabled), and then the remote endpoint sends a T.38 re-INVITE, it is possible for the channel's T.38 state to be 'T38_STATE_NEGOTIATING' when the application starts up. Unfortunately, even if the application wants to use T.38, it can't respond to the peer's negotiation request, because the AST_CONTROL_T38_PARAMETERS control frame that chan_sip sent originally has been lost, and the application needs the content of that frame to be able to formulate a reply. This patch adds a new 'request' type to AST_CONTROL_T38_PARAMETERS, AST_T38_REQUEST_PARMS. If the application sends this request, chan_sip will re-send the original control frame (with AST_T38_REQUEST_NEGOTIATE as the request type), and the application can respond as normal. If this occurs within the five second timeout in chan_sip, the automatic cancellation of the peer reinvite will be stopped, and the application will 'own' the negotiation process from that point onwards. This also improves the code path in chan_sip to allow sip_indicate(), when called for AST_CONTROL_T38_PARAMETERS, to be able to return a non-zero response, which should have been in place before since the control frame *can* fail to be processed properly. It also modifies ast_indicate() to return whatever result the channel driver returned for this control frame, rather than converting all non-zero results into '-1'. Finally, the new request type intentionally returns a positive value, so that an application that sends AST_T38_REQUEST_PARMS can know for certain whether the channel driver accepted it and will be replying with a control frame of its own, or whether it was ignored (if the sip_indicate()/ast_indicate() path had properly supported failure responses before, this would not be necessary). This patch also modifies res_fax to take advantage of the new request. In addition, this patch makes sip_t38_abort() actually lock the private structure before doing its work... bad programmer, no donut. This patch also enhances chan_sip's 'faxdetect' support to allow triggering on T.38 re-INVITEs received as well as CNG tone detection. Review: https://reviewboard.asterisk.org/r/556/ 2010-03-25 15:21 +0000 [r254446] Leif Madsen * res/res_agi.c: handle_speechset has 4 arguments. Update code to reflect that handle_speechset has 4 arguments. (closes issue #17093) Reported by: gpatri Patches: res_agi.patch uploaded by gpatri (license 1014) Tested by: pabelanger, mmichelson 2010-03-25 10:09 +0000 [r254406] Tzafrir Cohen * channels/chan_dahdi.c: remove unneeded explicit channel in dahdi ioctls This patch removes some cases where the channel number for an ioctl was passed as a member in a struct rather then through the file descriptor. The gain setting functions passed around a channel which is always 0, and thus this parameter is simply dropped. Review: https://reviewboard.asterisk.org/r/584/ 2010-03-24 21:10 +0000 [r254362] Mark Michelson * main/pbx.c: Fix potential invalid reads that could occur in pbx.c Here is a cut and paste of my review request for this change: This past weekend, Russell ran our current suite of unit tests for Asterisk under valgrind. The PBX pattern match test caused valgrind to spew forth two invalid read errors. This patch contains two changes that shut valgrind up and do not cause any new memory leaks. Change 1: In ast_context_remove_extension_callerid2, valgrind reported an invalid read in the for loop close to the function's end. Specifically, one of the the strcmp calls in the loop control was reading invalid memory. This was because the caller of ast_context_remove_extension_callerid2 (__ast_context destroy in this case) passed as a parameter a shallow copy of an ast_exten's exten field. This same ast_exten was what was destroyed inside the for loop, thus any iterations of the for loop beyond the destruction of the ast_exten would result in invalid reads. My fix for this is to make a copy of the ast_exten's exten field and pass the copy to ast_context_remove_extension_callerid2. In addition, I have also acted similarly with the ast_exten's matchcid field. Since in this case a NULL is handled quite differently than an empty string, I needed to be a bit more careful with its handling. Change 2: In __ast_context_destroy, we iterated over a hashtab and called ast_context_remove_extension_callerid2 on each item. Specifically, the hashtab over which we were iterating was an ast_exten's peer_table. Inside of ast_context_remove_extension_callerid2, we could possibly destroy this ast_exten, which also caused the hashtab to be freed. Attempting to call ast_hashtab_end_traversal on the hashtab iterator caused an invalid read to occur when trying to read the iterator->tab->do_locking field since iterator->tab had already been freed. My handling of this problem is a bit less straightforward. With each iteration over the hashtab's contents, we set a variable called "end_traversal" based on the return of ast_context_remove_extension_callerid2. If 0 is ever returned, then we know that the extension was found and destroyed. Because of this, we cannot call ast_hashtab_end_traversal because we will be guaranteeing a read of invalid memory. In such a case, we forego calling ast_hashtab_end_traversal and instead call ast_free on the hashtab iterator. Review: https://reviewboard.asterisk.org/r/585 2010-03-24 18:13 +0000 [r254277-254321] Jeff Peeler * configs/voicemail.conf.sample, CHANGES, apps/app_voicemail.c: Allow configuration of minsecs and nextaftercmd per mailbox. Previously only configurable globally. A unit test has also been written to provide protection against parse failures for supported mailbox options. (closes issue #16864) Reported by: kobaz Patches: voicemail2.patch uploaded by kobaz (license 834) Review: https://reviewboard.asterisk.org/r/555/ * /, res/res_monitor.c: Merged revisions 254235 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r254235 | jpeeler | 2010-03-23 19:37:23 -0500 (Tue, 23 Mar 2010) | 72 lines Ensure that monitor recordings are written to the correct location (again) This is an extension to 248860. As such the dialplan test has been extended: ; non absolute path, not combined exten => 5040, 1, monitor(wav,tmp/jeff/monitor_test) exten => 5040, n, dial(sip/5001) ; absolute path, not combined exten => 5041, 1, monitor(wav,/tmp/jeff/monitor_test2) exten => 5041, n, dial(sip/5001) ; no path, not combined exten => 5042, 1, monitor(wav,monitor_test3) exten => 5042, n, dial(sip/5001) ; combined: changemonitor from non absolute to no path (leaves tmp/jeff) exten => 5043, 1, monitor(wav,tmp/jeff/monitor_test4,m) exten => 5043, n, changemonitor(monitor_test5) exten => 5043, n, dial(sip/5001) ; combined: changemonitor from no path to non absolute path exten => 5044, 1, monitor(wav,monitor_test6,m) exten => 5044, n, changemonitor(tmp/jeff/monitor_test7) ; this wasn't possible before exten => 5044, n, dial(sip/5001) ; non absolute path, combined exten => 5045, 1, monitor(wav,tmp/jeff/monitor_test8,m) exten => 5045, n, dial(sip/5001) ; absolute path, combined exten => 5046, 1, monitor(wav,/tmp/jeff/monitor_test9,m) exten => 5046, n, dial(sip/5001) ; no path, combined exten => 5047, 1, monitor(wav,monitor_test10,m) exten => 5047, n, dial(sip/5001) ; combined: changemonitor from non absolute to absolute (leaves tmp/jeff) exten => 5048, 1, monitor(wav,tmp/jeff/monitor_test11,m) exten => 5048, n, changemonitor(/tmp/jeff/monitor_test12) exten => 5048, n, dial(sip/5001) ; combined: changemonitor from absolute to non absolute (leaves /tmp/jeff) exten => 5049, 1, monitor(wav,/tmp/jeff/monitor_test13,m) exten => 5049, n, changemonitor(tmp/jeff/monitor_test14) exten => 5049, n, dial(sip/5001) ; combined: changemonitor from no path to absolute exten => 5050, 1, monitor(wav,monitor_test15,m) exten => 5050, n, changemonitor(/tmp/jeff/monitor_test16) exten => 5050, n, dial(sip/5001) ; combined: changemonitor from absolute to no path (leaves /tmp/jeff) exten => 5051, 1, monitor(wav,/tmp/jeff/monitor_test17,m) exten => 5051, n, changemonitor(monitor_test18) exten => 5051, n, dial(sip/5001) ; not combined: changemonitor from non absolute to no path (leaves tmp/jeff) exten => 5052, 1, monitor(wav,tmp/jeff/monitor_test19) exten => 5052, n, changemonitor(monitor_test20) exten => 5052, n, dial(sip/5001) ; not combined: changemonitor from no path to non absolute exten => 5053, 1, monitor(wav,monitor_test21) exten => 5053, n, changemonitor(tmp/jeff/monitor_test22) exten => 5053, n, dial(sip/5001) ; not combined: changemonitor from non absolute to absolute (leaves tmp/jeff) exten => 5054, 1, monitor(wav,tmp/jeff/monitor_test23) exten => 5054, n, changemonitor(/tmp/jeff/monitor_test24) exten => 5054, n, dial(sip/5001) ; not combined: changemonitor from absolute to non absolute (leaves /tmp/jeff) exten => 5055, 1, monitor(wav,/tmp/jeff/monitor_test24) exten => 5055, n, changemonitor(tmp/jeff/monitor_test25) exten => 5055, n, dial(sip/5001) ; not combined: changemonitor from no path to absolute exten => 5056, 1, monitor(wav,monitor_test26) exten => 5056, n, changemonitor(/tmp/jeff/monitor_test27) exten => 5056, n, dial(sip/5001) ; not combined: changemonitor from absolute to no path (leaves /tmp/jeff) exten => 5057, 1, monitor(wav,/tmp/jeff/monitor_test28) exten => 5057, n, changemonitor(monitor_test29) exten => 5057, n, dial(sip/5001) ........ 2010-03-23 22:48 +0000 [r254162] Tzafrir Cohen * main/asterisk.c: make 'core show settings' should show all settable directories (closes issue #17086) Reported by: tzafrir Patches: asterisk_extra_settings_dirs.diff uploaded by tzafrir (license 46) 2010-03-23 22:35 +0000 [r254159] Russell Bryant * main/test.c: Put test output for a failure in a CDATA section in the XML results. 2010-03-23 21:17 +0000 [r254050] Jeff Peeler * main/channel.c: Exit native bridging early for greater timing accuracy with warnings This changes native bridging to break one millisecond early so that the more accurate timeval calculations done in the generic bridge can be performed using the bridge config. Currently the time between exiting native bridging slightly late can sometimes cause a large enough discrepancy for warnings to be missed. For the record, 1.4 does not attempt to native bridge at all when warnings are enabled. (closes issue #15815) Reported by: adomjan Review: https://reviewboard.asterisk.org/r/577/ 2010-03-23 20:52 +0000 [r254045] Sean Bright * apps/app_queue.c: Remove unused structure member in app_queue. (closes issue #15494) Reported by: makoto 2010-03-23 19:19 +0000 [r254001] Tzafrir Cohen * tests/Makefile: Change the name of the category 'TEST' to match the name of the subdir 2010-03-23 16:52 +0000 [r253958] Terry Wilson * main/http.c: Don't act like an http write failed when it didn't fwrite returns the number of items written, not the number of bytes 2010-03-23 14:22 +0000 [r253917] Kevin P. Fleming * codecs/Makefile, include/asterisk/logger.h, main/Makefile, Makefile.moddir_rules, pbx/Makefile, res/Makefile, CHANGES, channels/Makefile, include/asterisk/options.h, main/cli.c: Change per-file debug and verbose levels to be per-module, the way users expect them to work. 'core set debug' and 'core set verbose' can optionally change the level for a specific filename; however, this is actually for a specific source file name, not the module that source file is included in. With examples like chan_sip, chan_iax2, chan_misdn and others consisting of multiple source files, this will not lead to the behavior that users expect. If they want to set the debug level for chan_sip, they want it set for all of chan_sip, and not to have to also set it for reqresp_parser and other files that comprise the chan_sip module. This patch changes this functionality to be module-name based instead of file-name based. To make this work, some Makefile modifications were required to ensure that the AST_MODULE definition is present in each object file produced for each module as well. Review: https://reviewboard.asterisk.org/r/574/ 2010-03-22 20:32 +0000 [r253872] Mark Michelson * main/asterisk.c: Initialize channels prior to loading "preload" modules. We can have bad results when a module, upon being loaded, attempts to reference the channels container if the container hasn't yet been initialized. I saw this happen by trying to preload pbx_config.so and having a hint defined which referenced a non-existent SIP peer. 2010-03-22 19:52 +0000 [r253800] Matthew Nicholson * /, main/features.c: Merged revisions 253799 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r253799 | mnicholson | 2010-03-22 14:50:00 -0500 (Mon, 22 Mar 2010) | 4 lines Unconditionally copy the caller's account code to the called party. (related to issue #16331) ........ 2010-03-22 19:05 +0000 [r253712-253758] Tilghman Lesher * contrib/scripts/dbsep.cgi: Update query should be an UPDATE, not a SELECT. * contrib/scripts/dbsep.cgi: Return the list for later manipulation. This fixes an issue with the update procedure. Debugging with mmichelson. * contrib/scripts/dbsep.cgi, configs/dbsep.conf.sample: Accomodate equal signs in DSNs and add documentation, based upon mmichelson's feedback. 2010-03-20 16:50 +0000 [r253536-253579] Russell Bryant * funcs/func_strings.c: Fix memory corruption found by unit tests. ast_str_reset() was being called on a potentially uninitialized pointer. Valgrind is my hero, once again. * cel/cel_pgsql.c, main/tcptls.c, main/manager.c, main/features.c, main/test.c, cdr/cdr_pgsql.c, main/stdtime/localtime.c, main/cel.c: Resolve more compiler warnings on FreeBSD. * apps/app_voicemail.c: Include sys/wait.h on FreeBSD to get the WEXITSTATUS() macro. * apps/app_dial.c, apps/app_followme.c: Resolve compiler warnings on FreeBSD. * pbx/pbx_dundi.c: Resolve a compiler warning on FreeBSD. * channels/chan_dahdi.c: Use SHRT_MAX instead of MAXSHORT. These changes fix build issues I had with this module on FreeBSD. 2010-03-19 07:37 +0000 [r253490] Alec L Davis * main/astobj2.c: prevent segfault if bad magic number is encountered. internal_ao2_ref uses INTERNAL_OBJ which mzy report 'bad magic number', but internal_ao2_ref continues on, causing segfault. Although AO2_MAGIC number is checked by INTERNAL_OBJ before internal_ao2_ref is called, A02_MAGIC is being destroyed (or a wrong pointer) by the time internal_ao2_ref uses INTERNAL_OBJ. internal_ao2_ref now returns -1 if INTERNAL_OBJ encouters a bad magic number. (issue #17037) Reported by: alecdavis Patches: bug17037.diff.txt uploaded by alecdavis (license 585) Tested by: alecdavis 2010-03-18 18:23 +0000 [r253357-253378] Russell Bryant * main/asterisk.c: Update comment to reflect new timeout value. * main/asterisk.c: Increase CLI command output timeout for asterisk -rx to 60 seconds. (closes issue #17049) Reported by: russell Tested by: russell Review: https://reviewboard.asterisk.org/r/573/ 2010-03-18 17:52 +0000 [r253345] Leif Madsen * apps/app_userevent.c: Change usage of pipe to comma in UserEvent docs. Change the example usage of pipe as a separator to comma in the UserEvent documentation. (closes issue #16961) Reported by: jlpedrosa 2010-03-18 15:59 +0000 [r253261] Philippe Sultan * res/res_jabber.c: Prevent a crash when a buddy gets offline. (closes issue #16760) Reported by: fiddur Patches: 248394.diff uploaded by fiddur (license 678)i with modifications by me Tested by: fiddur, phsultan 2010-03-18 15:46 +0000 [r253256] Leif Madsen * /, doc/tex/localchannel.tex: Update to new Local channel documentation. Add same changes as commit to 1.4, but convert to TeX. (issue #16963) Reported by: kobaz Patches: localchannel-2.txt uploaded by kobaz (license 834) 2010-03-18 15:45 +0000 [r253255] Tilghman Lesher * main/stdtime/localtime.c: Just in case of a race, send the signal on interrupt. 2010-03-17 19:06 +0000 [r253205] Leif Madsen * main/test.c: main/test.c reports erroneous CLI message. (closes issue #17051) Reported by: Nick_Lewis 2010-03-17 14:16 +0000 [r253113] Tilghman Lesher * tests/test_gosub.c: Switch to using intptr_t, as suggested by Kevin Fleming on the -dev list 2010-03-17 00:40 +0000 [r253028-253032] Leif Madsen * main/xmldoc.c: Fix a typo. * configs/say.conf.sample: Merged revisions 253018 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r253018 | lmadsen | 2010-03-16 19:26:19 -0500 (Tue, 16 Mar 2010) | 6 lines Add french snipset to say.conf. Add the french snipset to say.conf. (Closes issue #15799) ........ 2010-03-17 00:23 +0000 [r252976-253004] Tilghman Lesher * tests/test_gosub.c: Argh. * configure, include/asterisk/autoconfig.h.in, tests/test_gosub.c, configure.ac: Fix bamboo compile error by calculating an integer with the same size as a pointer. * tests/test_gosub.c (added), apps/app_stack.c: Mask out previous arguments on each nested invocation of Gosub. (closes issue #16758) Reported by: wdoekes Patches: 20100316__issue16758.diff.txt uploaded by tilghman (license 14) Review: https://reviewboard.asterisk.org/r/561/ 2010-03-16 19:36 +0000 [r252849] Russell Bryant * tests/test_time.c: Re-enable test_time on non-Linux. 2010-03-16 19:36 +0000 [r252848] Sean Bright * res/res_clialiases.c: Include an extra newline after "Aliased CLI command" to get back the prompt. The other issue mentioned in this bug will be more difficult to resolve since we have no idea (right now) of knowing if the command that is aliased has been installed yet. (issue #16978) Reported by: jw-asterisk Tested by: seanbright 2010-03-16 19:34 +0000 [r252846] Tilghman Lesher * tests/test_time.c, include/asterisk/localtime.h, main/stdtime/localtime.c: Fix test_time on Mac OS X (and other platforms without inotify) Reviewboard: https://reviewboard.asterisk.org/r/554/ 2010-03-16 19:01 +0000 [r252767] Russell Bryant * utils/Makefile, /: Merged revisions 252766 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r252766 | russell | 2010-03-16 14:00:43 -0500 (Tue, 16 Mar 2010) | 6 lines Don't treat warnings as errors for muted. muted supports OS X, but uses functions marked as deprecated in 10.6. However, the functions are still supported, so just ignore the warnings for now and allow the build to proceed. ........ 2010-03-16 18:48 +0000 [r252762] Leif Madsen * configs/extensions.ael.sample: Merged revisions 252761 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r252761 | lmadsen | 2010-03-16 13:46:20 -0500 (Tue, 16 Mar 2010) | 7 lines Additional extensions.ael global variable fixes. Fixing up a couple more overlapping global variable namespaces shared with extensions.conf.sample. Also noticed a few of the lines that were commented out didn't have the closing semi-colon so I added that as well. (issue #17035) ........ 2010-03-16 18:40 +0000 [r252760] Tilghman Lesher * codecs/gsm/Makefile: OSARCH is not inherited to this directory 2010-03-16 18:36 +0000 [r252759] Russell Bryant * tests/test_time.c: Disable this test on non-Linux for now. 2010-03-15 22:48 +0000 [r252709] Kevin P. Fleming * res/res_fax.c: Improve handling of values supplied to FAXOPT(ecm). Previously, values that began with whitespace were silently treated as 'no', and all non-'yes' values were also treated as 'no'. Now the supplied value is specifically checked for a 'yes' or 'no' (or equivalent) value, after skipping leading whitespace. If the value is not valid, then a warning message is generated. 2010-03-15 22:14 +0000 [r252627] Russell Bryant * channels/chan_sip.c: Tell the RTP engine API about the initial read and write format. Peer reviewed out-of-band by file. 2010-03-15 21:55 +0000 [r252623] Sean Bright * apps/app_meetme.c: Resolve a crash in SLATrunk when the specified trunk doesn't exist. Reported by philipp64 in #asterisk-dev. 2010-03-15 21:51 +0000 [r252619] Tilghman Lesher * contrib/init.d/org.asterisk.asterisk.plist, /: Merged revisions 252617 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r252617 | tilghman | 2010-03-15 16:43:14 -0500 (Mon, 15 Mar 2010) | 2 lines Uh, yeah. Umask. I'm stupid. ........ 2010-03-15 20:52 +0000 [r252534] Leif Madsen * /, configs/extensions.ael.sample: Merged revisions 252533 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r252533 | lmadsen | 2010-03-15 15:48:56 -0500 (Mon, 15 Mar 2010) | 7 lines Update extensions.ael file to not overlap extensions.conf. Updated the extensions.ael file so the global variables don't overlap those that we have in extensions.conf (sample files). This way unexpected things won't happed hopefully if both pbx_ael and res_config are loaded. (closes issue #17035) Reported by: pprindeville ........ 2010-03-15 16:27 +0000 [r252362-252488] Tilghman Lesher * codecs/gsm/Makefile: Make the Makefile logic more explicit and move the Snow Leopard logic down to where it's not executed on non-Darwin systems. (closes issue #17028) Reported by: pabelanger Patches: issue17028_20100315.patch uploaded by seanbright (license 71) 20100315__issue17028.diff.txt uploaded by tilghman (license 14) Tested by: tilghman, pabelanger * channels/chan_sip.c: THIS IS NOT PYTHON. Indentation doesn't matter, only braces do. (closes issue #17025) Reported by: smurfix Patches: sip.patch uploaded by smurfix (license 547) * /: Recorded merge of revisions 252366 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r252366 | tilghman | 2010-03-14 20:39:00 -0500 (Sun, 14 Mar 2010) | 2 lines Typo ........ * Makefile, contrib/init.d/org.asterisk.asterisk.plist (added), /, main/asterisk.c: Merged revisions 252361 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r252361 | tilghman | 2010-03-14 20:33:50 -0500 (Sun, 14 Mar 2010) | 4 lines Launch Asterisk on Mac OS X with launchd. Reviewboard: https://reviewboard.asterisk.org/r/551/ ........ 2010-03-14 17:43 +0000 [r252314] Sean Bright * cdr/cdr_sqlite3_custom.c, cel/cel_sqlite3_custom.c: Fix building CDR and CEL SQLite3 modules. They added a sqlite3_log() function which was conflicting with our function names. (closes issue #17017) Reported by: alephlg 2010-03-14 14:42 +0000 [r252277] Alexandr Anikin * addons/ooh323c/src/ooh323.c, addons/chan_ooh323.c, addons/ooh323c/src/ooh245.c, addons/ooh323c/src/ooCalls.h, configs/chan_ooh323.conf.sample, addons/ooh323c/src/ooh245.h, addons/ooh323c/src/ooSocket.c, addons/ooh323c/src/ootypes.h, addons/ooh323c/src/ooq931.c: generate roundtrip delay requests and responses added response to roundtrip delay requests from opposite side added roundtrip delay request sending to opposite side after answer, added options for sending request (interval between request and count of unreplied requests before forced call hangup) (closes issue #16976) Reported by: vmikhelson Patches: rtdr-1.6.0-2.patch uploaded by may213 (license 454) Tested by: vmikhelson, may213 2010-03-13 22:21 +0000 [r252229-252241] Russell Bryant * main/app.c: Resolve unit test failure that occurred on Mac OSX. On Linux (glibc), regcomp() does not return an error for an empty string. However, the version on OSX will return an error. The test for channel group matching by regex now passes on the mac, as well. * tests/test_time.c: Resolve compiler warning by paying attention to system() return value. This resolves the last compile failure on bamboo. 2010-03-12 23:18 +0000 [r252133] Tilghman Lesher * tests/test_time.c (added): Test script to verify that timezone cache is properly removed on zonefile alteration. 2010-03-12 22:04 +0000 [r252089] Terry Wilson * main/channel.c, res/res_rtp_asterisk.c, addons/chan_ooh323.c, main/rtp_engine.c, channels/chan_sip.c, channels/chan_skinny.c, channels/chan_h323.c, configs/sip.conf.sample, include/asterisk/frame.h, include/asterisk/rtp_engine.h, channels/sip/include/sip.h, channels/chan_mgcp.c: Only change the RTP ssrc when we see that it has changed This change basically reverts the change reviewed in https://reviewboard.asterisk.org/r/374/ and instead limits the updating of the RTP synchronization source to only those times when we detect that the other side of the conversation has changed the ssrc. The problem is that SRCUPDATE control frames are sent many times where we don't want a new ssrc, including whenever Asterisk has to send DTMF in a normal bridge. This is also not the first time that this mistake has been made. The initial implementation of the ast_rtp_new_source function also changed the ssrc--and then it was removed because of this same issue. Then, we put it back in again to fix a different issue. This patch attempts to only change the ssrc when we see that the other side of the conversation has changed the ssrc. It also renames some functions to make their purpose more clear. Review: https://reviewboard.asterisk.org/r/540/ 2010-03-12 21:57 +0000 [r252088] Moises Silva * channels/chan_dahdi.c: add missing mfcr2_skip_category setting 2010-03-12 19:43 +0000 [r251989] Tilghman Lesher * apps/app_voicemail.c: Don't override a user option with the global option. (closes issue #16849) Reported by: ip-rob Patches: 20100311__issue16849.diff.txt uploaded by tilghman (license 14) Tested by: ip-rob 2010-03-12 19:40 +0000 [r251946-251987] Richard Mudgett * /: Merged revisions 251986 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r251986 | rmudgett | 2010-03-12 13:33:22 -0600 (Fri, 12 Mar 2010) | 1 line Make chan_dahdi wakeup_sub() prototype not conditional. ........ * channels/chan_dahdi.c: Doxegen this chan_dahdi lock. 2010-03-11 21:07 +0000 [r251877-251884] Tilghman Lesher * apps/app_exec.c: Because ExecIf needs to reprocess arguments, it's best if we don't remove quotes during parsing. (closes issue #16905) Reported by: ip-rob Patches: 20100303__issue16905.diff.txt uploaded by tilghman (license 14) Tested by: ip-rob * tests/test_stringfields.c: Fix tests on 32-bit systems. * apps/app_system.c: If the argument to the system application is quoted, ensure we remove the quotes before trying to execute. (closes issue #16842) Reported by: ip-rob Patches: 20100310__issue16842.diff.txt uploaded by tilghman (license 14) Tested by: ip-rob 2010-03-11 18:07 +0000 [r251821] Richard Mudgett * channels/sig_pri.h, channels/chan_dahdi.c: Minor tweaks and comment updates to chan_dahdi. 2010-03-11 07:03 +0000 [r251779] Alec L Davis * apps/app_directory.c: Add supporting code for app-directory pause option. Since 1.6.1 CLI help reports that option p(n) 'initial pause' is available. Supporting code was never implemented. (closes issue #16751) Reported by: alecdavis Patches: directory_pause.trunk.diff.txt uploaded by alecdavis (license 585) Tested by: alecdavis Review: https://reviewboard.asterisk.org/r/481/ 2010-03-10 23:15 +0000 [r251736] Jeff Peeler * tests/test_stringfields.c (added), main/utils.c: Add new unit test for stringfields. (Copied from reviewboard) Tests the following: 1. Basic allocation and setting of string fields. 2. Shrinking a string field and re-expanding it. 3. Growing the last allocation in a string field pool. 4. Setting a string to a large value such that a new string field pool must be allocated. In each part, we make sure that the string field is accurate (has the correct value in it), make sure that the 2 bytes before the string field has the correct capacity for the field, and for tests 2-4, we make sure that the string field is where we expect it to be in memory. Also tested: 5. Shrinking a string field and partially re-expanding it. 6. Setting strings in such a way as to create three separate string field pools and then removing the middle pool. There is a bug fix in the init function, which ensures the embedded_pool is set to NULL which is important for stack allocated structures. Review: https://reviewboard.asterisk.org/r/185/ 2010-03-10 20:54 +0000 [r251682] Tilghman Lesher * funcs/func_strings.c: Hmmm, apparently needed to be fixed in trunk, too. (closes issue #16900) Reported by: bluecrow76 Patches: asterisk-1.6.2.4-func_strings.diff uploaded by bluecrow76 (license 270) 2010-03-10 20:53 +0000 [r251680] Leif Madsen * apps/app_record.c: Be less ambiguous in Record() app docs. For some reason the documentation for the 'k' application in trunk and 1.6.2 is different than 1.6.0 and 1.6.1, so I'm setting them all to match. The wording in 1.6.2 and trunk was ambiguous, so you could interpret the wording the mean that recording would continue upon hangup indefinitely, or you could interpret it to mean that the recorded data would not be discarded upon hangup. This change makes it clear we mean the latter, and not the former. Came from a discussion in #asterisk on IRC. 2010-03-10 20:51 +0000 [r251679] Jeff Peeler * main/features.c: Fix ParkAndAnnounce not respecting parking options. The patch ensures that if a peer does not exist, parking settings are read from the channel. A unit test has been written to ensure proper operation for both standard parking and parking using masquerades. (closes issue #16592) Reported by: mwyres Patches: bug_16592.diff uploaded by snuffy (license 35) Review: https://reviewboard.asterisk.org/r/539/ 2010-03-10 20:30 +0000 [r251677] Tilghman Lesher * tests/test_substitution.c, funcs/func_strings.c: It's amazing what writing a test will find. (issue #16900) Reported by: bluecrow76 2010-03-10 18:25 +0000 [r251631] Jeff Peeler * main/abstract_jb.c: Fix jitterbuffer logging not creating logfiles. Three changes made here: 1) Do not fail if a previous log does not exist (in fact, this is probably expected). 2) Ensure that the file descriptor to write to gets assigned properly. I am at a loss as to why assigning safe_fd outside the if fixes this, but it makes the if statement slightly less complicated anyway. 3) Move up the failure message so that the errno of the failure is not overwritten by fclose. (closes issue #16917) Reported by: Artem 2010-03-10 16:55 +0000 [r251538-251585] Richard Mudgett * channels/sig_pri.h, channels/chan_dahdi.c, channels/sig_analog.c, channels/sig_analog.h, channels/sig_pri.c: Simplified dahdi_request() channel selection failed reason/cause code. Also avoid potential crash because cause could be NULL. * channels/sig_pri.h, channels/chan_dahdi.c, channels/sig_pri.c: Reduce the amount of database access for HAVE_PRI_SERVICE_MESSAGES. Rework HAVE_PRI_SERVICE_MESSAGES to not use the active values directly from the database. Database access is likely expensive. Database access now only happens on initialization, destruction, and when the B channel is taken in or out of service. This change is not related to call waiting but it would cause the search for a call waiting interface to be very expensive and slow down D channel message servicing. 2010-03-09 20:30 +0000 [r251475] Tilghman Lesher * codecs/gsm/Makefile, Makefile.rules: Build system modifications to ensure that Asterisk properly builds on Mac OS X 10.6. (closes issue #16997) Reported by: jquinn Patches: 20100309__issue16997__2.diff.txt uploaded by tilghman (license 14) Tested by: tilghman, russell 2010-03-08 18:08 +0000 [r251310] Leif Madsen * contrib/init.d/rc.debian.asterisk, /: Merged revisions 251309 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r251309 | lmadsen | 2010-03-08 12:07:44 -0600 (Mon, 08 Mar 2010) | 13 lines Fix Debian init script to not use -c. When using the init script as-is currently, it could cause issues on Debian such as high CPU usage. This fix has worked for several people so I'm implementing the change. (closes issue #16784) Reported by: pabelanger Tested by: pabelanger, mnick, davidw, mutineer612 (closes issue #16887) Reported by: jlpedrosa Tested by: jlpedrosa, mutineer612 ........ 2010-03-08 05:15 +0000 [r251262-251263] Tilghman Lesher * configure, include/asterisk/autoconfig.h.in, configure.ac, main/stdtime/localtime.c: Remove portions that weren't meant to be committed for the OS X compat fix * funcs/func_pitchshift.c, configure, include/asterisk/autoconfig.h.in, main/Makefile, configure.ac, main/stdtime/localtime.c: Change needed to make Mac OS X 10.6 happy 2010-03-07 14:53 +0000 [r251221-251222] Michiel van Baak * channels/chan_skinny.c: Clean transmit_* for start/stop media transmission Small patch changing skinny_set_rtp_peer to use transmit_stopmediatransmission and to use new transmit_startmediatransmission. Basic testing on 30VIP's by wedhorn Basic testing on 7960 by me (closes issue #16956) Reported by: wedhorn Patches: skinny-clean05b.diff uploaded by wedhorn (license 30) Tested by: wedhorn,mvanbaak * channels/chan_skinny.c: Cleanup transmit_callstate handling Broke the various functions included in transmit_callstate to their own functions. Transmit_callstate now just transmits callstate. Generally left the functionality as it was, which highlight some minor code issues (eg multiple transmit_callstate's). I did however revise the hint code usage of the old transmit_callstate as it it not appropriate to put a device on hook based on the change of a hinted device. (closes issue #16939) Reported by: wedhorn Patches: skinny-clean04.diff uploaded by wedhorn (license 30) Tested by: mvanbaak,wedhorn 2010-03-07 00:45 +0000 [r251181] Alexandr Anikin * addons/ooh323c/src/ooq931.c: small log issue from bug 0016664 2010-03-06 14:16 +0000 [r251137] Russell Bryant * channels/chan_sip.c: Fix a crash in SIP blind transfer handling found by an automated external test. The first real test added to the external test suite found a pretty nasty crash that occurred in Asterisk trunk. The crash was due to a race condition between the REFER handling and channel destruction in the channel thread. After the transfer has been completed, we go back to the transferrer channel and try to lock it so we can fire off a CEL event. However, there was no guarantee that the channel was still around at that point since it's racing against the channel thread. Since ast_channel is a reference counted object, the fix is simple. The code unlocks the transferrer channel before finally completing the transfer with an async goto. At this point the channel thread is going to start call tear down and the channel will eventually be destroyed. To ensure that the channel is valid when we want to fire off the CEL event, increase the channel's reference count. 2010-03-05 21:51 +0000 [r251038-251087] David Vossel * funcs/func_pitchshift.c: fixes xml error in func_pitchshift * funcs/func_pitchshift.c (added), CHANGES: PITCH_SHIFT dialplan function The PITCH_SHIFT function can be used on a channel to independently modify the pitch of both rx and tx audio streams. Now you can improve your conference calls by assigning a random pitch effect to everyone entering a meetme room, or just make your day more interesting by making your co-workers sound funny. These are just some of the numerious practical uses for this function. Enjoy! https://reviewboard.asterisk.org/r/526/ 2010-03-05 19:32 +0000 [r251022] Russell Bryant * build_tools/menuselect-deps.in, configure, include/asterisk/autoconfig.h.in, configure.ac, makeopts.in, pbx/pbx_gtkconsole.c (removed): Remove pbx_gtkconsole and related gtk1 checks. Review: https://reviewboard.asterisk.org/r/541/ 2010-03-05 19:10 +0000 [r250979] Jeff Peeler * apps/app_followme.c: Fix app_followme playing wrong sound files. Fixes regression introduced in 140167 that uses the wrong variable names. (closes issue #16930) Reported by: ianc Patches: fix_reload_followme.diff uploaded by ianc (license 998) 2010-03-05 05:03 +0000 [r250917] Russell Bryant * channels/chan_sip.c: Fix up some of chan_sip's usage of the RTP engine API. The get_local_address() function for an RTP instance was used when building an SDP, but the results were not honored. The RTP engine activate() function was not being used once we have determined that media will now flow. 2010-03-05 04:37 +0000 [r250913] Tilghman Lesher * apps/app_voicemail.c: Missing quote in ODBC query. (closes issue #16953) Reported by: elguero Patches: app_voicemail-odbc-syntax-fix.diff uploaded by elguero (license 37) 2010-03-05 02:07 +0000 [r250871] Russell Bryant * include/asterisk/rtp_engine.h: Fix up the ast_rtp_property enum. The mis-placement of the latest entry meant that when it was set, it was writing one index past the end of the properties array in the ast_rtp_instance (which happened to be the local_address field). 2010-03-05 01:05 +0000 [r250787] Jeff Peeler * /, res/res_musiconhold.c: Merged revisions 250786 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r250786 | jpeeler | 2010-03-04 19:02:58 -0600 (Thu, 04 Mar 2010) | 9 lines Fix not being able to specify a URL in MOH class directory. Don't attempt to chdir on a URL! (closes issue #16875) Reported by: raarts Patches: moh-http.patch uploaded by raarts (license 937) ........ 2010-03-04 20:12 +0000 [r250730] Mark Michelson * funcs/func_channel.c: Adjust XML for func_channel to indicate that rtpdest can take a "text" argument. 2010-03-03 21:28 +0000 [r250609-250614] Leif Madsen * /: Recorded merge of revisions 250613 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r250613 | lmadsen | 2010-03-03 16:28:02 -0500 (Wed, 03 Mar 2010) | 11 lines Update existing Local channel documentation. A complete re-write of the Local channel documentation has been performed, with the existing information from localchannel.txt and localchannel.tex merged in. (issue #16637) Reported by: kobaz Patches: localchannel.tex uploaded by lmadsen (license 10) localchannel.txt uploaded by lmadsen (license 10) Tested by: lmadsen, jsmith, mmichelson ........ * doc/tex/localchannel.tex: Update existing Local channel documentation. A complete re-write of the Local channel documentation has been performed, with the existing information from localchannel.txt and localchannel.tex merged in. (closes issue #16637) Reported by: kobaz Patches: localchannel.tex uploaded by lmadsen (license 10) localchannel.txt uploaded by lmadsen (license 10) Tested by: lmadsen, jsmith, mmichelson 2010-03-03 19:38 +0000 [r250565] Richard Mudgett * apps/app_dial.c, channels/chan_dahdi.c, main/dial.c, channels/chan_local.c, include/asterisk/channel.h, apps/app_queue.c: Removed cdrflags from ast_channel structure. Only chan_dahdi set a value in cdrflags. Everyone else just copied it around the system. Noone cared about any value it may have contained. 2010-03-03 19:06 +0000 [r250481] Jeff Peeler * channels/chan_dahdi.c, channels/sig_analog.c, /: Merged revisions 250480 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r250480 | jpeeler | 2010-03-03 13:04:11 -0600 (Wed, 03 Mar 2010) | 15 lines Make sure to clear red alarm after polarity reversal. From the issue: The automatic overnight line tests (or manual ones) used on UK (BT) lines causes a red alarm on a dahdi / TDM400P connected channel. This is because the line uses voltage tests (battery loss) and polarity reversal. The polarity reversal causes chan_dahdi to initiate v23 CallerID processing but during this the event DAHDI_EVENT_NOALARM is ignored so that the alarm is never cleared. (closes issue #14163) Reported by: jedi98 Patches: chan_dahdi-1.4-inalarm.diff uploaded by jedi98 (license 653) Tested by: mattbrown, Chainsaw, mikeeccleston ........ 2010-03-03 19:02 +0000 [r250395-250478] David Vossel * main/test.c: Changes 0ms to <1ms in cli END results during 'test execute' * /, channels/chan_iax2.c: Merged revisions 250394 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r250394 | dvossel | 2010-03-03 12:02:27 -0600 (Wed, 03 Mar 2010) | 16 lines fixes problem with duplicate TXREQ packets When Asterisk receives an IAX2 TXREQ packet, try_transfer() will call store_by_transfercallno() to link the chan_iax2_pvt struct into iax_transfercallno_pvts. If a duplicate TXREQ packet is received for the same call, the pvt struct will be linked into iax_transfercallno_pvts multiple times. This patch fixes this. Thanks rain for debugging this and providing a patch! (closes issue #16904) Reported by: rain Patches: iax2-double-txreq-fix.diff uploaded by rain (license 327) Tested by: rain, dvossel ........ 2010-03-03 17:37 +0000 [r250392] Jeff Peeler * channels/chan_dahdi.c, configs/chan_dahdi.conf.sample, CHANGES: Add new config option to control AMI alarm event reporting in chan_dahdi. New config parameter "reportalarms" added in chan_dahdi.conf which supports the following possible values: "channels": report each channel alarms (current behavior, default for backward compatibility) "spans": report an "SpanAlarm" event when the span of any configured channel is alarmed "all": report channel and span alarms (aggregated behavior) "none": do not report any alarms (closes issue #16709) Reported by: nahuelgreco Patches: chan_dahdi.c.reportalarms.patch uploaded by nahuelgreco (license 162) 2010-03-03 16:43 +0000 [r250303-250346] Tilghman Lesher * main/editline/configure: One more fix to editline * main/editline/configure, main/editline/Makefile.in, main/editline/sys.h, main/editline/configure.in: Eliminate remaining libedit warnings (shown in bamboo) 2010-03-03 15:39 +0000 [r250302] Matthew Nicholson * res/res_fax.c, apps/app_fax.c, CHANGES, res/res_fax_spandsp.c: Updated CHANGES file to mention res_fax and res_fax_spandsp. Also fixed MODULEINFO depends and conflicts for app_fax, res_fax, and res_fax_spandsp. 2010-03-03 00:18 +0000 [r250235-250246] David Vossel * channels/chan_sip.c: fixes signed to unsigned int comparision issue for FaxMaxDatagram value. * main/test.c: fixes assumption that test failed if it did not pass when generating results * tests/test_utils.c: base64 unit test 2010-03-02 23:22 +0000 [r250190-250213] Matthew Nicholson * configs/res_fax.conf.sample (added), include/asterisk/res_fax.h (added): Merge missed files from res_fax/res_fax_spandsp merge. * res/res_fax.c (added), res/res_fax.exports (added), include/asterisk/frame.h, res/res_fax_spandsp.c (added): Merge res_fax and res_fax_spandsp. 2010-03-02 21:58 +0000 [r250141] David Vossel * apps/app_directed_pickup.c, CHANGES: adds 'p' option to PickupChan The 'p' option allows the PickupChan app to pickup a ringing phone by looking for the first match to a partial channel name rather than requiring a full match. (closes issue #16613) Reported by: syspert Patches: pickipbycallid.patch uploaded by syspert (license 938) pickupbycallerid_v2.patch uploaded by dvossel (license 671) Tested by: dvossel, syspert 2010-03-02 21:09 +0000 [r249950-250051] Leif Madsen * doc/tex/imapstorage.tex: Update IMAP documentation. Update the IMAP documentation to make it clear that storing voicemails in the same folder as a large number of emails could potentially cause significant slow downs when writing or retrieving voicemails. (issue #16704) Reported by: TimeHider Tested by: lmadsen, TimeHider * /, configs/cdr.conf.sample: Merged revisions 250043 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r250043 | lmadsen | 2010-03-02 15:51:35 -0500 (Tue, 02 Mar 2010) | 7 lines Update documentation to clarify purpose of unanswered option. (closes issue #16267) Reported by: elsto Patches: cdr.conf.sample.patch.txt uploaded by lmadsen (license 10) Tested by: davidw, elsto ........ * /: Recorded merge of revisions 250041 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r250041 | lmadsen | 2010-03-02 15:45:37 -0500 (Tue, 02 Mar 2010) | 4 lines Update documentation to not imply we support overriding options. (issue #16855) Reported by: davidw ........ * doc/tex/configuration.tex: Update documentation to not imply we support overriding options. (closes issue #16855) Reported by: davidw * apps/app_directory.c: Fix literal values wrapped in documentation. (closes issue #16145) Reported by: tilghman 2010-03-02 19:39 +0000 [r249947] Alec L Davis * apps/app_echo.c: revert ability to exit echo app caused a regression, as only supported VOICE, not VIDEO etc. (issue #16880) 2010-03-02 19:24 +0000 [r249912-249925] Leif Madsen * main/features.c: Add missing description of the PARKINGLOT variable in XML documentation. (closes issue #16743) Reported by: snuffy Patches: parkingdoc.diff uploaded by snuffy (license 35) * pbx/pbx_dundi.c: Convert some DUNDI functions to XML documentation. (closes issue #16798) Reported by: snuffy Patches: xml_dundi.diff uploaded by snuffy (license 35) 2010-03-02 19:08 +0000 [r249893] David Vossel * channels/chan_unistim.c, configs/chan_dahdi.conf.sample, configs/console.conf.sample, channels/chan_local.c, channels/chan_sip.c, configs/oss.conf.sample, configs/usbradio.conf.sample, configs/misdn.conf.sample, channels/chan_console.c, channels/chan_gtalk.c, channels/chan_oss.c, channels/misdn_config.c, include/asterisk/abstract_jb.h, configs/alsa.conf.sample, channels/chan_jingle.c, channels/chan_usbradio.c, channels/chan_dahdi.c, channels/chan_skinny.c, configs/mgcp.conf.sample, main/abstract_jb.c, channels/chan_h323.c, channels/chan_alsa.c, configs/sip.conf.sample, channels/chan_mgcp.c: fixes adaptive jitterbuffer configuration When configuring the adaptive jitterbuffer, the target_extra value not only could not be set from the configuration, but was not even being set to its proper default. This value is required in order for the adaptive jitterbuffer to work correctly. To resolve this a config option has been added to expose this value to the conf files, and a default value is provided when no config specific value is present. 2010-03-02 19:02 +0000 [r249892] Leif Madsen * apps/app_osplookup.c, apps/app_confbridge.c, res/res_jabber.c: Fix several XML documentation validate errors. 2010-03-02 18:31 +0000 [r249889-249891] Jeff Peeler * apps/app_voicemail.c: fix build by checking result of symlink in test_voicemail_vmsayname * CHANGES, apps/app_voicemail.c: Add new application VMSayName for use with voicemail. VMSayName that will play the recorded name of the voicemail user if it exists, otherwise will play the mailbox number. A unit test has been written to verify correct functionality called test_voicemail_vmsayname. (closes issue #14973) Reported by: ghjm Review: https://reviewboard.asterisk.org/r/530/ 2010-03-02 07:38 +0000 [r249759-249801] Alec L Davis * apps/app_echo.c: fixes ability to exit echo app when called from a ISDN channel, null frames prevent '#' exit. Now only echo back VOICE and DTMF frames (issue #16880) Reported by: alecdavis Patches: echo_exit.diff.txt uploaded by alecdavis (license 585) Tested by: alecdavis * channels/chan_dahdi.c: fix asterisk setting of pritimers from chan_dahdi.conf regression since sig_pri split. (issue #16909) Reported by: alecdavis Patches: pritimer.asterisk.diff.txt uploaded by alecdavis (license 585) Tested by: alecdavis 2010-03-01 19:36 +0000 [r249672] Sean Bright * /, apps/app_voicemail.c: Merged revisions 249671 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r249671 | seanbright | 2010-03-01 14:35:01 -0500 (Mon, 01 Mar 2010) | 11 lines Fix crash in app_voicemail related to message counting. We were passing a 'struct inprocess **' and treating it like a 'struct inprocess *' causing a segfault. (closes issue #16921) Reported by: whardier Patches: 20100301_issue16921.patch uploaded by seanbright (license 71) Tested by: whardier ........ 2010-03-01 19:33 +0000 [r249669-249670] Michiel van Baak * channels/chan_skinny.c: Cleanup display_*message functions. This patch splits transmit_displaymessage into transmit_clear_display_message and transmit_display_message which better aligns with the skinny protocol. The new transmit_display_message is not used in the current code, but will be and so it is commented. Moved handle_datetime from this function to onhook and offhook functions (display now properly cleared at the end of a call on 30VIP). Removed skinny debug messages from inline code as there's an ast_verb in transmit_clear_display_message. Also, removed commentary that it was a clear display as it is now apparent from the function name. Split transmit_displaypromptmessage into display and clear. (closes issue #16878) Reported by: wedhorn Patches: skinny-clean02.diff uploaded by wedhorn (license 30) skinny-clean03.diff uploaded by wedhorn (license 30) * channels/chan_skinny.c: fix endianes issues in chan_skinny (closes issue #16826) Reported by: PipoCanaja Patches: chan_skinny.c_bigendianPatch_20100218.diff uploaded by PipoCanaja (license 994) Tested by: wedhorn 2010-03-01 18:36 +0000 [r249623] Tilghman Lesher * apps/app_voicemail.c: Constify a bit of app_voicemail, to make ODBC and IMAP compile once again. 2010-03-01 17:11 +0000 [r249538] Jeff Peeler * channels/chan_local.c, /: Merged revisions 249536 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r249536 | jpeeler | 2010-03-01 11:02:03 -0600 (Mon, 01 Mar 2010) | 11 lines Modify queued frames from local channels to not set the other side to up In this case, attended transfers were broken due to ast_feature_request_and_dial detecting the channel being set to up before the answer frame could be read and therefore failing to mark the channel as ready. This fix is a regression fix for 244785, which should continue to work properly as well. (closes issue #16816) Reported by: jamhed Tested by: jamhed, corruptor ........ 2010-02-28 20:50 +0000 [r249491] Tilghman Lesher * apps/app_voicemail.c: Fix unit test that Alec Davis broke. (closes issue #16927) Reported by: alecdavis 2010-02-28 16:36 +0000 [r249449] Alec L Davis * apps/app_voicemail.c: make unit test check for NULL folder, which then defaults to INBOX previous test, gave false level of assurance that code was healthy. (issue #16927) Reported by: alecdavis Patches: based on app_voicemail_test.diff.txt uploaded by alecdavis (license 585) Tested by: alecdavis 2010-02-28 07:10 +0000 [r249405] Tilghman Lesher * include/asterisk/app.h, apps/app_voicemail.c: Properly document voicemail API documents. Also fix a crash reported via the -dev list. 2010-02-27 22:49 +0000 [r249320] Alec L Davis * channels/sig_pri.c: overlap receiving: automatically send CALL PROCEEDING when dialplan starts Following Q.931 5.2.4 When the user has determined that sufficient call information has been received the user shall stop T302 and send CALL PROCEEDING to the network. Previously timeouts were possible if the dialplan took a long time to issue any response back to the network. Verified that our local TELCO also does the same. (issue #16789) Reported by: alecdavis Patches: overlap_receiving_trunk.diff.txt uploaded by alecdavis (license 585) Tested by: alecdavis 2010-02-27 14:08 +0000 [r249235] Kevin P. Fleming * /, channels/chan_iax2.c: Merged revisions 249234 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r249234 | kpfleming | 2010-02-27 09:07:59 -0500 (Sat, 27 Feb 2010) | 1 line add a reference to the now-published IAX2 RFC ........ 2010-02-26 18:41 +0000 [r249187] Tilghman Lesher * apps/app_voicemail.c: Cleanups to fix bugs in the VM count API functions. - Urgent voicemails were not attached, because the attachment code looked in the wrong folder. - Urgent voicemails were sometimes counted twice when displaying the count of new messages. - Backends were inconsistent as to which voicemails each API counted. - Unit tests added to verify behavior in the future. (closes issue #15654) Reported by: tomo1657 Patches: 20100225__issue15654.diff.txt uploaded by tilghman (license 14) Tested by: tilghman (closes issue #16448) Reported by: hevad Review: https://reviewboard.asterisk.org/r/525/ 2010-02-26 18:41 +0000 [r249186] David Vossel * main/test.c: adds Time field to "test show results" cli command 2010-02-26 17:13 +0000 [r249101-249105] Mark Michelson * main/features.c: Send a manager event when the manager BridgeAction command is used. (closes issue #16769) Reported by: syspert Patches: bridgeaction.patch uploaded by syspert (license 938) * /, channels/chan_sip.c: Merged revisions 249100 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r249100 | mmichelson | 2010-02-26 11:04:29 -0600 (Fri, 26 Feb 2010) | 8 lines For T.38 reINVITEs treat a 606 the same as a 488. (closes issue #16792) Reported by: vrban Patches: t38_606.patch uploaded by vrban (license 756) ........ 2010-02-26 08:45 +0000 [r249009-249058] Russell Bryant * cdr/cdr_sqlite3_custom.c, cdr/cdr_syslog.c, cdr/cdr_sqlite.c, cdr/cdr_adaptive_odbc.c, cdr/cdr_pgsql.c, cdr/cdr_odbc.c, cdr/cdr_radius.c, cdr/cdr_custom.c, cdr/cdr_manager.c, cdr/cdr_tds.c, cdr/cdr_csv.c: formatting tweaks and constification * main/cdr.c: Trim trailing whitespace (to help reduce diff against cdr-q branch) * include/asterisk/cdr.h: Trim trailing whitespace, convert lists of defines to enums * cdr/cdr_sqlite.c: trivial formatting tweak (working on reducing diff against trunk for cdr-q) * cdr/cdr_sqlite3_custom.c: remove include * cdr/cdr_csv.c: constification, remove include * cdr/cdr_tds.c: Remove unnecessary includes, formatting tweak * cdr/cdr_pgsql.c: constification and remove unnecessary include 2010-02-25 23:09 +0000 [r248952] Jeff Peeler * /, res/res_monitor.c: Merged revisions 248860 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r248860 | jpeeler | 2010-02-25 15:22:06 -0600 (Thu, 25 Feb 2010) | 18 lines Ensure that monitor recordings are written to the correct location (again) This is an extension to 248757. As such the dialplan test has been extended: exten => 5040, 1, monitor(wav,tmp/jeff/monitor_test,b) exten => 5040, n, dial(sip/5001) exten => 5041, 1, monitor(wav,/tmp/jeff/monitor_test2,b) exten => 5041, n, dial(sip/5001) exten => 5042, 1, monitor(wav,monitor_test3,b) exten => 5042, n, dial(sip/5001) exten => 5043, 1, monitor(wav,tmp/jeff/monitor_test3,m) exten => 5043, n, changemonitor(monitor_test4) exten => 5043, n, dial(sip/5001) exten => 5044, 1, monitor(wav,monitor_test4,m) exten => 5044, n, changemonitor(tmp/jeff/monitor_test5) ; this looks to fail by design and emits a warning exten => 5044, n, dial(sip/5001) ........ 2010-02-25 22:41 +0000 [r248946] Mark Michelson * main/acl.c: Fix incorrect ACL behavior when CIDR notation of "/0" is used. AST-2010-003 2010-02-25 21:22 +0000 [r248861] Tilghman Lesher * /, main/asterisk.c: Merged revisions 248859 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r248859 | tilghman | 2010-02-25 15:21:05 -0600 (Thu, 25 Feb 2010) | 15 lines Some platforms clear /var/run at boot, which makes connecting a remote console... difficult. Previously, we only created the default /var/run/asterisk directory at install time. While we could create it in the init script, that would not work for those who start asterisk manually from the command line. So the safest thing to do is to create it as part of the Asterisk boot process. This also changes the ownership of the directory, because the pid and ctl files are created after we setuid/setgid. (closes issue #16802) Reported by: Brian Patches: 20100224__issue16802.diff.txt uploaded by tilghman (license 14) Tested by: tzafrir ........ 2010-02-25 18:37 +0000 [r248793] Jeff Peeler * /, res/res_monitor.c: Merged revisions 248757 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r248757 | jpeeler | 2010-02-25 12:06:54 -0600 (Thu, 25 Feb 2010) | 15 lines Ensure that monitor recordings are written to the correct location. Recordings should be placed in the monitor directory when a non-absolute path is used. Exact dialplan used for testing: exten => 5040, 1, monitor(wav,tmp/jeff/monitor_test,b) exten => 5040, n, dial(sip/5001) exten => 5041, 1, monitor(wav,/tmp/jeff/monitor_test2,b) exten => 5041, n, dial(sip/5001) exten => 5042, 1, monitor(wav,monitor_test3,b) exten => 5042, n, dial(sip/5001) ABE-2101 ........ 2010-02-24 22:44 +0000 [r248584-248667] Tilghman Lesher * channels/Makefile: Also kill the .i files, or else the build process will not recreate them, when we change flags. Fixes a weird symbol problem mmichelson was having in a group branch, but also applies to trunk. * /, main/logger.c, include/asterisk/term.h, main/term.c: Merged revisions 248582 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r248582 | tilghman | 2010-02-24 15:02:18 -0600 (Wed, 24 Feb 2010) | 7 lines Remove color code sequences from verbose messages that go to logfiles. (closes issue #16786) Reported by: dodo Patches: logger2.patch uploaded by dodo (license 989) Tested by: tilghman ........ 2010-02-24 06:39 +0000 [r248533-248534] Russell Bryant * funcs/func_strings.c: Remove unnecessary warning message, make a couple of formatting tweaks * tests/test_strings.c: Add ASTERISK_FILE_VERSION macro. 2010-02-23 22:29 +0000 [r248489] Mark Michelson * tests/test_strings.c (added): Unit test for ast_str API. Review: https://reviewboard.asterisk.org/r/517 2010-02-23 16:34 +0000 [r248397] David Vossel * /, channels/chan_sip.c: Merged revisions 248396 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r248396 | dvossel | 2010-02-23 10:26:05 -0600 (Tue, 23 Feb 2010) | 9 lines fixes invite with replaces deadlock (closes issue #16862) Reported by: pwalker Patches: replaces_deadlock_1.4 uploaded by dvossel (license 671) Tested by: pwalker, dvossel ........ 2010-02-22 20:19 +0000 [r248347] Mark Michelson * channels/chan_sip.c: Move the REF_DEBUG comment higher in the include list. Uncommenting the REF_DEBUG definition where it was in the source resulted in only a small part of the astobj2 references being logged to a file. Moving this up higher in the include list causes all references to be logged as they should be. 2010-02-22 06:45 +0000 [r248225-248226] Russell Bryant * include/asterisk/taskprocessor.h, main/taskprocessor.c: Minor tweaks to comment blocks and includes. Fix the copyright lines, tweak doxygen formatting, and remove some unnecessary includes. * tests/test_devicestate.c: Tweak copyright and author lines. 2010-02-21 12:09 +0000 [r248184] Michiel van Baak * channels/chan_skinny.c: Cleanup transmit_* functions, part 1 Break transmit_tone into transmit_start_tone and transmit_stop_tone as per the skinny protocol. (closes issue #16874) Reported by: wedhorn Patches: skinny-clean01.diff uploaded by wedhorn (license 30) 2010-02-20 22:37 +0000 [r248108] Olle Johansson * res/res_rtp_asterisk.c: Improve support for RTCP reports without report blocks 2010-02-19 18:38 +0000 [r248003] Moises Silva * channels/chan_dahdi.c: mfcr2 issue 0016844 - Fix portability bit fields and make mfcr2_immediate_accept work again, reported and patched by korihor 2010-02-19 17:40 +0000 [r247915] David Vossel * channels/chan_sip.c: handle_request_invite revise comment, fix coding guideline issues I'm working with this code right now trying to analyze a deadlock. This change is just to clean up a few things before I make a more complex patch. 2010-02-19 17:33 +0000 [r247914] Richard Mudgett * channels/chan_misdn.c, /: Merged revisions 247910 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r247910 | rmudgett | 2010-02-19 11:18:49 -0600 (Fri, 19 Feb 2010) | 55 lines Merged revision 247904 from https://origsvn.digium.com/svn/asterisk/be/branches/C.2-... .......... r247904 | rmudgett | 2010-02-19 10:49:44 -0600 (Fri, 19 Feb 2010) | 49 lines Make chan_misdn DTMF processing consistent with other channel technologies. The processing of DTMF tones on the receiving side of an ISDN channel is inconsistent with the way it is handled in other channels, especially DAHDI analog. This causes DTMF tones sent from an ISDN phone to be doubled at the connected party. We are using the following 2 options of misdn.conf 1) astdtmf=yes 2) senddtmf=yes Option one is necessary because the asterisk DSP DTMF detection is better than mISDN's internal DSP. Not as many false positives. Option two is necessary to transmit DTMF tones end to end when mISDN channels are connected to SIP channels with out of band DTMF for example. The symptom is that DTMF tones sent by an ISDN phone are doubled on the way through asterisk when two mISDN channels are connected with a Local channel in between or if it is bridged to an analog channel. The doubling of DTMF tones is because DTMF is passed inband to asterisk by the mISDN channel and passed out of band once again after the release of the DTMF tone. Passing it inband is wrong. Neither an analog channel nor SIP channel passes DTMF inband if configured to inband DTMF. Analog and SIP channels filter out the DTMF tones because they use the voice frames returned by ast_dsp_process. But chan_misdn passes the unfiltered input voice frames instead. To overcome one aspect of the problem, the doubling of DTMF tones when two mISDN channels are directly bridged, someone made an 'optimization', where in that case the DTMF tone passed out-of-band to the peer channel is not translated to an inband tone at the transmit side. This optimization is bad because it does not work in general. For example, analog channels or mISDN channels when bridged through an intermediary local channel will generate DTMF tones from out-of-band information. Also, of course, it must not be done when there is no inband DTMF available. This patch fixes the issue. Now chan_misdn will filter the received inband DTMF signal the same as other channel types. Another change included: No need to build an extra translation path because ast_process_dsp does it if required. Patches: misdn-dtmf.patch JIRA ABE-2080 ................ 2010-02-18 23:13 +0000 [r247787-247841] Tilghman Lesher * res/res_speech.c: Revert an errant part of a previous cleanup, to fix a memory corruption issue. (closes issue #16368) Reported by: thirionjwf Patches: res_speech.c.patch uploaded by thirionjwf (license 955) * channels/chan_sip.c: If the peer record is from realtime, it could be set to 0, due to MySQL not representing NULL well in integer columns. NULL means the value is not specified for the column, which normally means the driver uses whatever is the default value. However, on MySQL, placing a NULL in either a float or integer column results in a retrieval of the 0 value. Hence, users get an errant error on load. This patch suppresses that error and makes the value as if it was not there. Note that this cannot be done in the realtime driver, because the lack of difference between NULL and 0 can only be intepreted correctly by the driver itself. If we did it in the realtime driver, then it would be effectively impossible to set any realtime field to 0, because it would act as if the field were unspecified and possibly take on a different value. (closes issue #16683) Reported by: wdoekes 2010-02-18 21:23 +0000 [r247736-247770] David Vossel * bridges/bridge_softmix.c: fixes confbridge crash when no timing module is loaded. (closes issue #16471) Reported by: kjotte Patches: M16471.diff uploaded by junky (license 177) Tested by: kjotte, junky * apps/app_queue.c: fixes Queue with C option crash (closes issue #16475) Reported by: okrief Patches: queue_crash.diff uploaded by dvossel (license 671) 2010-02-18 19:39 +0000 [r247652] Matthew Nicholson * /, main/features.c: Merged revisions 247651 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r247651 | mnicholson | 2010-02-18 13:38:09 -0600 (Thu, 18 Feb 2010) | 6 lines Copy the calling party's account code to the called party if they don't already have one. (closes issue #16331) Reported by: bluefox Tested by: mnicholson ........ 2010-02-18 18:31 +0000 [r247609] Richard Mudgett * main/channel.c: Fix placing ISDN calls on hold preventing native bridging from being reexamined after a transfer. Consider the following scenario: /-- B A == * == Network \-- C Party B calls party A (EuroISDN BRI phone) Party A puts B on hold using the HOLD/RETRIEVE messages. Party A calls party C. Party A puts C on hold to talk with party B again. Party A transfers B to C by hanging up. The call does not get the opportunity to get re-transferred into the ISDN network by the native bridge because native bridging is not being reexamined after the initial transfer. 2010-02-18 16:54 +0000 [r247503-247509] Leif Madsen * /, README-SERIOUSLY.bestpractices.txt: Merged revisions 247508 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r247508 | lmadsen | 2010-02-18 11:53:44 -0500 (Thu, 18 Feb 2010) | 1 line Add additional link to best practices document per jsmith. ........ * /, README-SERIOUSLY.bestpractices.txt (added): Merged revisions 247502 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r247502 | lmadsen | 2010-02-18 11:38:17 -0500 (Thu, 18 Feb 2010) | 10 lines Add best practices documentation. (issue #16808) Reported by: lmadsen (issue #16810) Reported by: Nick_Lewis Tested by: lmadsen Review: https://reviewboard.asterisk.org/r/507/ ........ 2010-02-18 16:34 +0000 [r247500] Philippe Sultan * CHANGES, res/res_jabber.c: Add a new manager event for our buddies status. The new JabberStatus event gives a concise view of the status change to the AMI clients. Thanks fiddur! (closes issue #16760) Reported by: fiddur Patches: 244498.2.diff uploaded by fiddur (license 678) Tested by: fiddur, phsultan 2010-02-18 04:20 +0000 [r247423] Russell Bryant * Makefile, /, sounds/Makefile: Merged revisions 247422 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r247422 | russell | 2010-02-17 22:19:01 -0600 (Wed, 17 Feb 2010) | 10 lines Tweak argument handling for wget in the sounds Makefile. 1) Fix the check to see if we are using wget to not be full of fail. The configure script populates this variable with the absolute path to wget if it is found, so it didn't work. 2) Allow some extra arguments to be passed in for wget. This is just a simple change to allow our Bamboo build script to tell wget to be quiet and not fill up our logs with download status output. ........ 2010-02-17 22:44 +0000 [r247335-247381] Mark Michelson * main/test.c: Fix a couple of bugs in test tab completion. 1. Add missing unlock of lists. 2. Swap order of arguments to test_cat_cmp in complete_test_name. * main/test.c: Tab completion for test categories and names for "test show registered" and "test execute" CLI commands. * main/strings.c, include/asterisk/strings.h: Fix two problems in ast_str functions found while writing a unit test. 1. The documentation for ast_str_set and ast_str_append state that the max_len parameter may be -1 in order to limit the size of the ast_str to its current allocated size. The problem was that the max_len parameter in all cases was a size_t, which is unsigned. Thus a -1 was interpreted as UINT_MAX instead of -1. Changing the max_len parameter to be ssize_t fixed this issue. 2. Once issue 1 was fixed, there was an off-by-one error in the case where we attempted to write a string larger than the current allotted size to a string when -1 was passed as the max_len parameter. When trying to write more than the allotted size, the ast_str's __AST_STR_USED was set to 1 higher than it should have been. Thanks to Tilghman for quickly spotting the offending line of code. Oh, and the unit test that I referenced in the top line of this commit will be added to reviewboard shortly. Sit tight... 2010-02-17 19:51 +0000 [r247295] Jeff Peeler * funcs/func_groupcount.c, tests/test_app.c (added), main/app.c, CHANGES: Add support for GROUP_MATCH_COUNT regex matching on category Current support for regex matching was previously only available on the group. Also, error reporting for regex failures has been added. In addition to this feature enhancement a unit test has been written to check the regular expression logic to ensure the count operation is working as expected. (closes issue #16642) Reported by: kobaz Patches: groupmatch2.patch uploaded by kobaz (license 834) Review: https://reviewboard.asterisk.org/r/503/ 2010-02-17 19:23 +0000 [r247248-247282] David Vossel * tests/test_devicestate.c: modified device2extension_test's category * tests/test_devicestate.c (added): unit test for combined device state mapping and device to exten state mapping Review: https://reviewboard.asterisk.org/r/516/ * main/features.c, CHANGES, configs/features.conf.sample: addition of dynamic parkinglots feature This feature allows for parkinglots to be created dynamically within the dialplan. Thanks to all who were involved with getting this patch written and tested! (closes issue #15135) Reported by: IgorG Patches: features.dynamic_park.v3.diff uploaded by IgorG (license 20) 2009090400_dynamicpark.diff.txt uploaded by mvanbaak (license 7) dynamic_parkinglot.diff uploaded by dvossel (license 671) Tested by: eliel, IgorG, acunningham, mvanbaak, zktech Review: https://reviewboard.asterisk.org/r/352/ 2010-02-17 16:24 +0000 [r247169] Mark Michelson * /, apps/app_queue.c: Merged revisions 247168 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r247168 | mmichelson | 2010-02-17 10:24:17 -0600 (Wed, 17 Feb 2010) | 3 lines Make sure that when autofill is disabled that callers not in the front of the queue cannot place calls. ........ 2010-02-17 07:01 +0000 [r247124-247125] Tilghman Lesher * main/loader.c: RTP documentation states that you can pass NULL as the module, so make sure that's really the case. * channels/sip/include/dialog.h (added), channels/chan_sip.c, channels/sip/include/config_parser.h, channels/sip/include/globals.h (added), channels/sip/dialplan_functions.c (added), channels/Makefile, channels/sip/include/sip_utils.h, channels/sip/include/dialplan_functions.h (added): Make all of the various rtpqos parameters in this branch available from the CHANNEL function. Also includes a test for retrieving rtpqos parameters, including a NULL RTP driver. Additionally, some further separation of the SIP internal API into headers was necessary. (closes issue #16652) Reported by: kkm Patches: 20100204__issue16652.diff.txt uploaded by tilghman (license 14) Review: https://reviewboard.asterisk.org/r/501/ 2010-02-16 23:44 +0000 [r247076] Mark Michelson * main/strings.c: Add va_end calls to __ast_str_helper. According to the man page for stdarg(3), "Each invocation of va_copy() must be matched by a corresponding invocation of va_end() in the same function." There were several cases in __ast_str_helper where va_copy was not matched with a corresponding call to va_end. 2010-02-16 22:58 +0000 [r247035] Alexandr Anikin * addons/ooh323c/src/ooh323.c, addons/chan_ooh323.c: generate connected line info update from info in h.323 packets Tested by: benngard 2010-02-16 21:15 +0000 [r246985] Mark Michelson * include/asterisk/strings.h: Add some clarifying documentation to the ast_str_set and ast_str_append functions. 2010-02-16 21:03 +0000 [r246980-246981] David Vossel * main/tcptls.c: swap openssl with OpenSSL in warning message. (issue #16673) * main/tcptls.c: warning message if openssl support is missing while attempting tls connection (closes issue #16673) Reported by: michaesc Patches: tls_error_msg.diff uploaded by dvossel (license 671) 2010-02-16 18:29 +0000 [r246942] Mark Michelson * tests/test_pbx.c (added): Add unit test for dialplan pattern matching. This test works by reading input from arrays to build a sample dialplan. From there, patterns are attempted to be matched against said dialplan, with the expected match given. We then search in our example dialplan to see if we find a match and if what we find matches what we expected it to match. (closes issue #16809) Reported by: lmadsen Tested by: mmichelson Review: https://reviewboard.asterisk.org/r/504/ 2010-02-16 17:07 +0000 [r246899] David Vossel * main/channel.c: fixes sample rate conversion issue with Monitor application When using ast_seekstream with the read/write streams of a monitor, the number of samples we are seeking must be of the same rate as the stream or the jump calculation will be incorrect. This patch adds logic to correctly convert the number of samples to jump to the sample rate the read/write stream is using. For example, if the call is G722 (16khz) and the read/write stream is recording a 8khz wav, seeking 320 samples of 16khz audio is not the same as seeking 320 samples of 8khz audio when performing the ast_seekstream on the stream. ABE-2044 2010-02-16 15:36 +0000 [r246710-246863] Tilghman Lesher * build_tools/cflags.xml, build_tools/cflags-devmode.xml: Revert changes for now, pending discussion * build_tools/cflags-devmode.xml: Add a few more targets for DEBUG_THREADLOCALS * build_tools/cflags.xml, channels/chan_usbradio.c, build_tools/cflags-devmode.xml, main/strings.c, apps/app_voicemail.c: Change the blanket rules to delete .lastclean on all CFLAGS menuselect targets to be more particular. This change builds upon the recent change to menuselect to add 'touch_on_change' as an attribute of both categories and members. This should allow only the most invasive defines to cause a complete rebuild, while defines which only affect a subset of modules will only cause a rebuild of that smaller set. * channels/chan_sip.c: Allow Timer B to be set on the peer, and ensure SIP rules are followed (or warn) in comparison to Timer T1. (closes issue #16643) Reported by: nahuelgreco Patches: 20100204__issue16643.diff.txt uploaded by tilghman (license 14) Tested by: oej * Makefile, /: Merged revisions 246709 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r246709 | tilghman | 2010-02-15 17:42:33 -0600 (Mon, 15 Feb 2010) | 5 lines Make the menuselect instructions correct by allowing 'make menuselect' to actually solve dependency problems. (Previously, it would fail out again with the same message about running 'make menuselect', which was NOT at all helpful.) ........ 2010-02-15 22:08 +0000 [r246669] Richard Mudgett * channels/chan_dahdi.c: Restore triedtopribridge flag code removed in -r211197. Ooops. Failed to note that we were inside a for loop and pri_channel_bridge() needs to be executed only once. 2010-02-15 21:37 +0000 [r246667] Tilghman Lesher * utils/utils.xml: Instead of just automatically filtering out in the Makefile, give an indication of dependencies in menuselect. 2010-02-15 15:45 +0000 [r246627] David Vossel * channels/chan_sip.c, channels/sip/reqresp_parser.c, channels/sip/include/sip_utils.h, channels/sip/include/reqresp_parser.h: chan_sip parse code refactoring plus two new unit tests Code Refactoring Changes - read_to_parts() moved to reqresp_parser.c and has been renamed as get_name_and_number() - get_in_brackets() moved to reqresp_parser.c - find_closing_quotes() added to sip_utils.h Logic Changes - get_name_and_number() now uses parse_uri() and get_calleridname() for parsing. Before this change only names within quotes were found, when names not within quotes are possible. New Unit Tests -sip_get_name_and_number_test -sip_get_in_brackets_test (closes issue #16707) Reported by: Nick_Lewis Patches: issue16706.diff uploaded by dvossel (license 671) Review: https://reviewboard.asterisk.org/r/499/ 2010-02-12 23:32 +0000 [r246420-246546] David Vossel * main/channel.c, /: Merged revisions 246545 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r246545 | dvossel | 2010-02-12 17:30:17 -0600 (Fri, 12 Feb 2010) | 16 lines lock channel during datastore removal On channel destruction the channel's datastores are removed and destroyed. Since there are public API calls to find and remove datastores on a channel, a lock should be held whenever datastores are removed and destroyed. This resolves a crash caused by a race condition in app_chanspy.c. (closes issue #16678) Reported by: tim_ringenbach Patches: datastore_destroy_race.diff uploaded by tim ringenbach (license 540) Tested by: dvossel ........ * channels/chan_sip.c: fixes areas where port should be removed from domain during parsing A patch was committed recently that converted duplicate uri parsing code to use the parse_uri function. There were two instances where this conversion did not mimic previous behavior exactly because the port was not being parsed off the end of the domain. In order to do this, a dummy pointer argument needs to be passed into parse_uri so it will know it must parse out the port from the domain. If a port output paramenter is not present, the domain is returned with the port still attached. 2010-02-12 08:30 +0000 [r246382] TransNexus OSP Development * apps/app_osplookup.c, UPGRADE.txt, CHANGES: Updated doc for OSP lookup application. 2010-02-11 21:57 +0000 [r246299-246338] David Vossel * tests/test_heap.c, tests/test_event.c, channels/sip/reqresp_parser.c, channels/sip/config_parser.c: fixes some test description formatting inconsistencies so log file looks nice * tests/test_astobj2.c (added), main/astobj2.c: astobj2 unit test and bug fix A bug was discovered during the creation of the astobj2 unit test. When OBJ_MULTIPLE | OBJ_UNLINK is used, the objects being returned had a ref count issue. This patch resolves that. Review: https://reviewboard.asterisk.org/r/496/ 2010-02-10 23:19 +0000 [r246260] Russell Bryant * include/asterisk/event.h, tests/test_event.c (added), main/event.c: Add a test module for the event API, test_event.c. This module includes a single test so far that creates events using two different methods and does some verification on the result to make sure the correct data can be retrieved from the event that was created. One bug was found in the event API while developing this test, which makes me happy. :-) Review: https://reviewboard.asterisk.org/r/495/ 2010-02-10 23:13 +0000 [r246249] David Vossel * channels/sip/reqresp_parser.c, channels/sip/include/reqresp_parser.h: additional parse_uri test and documentation 2010-02-10 21:55 +0000 [r246200-246208] Tilghman Lesher * res/res_pktccops.exports (added): res_pktccops needs to be able to export a symbol for chan_mgcp (closes issue #16782) Reported by: nahuelgreco Patches: res_pktccops.exports uploaded by nahuelgreco (license 162) * funcs/func_strings.c: Fussy compiler on another machine... * funcs/func_strings.c: Fix weird issue with unit tests on optimized build - turned out to be a signing issue. 2010-02-10 17:49 +0000 [r246116] David Vossel * /, apps/app_queue.c: Merged revisions 246115 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r246115 | dvossel | 2010-02-10 11:44:20 -0600 (Wed, 10 Feb 2010) | 8 lines fixes random deadlock in app_queue with use_weight during reload (closes issue #16677) Reported by: tim_ringenbach Patches: app_queue_use_weight_deadlock.diff uploaded by tim ringenbach (license 540) ........ 2010-02-10 16:47 +0000 [r246070] Jeff Peeler * channels/chan_local.c: Change channel state on local channels for busy,answer,ring. Previously local channels channel state never changed. This became problematic when the state of the other side of the local channel was lost, for example during a masquerade. Changing the state of the local channel allows for the scenario to be detected when the channel state is set to ringing, but the peer isn't ringing. The specific problem scenario is described in 164201. Although this was noted on one of the issues, here is the tested dialplan verified to work: exten => 9700,1,Dial(Local/*9700@default&Local/0009700@default) exten => *9700,1,Set(GLOBAL(TESTCHAN)=${CHANNEL:0:${MATH(${LEN(${CHANNEL})}-1):0:2}}1) exten => *9700,n,wait(3) ;3 works, 1 did not exten => *9700,n,Dial(SIP/5001) exten => 0009700,1,Wait(1) ;1 works, 3 did not exten => 0009700,n,ChannelRedirect(${TESTCHAN},parkedcalls,701,1) (closes issue #14992) Reported by: davidw 2010-02-10 16:01 +0000 [r245945-246030] Tilghman Lesher * configure, include/asterisk/autoconfig.h.in, configure.ac, res/res_agi.c: Solaris doesn't like outputting a NULL to a %s in format strings. Detect all platforms that don't like that, either, and ensure that when documentation is missing, we pass a non-NULL pointer when outputting the corresponding documentation. (closes issue #16689) Reported by: bklang Patches: 20100209__issue16689__with_tests.diff.txt uploaded by tilghman (license 14) Review: https://reviewboard.asterisk.org/r/497/ * funcs/func_strings.c: Enable warnings on atypical conditions for the FILTER function (suggested by mmichelson on the -dev list). * /, funcs/func_strings.c, configs/extensions.conf.sample: Merged revisions 245944 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r245944 | tilghman | 2010-02-10 07:37:13 -0600 (Wed, 10 Feb 2010) | 2 lines Include examples of FILTER usage in extension patterns where a "." may be a risk. ........ 2010-02-09 23:32 +0000 [r245864] Russell Bryant * include/asterisk/test.h, tests/test_sha1.c (removed), include/asterisk/utils.h, tests/test_substitution.c, tests/test_heap.c, tests/test_ast_format_str_reduce.c, tests/test_skel.c, tests/test_utils.c, funcs/func_math.c, channels/sip/reqresp_parser.c, main/test.c, tests/test_md5.c (removed), channels/sip/config_parser.c, tests/test_sched.c: Various updates to the unit test API. 1) It occurred to me that the difference in usage between the error ast_str and the ast_test_update_status() usage has turned out to be a bit ambiguous in practice. In a lot of cases, the same message was being sent to both. In other cases, it was only sent to one or the other. My opinion now is that in every case, I think it makes sense to do both; we should output it to the CLI as well as save it off for logging purposes. This change results in most of the changes in this diff, since it required changes to all existing unit tests. It also allowed for some simplifications of unit test API implementation code. 2) Update ast_test_status_update() to include the file, function, and line number for the code providing the update. 3) There are some formatting tweaks here and there. Hopefully they aren't too distracting for code review purposes. Reviewboard's diff viewer seems to do a pretty good job of pointing out when something is a whitespace change. 4) I moved the md5_test and sha1_test into the test_utils module. It seemed like a better approach since these tests are so tiny. 5) I changed the number of nodes used in heap_test_2 from 1 million to 100 thousand. The only reason for this was to reduce the time it took for this test to run. 6) Remove an unused function prototype that was at the bottom of utils.h. 7) Simplify test_insert() using the LIST_INSERT_SORTALPHA() macro. The one minor difference in behavior is that it no longer checks for a test registered with the same name. 8) Expand the code in test_alloc() to provide specific error messages for each failure case, to clearly inform developers if they forget to set the name, summary, description, etc. 9) Tweak the output of the "test show registered" CLI command. I swapped the name and category to have the category first. It seemed more natural since that is the sort key. 10) Don't output the status ast_str in the "test show results" CLI command. This is going to tend to be pretty verbose, so just leave that for the detailed test logs (test generate results). Review: https://reviewboard.asterisk.org/r/493/ 2010-02-09 23:18 +0000 [r245793-245804] David Vossel * channels/chan_iax2.c: fixes a merging error for the iaxs and iaxsl off by one fix * /, channels/chan_iax2.c: Merged revisions 245792 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r245792 | dvossel | 2010-02-09 16:55:38 -0600 (Tue, 09 Feb 2010) | 12 lines Fixes iaxs and iaxsl size off by one issue. 2^15 = 32768 which is the maximum allowed iax2 callnumber. Creating the iaxs and iaxsl array of size 32768 means the maximum callnumber is actually out of bounds. This causes a nasty crash. (closes issue #15997) Reported by: exarv Patches: iax_fix.diff uploaded by dvossel (license 671) ........ 2010-02-09 18:06 +0000 [r245729] Tilghman Lesher * apps/app_fax.c: Ensure frames are only freed once. (closes issue #16361) Reported by: vlad Patches: 20100208__issue16361.diff.txt uploaded by tilghman (license 14) Tested by: kenny, bloodoff, misaksen 2010-02-09 17:40 +0000 [r245727] Matthew Nicholson * channels/chan_sip.c: This commit removes an extra newline in T.38 generated SDP packets. This bug was caused by the fix introduced in r243860. (closes issue #16766) Reported by: raivisr Patches: t38-sdp-newline-fix1.diff uploaded by mnicholson (license 96) Tested by: raivisr 2010-02-09 16:24 +0000 [r245680] Kevin P. Fleming * apps/app_fax.c: Don't offer MMR or JBIG transcoding during T.38 negotiation. After further discussion with Steve Underwood, we should not (yet) be offering to receive MMR or JBIG transcoded streams from T.38 endpoints. A future spandsp release will support those features, and then they can be enabled during negotiation 2010-02-08 23:43 +0000 [r245597-245624] Russell Bryant * main/event.c: Fix return value of get_ie_str() and get_ie_str_hash() for non-existent IE. I found this bug while developing a unit test for event allocation. Testing is awesome. * tests/test_utils.c: UNREGISTER instead of REGISTER in unload_module(). * main/pbx.c: Use memmove() instead of memcpy() for a case where the buffers overlap. Once again, valgrind is freaking awesome. That is all. * channels/Makefile: Remove object files from the channels/sip/ directory on make clean. 2010-02-08 22:31 +0000 [r245578] Tilghman Lesher * main/Makefile, channels/Makefile: Actually use _ASTLDFLAGS in the main/ and channels/ Makefiles. They were previously passed correctly, but they simply weren't used. This caused issues with various platforms whose builds needed to pass special linker flags via the configure script. (closes issue #16596) Reported by: pprindeville Patches: asterisk-1.6-astldflags.patch uploaded by pprindeville (license 347) Tested by: tilghman 2010-02-08 20:41 +0000 [r245497] Jason Parker * /, main/ast_expr2f.c, main/ast_expr2.fl: Merged revisions 245496 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r245496 | qwell | 2010-02-08 14:39:50 -0600 (Mon, 08 Feb 2010) | 4 lines Remove reference of documentation in source directory. People don't always build Asterisk from source (distro packages, anybody?). ........ 2010-02-08 04:51 +0000 [r245268-245385] Russell Bryant * contrib/scripts/install_prereq: Add the libvpb-dev package as a dependency. * pbx/pbx_gtkconsole.c: Add a todo for pbx_gtkconsole for updating to gtk2. This module needs to be converted to gtk2, or we will eventually have to just remove it from the tree. gtk1 isn't even packaged anymore in the distro I'm using. I suspect nobody uses this and that nobody would notice if we removed it. * contrib/scripts/install_prereq: Add more packages required for building Asterisk modules. * channels/chan_usbradio.c: Make chan_usbradio compile. * tests/test_sha1.c (added): Add a SHA1 test module. Review: https://reviewboard.asterisk.org/r/492/ * tests/test_md5.c: Remove unnecessary include, ast_md5_hash() comes from utils.h. * tests/test_md5.c (added): Add an MD5 test module. Review: https://reviewboard.asterisk.org/r/491/ * tests/test_ast_format_str_reduce.c: Fix a couple of spelling errors, and add format module dependencies. * channels/sip/include/config_parser.h, channels/sip/include/sip.h, channels/sip/include/sip_utils.h, channels/sip/include/reqresp_parser.h: Tweak formatting and add minor updates to some comments. * main/test.c: Remove an extra space. 2010-02-07 19:51 +0000 [r245230] Mark Michelson * channels/chan_sip.c: Remove parsing of constantssrc from reload_config. This config option is already handled by the function handle_common_options and it is unnecessary to parse the value again. 2010-02-06 14:43 +0000 [r245192] Mark Michelson * channels/chan_sip.c, configs/sip.conf.sample: Remove useless sip options related to hash table size. First off, these options weren't actually doing anything. By the time the options were parsed, the peer and dialog containers had already been allocated with their default values. Second, hash table size is something that doesn't really make sense to change in a config file. If a user is that interested in changing the hashtable size, he can modify the source itself. I have removed the parsing of the hash_peer, hash_user, and hash_dialog options. I have removed the hash_user_size variable altogether since it is not used at all. I also changed hash_peer_size and hash_dialog_size to be constant, and have changed the symbols to be in all caps as constants typically are. I have also removed the entire section in sip.conf.sample regarding configurable hashtable sizes. 2010-02-05 21:21 +0000 [r245147] David Vossel * include/asterisk/astobj2.h, main/astobj2.c: fixes astobj2 unlinking of multiple objects when OBJ_MULTIPLE was disabled When OBJ_MULTIPLE was off but OBJ_UNLINK was on, all the items in a bucket were being unlinked instead of just the first match. This fixes that. Review: https://reviewboard.asterisk.org/r/490/ 2010-02-05 19:26 +0000 [r245090] Jeff Peeler * /, LICENSE, contrib/firmware (removed): Merged revisions 245044 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r245044 | kpfleming | 2010-02-05 12:32:29 -0600 (Fri, 05 Feb 2010) | 5 lines Remove contrib/firmware directory as it is empty Remove explicit license for IAXy firmware as it is no longer included in the tree ........ 2010-02-05 19:07 +0000 [r245046] Tilghman Lesher * tests/test_ast_format_str_reduce.c, main/file.c: Merge tests that verify the same thing. (Oops.) 2010-02-05 18:12 +0000 [r245006] David Vossel * channels/chan_iax2.c: adds total call numbers available to 'iax2 show callnumber usage' cli output 2010-02-05 17:20 +0000 [r244945] Terry Wilson * res/res_calendar_exchange.c, res/res_calendar_icalendar.c, res/res_calendar_caldav.c: Fix crash on 32-bit for users not using https (closes issue #16778) Reported by: pitel Patches: diff.txt uploaded by twilson (license 396) Tested by: twilson, pitel 2010-02-05 17:05 +0000 [r244927] Sean Bright * /, main/asterisk.c: Merged revisions 244926 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r244926 | seanbright | 2010-02-05 12:03:35 -0500 (Fri, 05 Feb 2010) | 1 line Update main copyright date. ........ 2010-02-05 16:59 +0000 [r244769-244924] David Vossel * channels/chan_sip.c, channels/sip/include/config_parser.h, channels/sip/config_parser.c: fixes issue with sip registry not having correct default expiry default expiry was not being set correctly for a registry object. Thanks to ebroad for reporting the issue and testing the patch. * main/astobj2.c: fixes memory leak in astobj2 test ao2_iterator_destroy was not being used on the iterator during the test. This resulted in the container never actually being destroyed. * channels/chan_sip.c: parse_moved_contact tries to parse contact_name twice parse_moved_contact attempts to remove a quoted string twice, and the first try wasn't even being done correctly. 2010-02-04 22:43 +0000 [r244728-244768] Tilghman Lesher * main/file.c: Try to make ast_format_str_reduce fail... * include/asterisk/manager.h: Oops * include/asterisk/manager.h: Define a small set of constant return values 2010-02-04 15:36 +0000 [r244688] David Vossel * main/test.c: fix truncated format string in 'test show registered' When using the 'test show registered' cli command the 'Test Results' category was truncating the last few characters making it look like 'Test Resul'. I also expanded other parts of the format to better represent how long function names and categories will likely be. 2010-02-04 00:12 +0000 [r244647] Richard Mudgett * channels/sip: Add ignore *.i files property to the new channels/sip directory. 2010-02-03 20:48 +0000 [r244598] Jeff Peeler * main/features.c, CHANGES: Add some additional option support for non-default parking lots. The options are: parkedcallparking, parkedcallhangup, parkedcallrecording, and parkedcalltransfers. Previously these options were only available for the default parking lot. (closes issue #16641) Reported by: bluecrow76 Patches: asterisk-1.6.2.1-features.c.diff uploaded by bluecrow76 (license 270) 2010-02-03 20:33 +0000 [r244597] David Vossel * channels/chan_sip.c, channels/sip/include/config_parser.h (added), channels/sip/reqresp_parser.c (added), channels/sip (added), channels/Makefile, channels/sip/config_parser.c (added), channels/sip/include (added), channels/sip/include/sip.h (added), channels/sip/include/sip_utils.h (added), channels/sip/include/reqresp_parser.h (added): -----Changes ----- New files - channels/sip/sip.h – A new header for shared #define, enum, and struct definitions. - channels/sip/include/sip_utils.h – sip util functions shared among the all the sip APIs - channels/sip/include/config_parser.h – sip config-parser API - channels/sip/config_parser.c – Contains sip.conf parsing helper functions with unit tests. - channels/sip/include/reqresp_parser.h – sip request response parser API - channels/sip/reqresp_parser.c – Contains sip request and response parsing helper functions with unit tests. New Unit Tests - sip_parse_uri_test - sip_parse_host_test - sip_parse_register_line_test Code Refactoring - All reusable #define, enum, and struct definitions were moved out of chan_sip.c into sip.h. During this process formatting changes were made to comments in both sip.h and chan_sip.c in order to better adhere to the coding guidelines. - The beginnings of three new sip APIs, sip-utils.h, config-parser.h, reqresp-parser.h using existing chan_sip.c functions. - parse_uri() and get_calleridname() were moved from chan_sip.c to request-parser.c along with unit tests for both functions. - sip_parse_host() and sip_parse_register_line() were moved from chan_sip.c to config-parser.c along with unit tests for both functions. Changes to parse_uri() -removal of the options parameter. It was never used and did not behave correctly. -additional check for [?header] field. When this field was present, the transport type was not being set correctly. ----- Overview ----- This patch is introduced with the hope that unit tests for all our sip parsing functions will be written soon. chan_sip is a huge file, and with the addition of each unit test chan_sip is going to grow larger and harder to maintain. I'm proposing we begin refactoring chan_sip, starting with the parsing functions. With each parsing function we move into a separate helper file, a unit test should accompany it. I've attempted to lay down the ground work for this change by creating two new parser helper files (config-parser.c and reqresp-parser.c) and moving all shared structs, enums, and defines from chan_sip.c into a shared sip.h file. We can't verify everything in Asterisk using unit tests, but string parsing is one area where unit tests make the most sense. By beginning to restructure the code in this way, chan_sip not only becomes less bloated, but Asterisk as a whole will become more stable. Review: https://reviewboard.asterisk.org/r/477/ 2010-02-03 19:26 +0000 [r244547] Mark Michelson * main/sched.c: Initialize counters in ast_sched_report so that resulting data is not bogus. 2010-02-03 18:34 +0000 [r244505] Tilghman Lesher * channels/chan_dahdi.c: The chanvar= setting should inherit the entire list of variables, not just the first one. (closes issue #16359) Reported by: raarts Patches: dahdi-setvars.diff uploaded by raarts (license 937) Tested by: raarts 2010-02-02 22:27 +0000 [r244443] David Vossel * main/udptl.c, channels/chan_sip.c, include/asterisk/udptl.h: fixes crash during T.38 negotiation caused by invalid or missing FaxMaxDatagram field AST-2010-001 (closes issue #16634) Reported by: krn (closes issue #16724) Reported by: barthpbx (closes issue #16517) Reported by: bklang (closes issue #16485) Reported by: elsto 2010-02-02 20:32 +0000 [r244071-244393] Tilghman Lesher * apps/app_dial.c, CHANGES: Properly respect GOSUB_RESULT as to what to do with the master channel. Previously, we would parse GOSUB_RESULT, but not actually do anything with it. Also, allow GOSUB_RETVAL to be inherited back across a peer/master channel. (closes issue #16687) Reported by: bklang Patches: app_dial-preserve-gosub_retval.patch uploaded by bklang (license 919) (with modifications) (closes issue #16686) Reported by: bklang Patches: app_dial-respect-gosub_result.patch uploaded by bklang (license 919) (with modifications) * funcs/func_math.c: Correct some off-by-one errors, especially when expressions don't contain expected spaces. Also include the tests provided by the reporter, as regression tests. (closes issue #16667) Reported by: wdoekes Patches: astsvn-func_match-off-by-one.diff uploaded by wdoekes (license 717) * /, apps/app_voicemail.c: Merged revisions 244242 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r244242 | tilghman | 2010-02-01 17:13:44 -0600 (Mon, 01 Feb 2010) | 11 lines Backup and restore original textfile, for prosthesis (gerund of prepend). Also, fix menuselect such that changing voicemail build options correctly causes rebuild. (closes issue #16415) Reported by: tomo1657 Patches: prepention.patch uploaded by tomo1657 (license 484) (with modifications by me to backport to 1.4) ........ * main/channel.c, channels/chan_local.c, /: Merged revisions 244070 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r244070 | tilghman | 2010-02-01 11:46:31 -0600 (Mon, 01 Feb 2010) | 16 lines Revert previous chan_local fix (r236981) and fix instead by destroying expired frames in the queue. (closes issue #16525) Reported by: kobaz Patches: 20100126__issue16525.diff.txt uploaded by tilghman (license 14) 20100129__issue16525__1.6.0.diff.txt uploaded by tilghman (license 14) Tested by: kobaz, atis (closes issue #16581) Reported by: ZX81 (closes issue #16681) Reported by: alexr1 ........ 2010-01-28 22:37 +0000 [r243986] Jeff Peeler * main/manager.c: Optimization to manager events. When potentially sending manager events, return immediately if there are no sessions or hooks. Also, avoid locking the hooks list if it is empty. (issue #16455) Reported by: atis Patches: manager_hooks_trunk.patch uploaded by atis (license 242) 2010-01-28 20:00 +0000 [r243943] Tilghman Lesher * channels/iax2-parser.c: Informational message, not an error. 2010-01-28 18:35 +0000 [r243780-243860] Russell Bryant * channels/chan_sip.c: Add a missing line terminator for T.38 SDP. * /, channels/chan_sip.c: Merged revisions 243779 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r243779 | russell | 2010-01-28 09:03:17 -0600 (Thu, 28 Jan 2010) | 2 lines Fix a bogus third argument to ast_copy_string(). ........ 2010-01-27 20:37 +0000 [r243551-243693] Jeff Peeler * /, apps/app_queue.c: Merged revisions 243691 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r243691 | jpeeler | 2010-01-27 14:35:56 -0600 (Wed, 27 Jan 2010) | 5 lines Revert 243570, I should have looked at this closer. Will reopen the issue, but am leaving the review closed as the change was pointless. (issue #16488) ........ * CHANGES: expand code based appreviation of AST_CONFIG_DIR to configuration directory * /, apps/app_queue.c: Merged revisions 243570 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r243570 | jpeeler | 2010-01-27 12:47:34 -0600 (Wed, 27 Jan 2010) | 9 lines Extend announcement URL used with Queue from 80 chars to PATH_MAX. (closes issue #16488) Reported by: syspert Patches: soundfilelen.pacth-2 uploaded by syspert (license 938) Review: https://reviewboard.asterisk.org/r/475/ ........ * Makefile, CHANGES, include/asterisk/options.h, main/asterisk.c, main/loader.c: Add new option to asterisk.conf (lockconfdir) to protect conf dir during reloads (closes issue #16358) Reported by: raarts Patches: lockconfdir.diff uploaded by raarts (license 937) modified by me 2010-01-27 18:08 +0000 [r243487] Mark Michelson * main/pbx.c, /: Merged revisions 243486 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r243486 | mmichelson | 2010-01-27 12:06:43 -0600 (Wed, 27 Jan 2010) | 3 lines Use a safe list traversal while checking for duplicate vars in pbx_builtin_setvar_helper. ........ 2010-01-27 17:32 +0000 [r243482] Russell Bryant * funcs/func_channel.c, channels/chan_iax2.c: Fix the ability to specify an OSP token for an outbound IAX2 call. When this patch was originally submitted, the code allowed for the token to be set via a channel variable. I decided that a cleaner approach would be to integrate it into the CHANNEL() function. Unfortunately, that is not a suitable approach. It's not possible to get the value set on the channel soon enough using that method. So, go back to the simple channel variable method. (closes issue #16711) Reported by: homesick Patches: iax-svn.diff uploaded by homesick (license 91) 2010-01-26 23:56 +0000 [r243391] David Vossel * /, main/features.c: Merged revisions 243390 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r243390 | dvossel | 2010-01-26 17:55:49 -0600 (Tue, 26 Jan 2010) | 9 lines fixes bug with channel receiving wrong privileges after call parking (closes issue #16429) Reported by: Yasuhiro Konishi Patches: features.c.diff uploaded by Yasuhiro Konishi (license 947) Tested by: dvossel ........ 2010-01-26 20:49 +0000 [r243346] David Ruggles * apps/app_senddtmf.c: Code clean up in app_senddtmf Pushes code clean up done in app_externalivr back into app_senddtmf Review: https://reviewboard.asterisk.org/r/473/ 2010-01-26 18:20 +0000 [r243244-243266] Jeff Peeler * main/channel.c, /: Merged revisions 243258 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r243258 | jpeeler | 2010-01-26 12:19:10 -0600 (Tue, 26 Jan 2010) | 2 lines Remove unnecessary code in ast_read as issue 16058 has been fully solved now. ........ * main/frame.c: Fix crash resulting from frames with invalid data pointers. In ast_frdup the frame data union does not get set to point to malloced memory if the datalen is zero, so make sure to handle the same case in ast_frisolate appropriately. (closes issue #16058) Reported by: atis Patches: bug16058-fix.patch uploaded by jpeeler (license 325) Tested by: atis 2010-01-26 17:40 +0000 [r243200-243242] David Vossel * main/test.c: modify 'test show registered' cli output format In order to improve readability, the output from 'test show registered' has been modified to truncate fields to fit within the format output if they are over a certain length. * include/asterisk/utils.h, channels/chan_sip.c, tests/test_utils.c (added), main/test.c, main/utils.c: RFC compliant uri and display-name encode/decode 1. URI Encoding This patch changes ast_uri_encode()'s behavior when doreserved is enabled. Previously when doreserved was enabled only a small set of reserved characters were encoded. This set was comprised primarily of the reserved characters defined in RFC3261 section 25.1, but contained other characters as well. Rather than only escaping the reserved set, doreserved now escapes all characters not within the unreserved set as defined by RFC 3261 and RFC 2396. Also, the 'doreserved' variable has been renamed to 'do_special_char' in attempts to avoid confusion. When doreserve is not enabled, the previous logic of only encoding the characters <= 0X1F and > 0X7f remains, except for the '%' character, which must always be encoded as it signifies a HEX escaped character during the decode process. 2. URI Decoding: Break up URI before decode. In chan_sip.c ast_uri_decode is called on the entire URI instead of it's individual parts after it is parsed. This is not good as ast_uri_decode can introduce special characters back into the URI which can mess up parsing. This patch resolves this by not decoding a URI until parsing is completely done. There are many instances where we check to see if pedantic checking is enabled before we decode a URI. In these cases a new macro, SIP_PEDANTIC_DECODE, is used on the individual parsed segments of the URI rather than constantly putting if (pedantic) { decode() } checks everywhere in the code. In the areas where ast_uri_decode is not dependent upon pedantic checking this macro is not used, but decoding is still moved to each individual part of the URI. The only behavior that should change from this patch is the time at which decoding occurs. Since I had to look over every place URI parsing occurs to create this patch, I found several places where we use duplicate code for parsing. To consolidate the code, those areas have updated to use the parse_uri() function where possible. 3. SIP display-name decoding according to RFC3261 section 25. To properly decode the display-name portion of a FROM header, chan_sip's get_calleridname() function required a complete re-write. More information about this change can be found in the comments at the beginning of this function. 4. Unit Tests. Unit tests for ast_uri_encode, ast_uri_decode, and get_calleridname() have been written. This involved the addition of the test_utils.c file for testing the utils api. (closes issue #16299) Reported by: wdoekes Patches: astsvn-16299-get_calleridname.diff uploaded by wdoekes (license 717) get_calleridname_rewrite.diff uploaded by dvossel (license 671) Tested by: wdoekes, dvossel, Nick_Lewis Review: https://reviewboard.asterisk.org/r/469/ 2010-01-26 15:46 +0000 [r243118-243158] Russell Bryant * tests/test_substitution.c: Log the variable name being tested. * tests/test_substitution.c: Update test_substitution to show failures in the test log. * funcs/func_aes.c: Update func_aes to its pre-ast_str_substitution state. This change makes the AES tests in test_substitution.c pass. We still need to work through what's going wrong in the ast_str version. 2010-01-26 01:56 +0000 [r242967-243077] Tilghman Lesher * tests/test_substitution.c: Fixing last errors in the conversion, though it appears that the AES_* functions are still broken. * tests/test_substitution.c: Using a dummy channel causes CDR() testing to fail. * tests/test_substitution.c: Wish I had gotten to the review before this got submitted, because there's failures we need to address. * /, main/Makefile, res/Makefile: Merged revisions 242969 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r242969 | tilghman | 2010-01-25 15:50:22 -0600 (Mon, 25 Jan 2010) | 2 lines Err, and use the new menuselect define, too. ........ * build_tools/cflags.xml, /, build_tools/menuselect-deps.in, configure, configure.ac: Merged revisions 242966 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r242966 | tilghman | 2010-01-25 15:36:33 -0600 (Mon, 25 Jan 2010) | 2 lines Only rebuild parsers by an option in menuselect ........ 2010-01-25 21:32 +0000 [r242954-242965] Russell Bryant * tests/test_substitution.c, tests/test_heap.c, tests/test_ast_format_str_reduce.c, tests/test_skel.c, tests/test_sched.c: Make unit test modules depend on TEST_FRAMEWORK instead of off by default. * tests/test_substitution.c: Convert test_substitution module to the unit test API. Review: https://reviewboard.asterisk.org/r/474/ 2010-01-25 21:20 +0000 [r242933] Alexandr Anikin * addons/ooh323c/src/ooh323.c, addons/ooh323c/src/oochannels.c, addons/ooh323c/src/ooCalls.c: small corrections in call clearing 2010-01-25 21:13 +0000 [r242904-242919] Olle Johansson * main/pbx.c, main/manager.c, include/asterisk/pbx.h: Change api for pbx_builtin_setvar to actually return error code if a function can't be written to. This patch removes code that was duplicated from pbx.c to manager.c in order to prevent API change in released versions of Asterisk. There are propably also other places that would benefit from reading the return code and react if a function returns error codes on writing a value into it. * main/manager.c, /: Merged revisions 242850 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r242850 | oej | 2010-01-25 21:03:38 +0100 (Mån, 25 Jan 2010) | 2 lines Report error when writing to functions returns error in AMI setvar action ........ 2010-01-25 20:18 +0000 [r242857] Tilghman Lesher * /, configure, main/Makefile, configure.ac, res/Makefile: Merged revisions 242852 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r242852 | tilghman | 2010-01-25 14:15:45 -0600 (Mon, 25 Jan 2010) | 2 lines Restore FreeBSD to able-to-compile-ish-mode ........ 2010-01-25 18:01 +0000 [r242812] Terry Wilson * res/res_calendar.c: Fix INTERNAL_OBJ error on stop when calendars.conf missing Initialize the calendars container before calling load_config and return FAILURE on allocation failure. Also, use the AST_MODULE_LOAD_* values for return values. Thanks to rmudgett for pointing out the error and the need to use the defined values for return 2010-01-25 05:45 +0000 [r242719-242729] Tilghman Lesher * /, main/Makefile, res/Makefile: Merged revisions 242728 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r242728 | tilghman | 2010-01-24 23:42:22 -0600 (Sun, 24 Jan 2010) | 2 lines Buildbot pointed out an error (thanks, buildbot!) ........ * /, res/Makefile: Merged revisions 242723 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r242723 | tilghman | 2010-01-24 23:33:37 -0600 (Sun, 24 Jan 2010) | 2 lines Oops, should have used CMD_PREFIX, not ECHO_PREFIX, for the commands. ........ * /, main/Makefile: Merged revisions 242683 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r242683 | tilghman | 2010-01-24 23:13:28 -0600 (Sun, 24 Jan 2010) | 2 lines Make the build of the Asterisk expression parser match that of the AEL parser. ........ 2010-01-24 22:42 +0000 [r242645] Alexandr Anikin * addons/ooh323c/src/ooh323.c, addons/chan_ooh323.c, addons/ooh323c/src/ooStackCmds.h, addons/ooh323c/src/oochannels.c, addons/ooh323c/src/ooCmdChannel.c, addons/ooh323c/src/ooStackCmds.c: AST_CONTROL_CONNECTED_LINE frame type processing added to setup DisplayIE field incorrect q.931 message order filtered on incoming calls (first msg must be setup, next must be not setup) 2010-01-24 21:49 +0000 [r242607] Sean Bright * res/res_phoneprov.c: Instead of crashing, allocate our header ast_str before we try to use it. (closes issue #16680) Reported by: lmadsen Patches: issue16680_20100122.patch uploaded by seanbright (license 71) Tested by: lmadsen 2010-01-24 06:40 +0000 [r242521] Tilghman Lesher * /, configure, include/asterisk/autoconfig.h.in, configure.ac, pbx/Makefile, res/Makefile, makeopts.in: Merged revisions 242520 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r242520 | tilghman | 2010-01-24 00:33:01 -0600 (Sun, 24 Jan 2010) | 8 lines Only rebuild bison and flex source files on demand, if bison and flex are detected by the configure script. Changed after discussion on the -dev list about possible unnecessary build failures, due to checkouts/untars causing these special source files to possibly be newer than their resulting C files. This should additionally ensure that nobody need learn about extra Makefile arguments to ensure the proper files get rebuilt when changes are made to these special source files. ........ 2010-01-22 21:45 +0000 [r242424] Tilghman Lesher * /, res/Makefile: Merged revisions 242423 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r242423 | tilghman | 2010-01-22 15:44:18 -0600 (Fri, 22 Jan 2010) | 7 lines Rebuild from flex, bison sources when necessary. (issue #14629) Reported by: Marquis Patches: 20100121__issue14629.diff.txt uploaded by tilghman (license 14) ........ 2010-01-22 16:20 +0000 [r242357] David Ruggles * apps/app_externalivr.c: Add send DTMF feature to ExternalIVR app Implemented a new command 'D' that allows client IVRs to send DTMF digits to the channel. (closes issue #16615) Reported by: thedavidfactor Review: https://reviewboard.asterisk.org/r/465/ 2010-01-22 15:09 +0000 [r242317] Tilghman Lesher * tests/test_sched.c: The irony of not compile-testing a test program before committing is killing me. 2010-01-22 09:28 +0000 [r242227] Olle Johansson * /, channels/chan_sip.c: Merged revisions 242226 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r242226 | oej | 2010-01-22 10:19:30 +0100 (Fre, 22 Jan 2010) | 3 lines Initialize notify_types to NULL ........ 2010-01-22 04:57 +0000 [r242184-242186] Russell Bryant * main/test.c: Update the doxygenification of some comments. * tests/test_sched.c: Convert scheduler API entry order test to the test API. Review: https://reviewboard.asterisk.org/r/470/ * tests/test_skel.c: Add test API usage example to test_skel.c. Review: https://reviewboard.asterisk.org/r/471/ 2010-01-21 22:37 +0000 [r242092] Mark Michelson * main/acl.c: Add missing argument to ast_calloc calls. 2010-01-21 21:05 +0000 [r242043] Olle Johansson * main/acl.c: Make sure we initialize the ast_ha structure with ast_calloc 2010-01-21 15:27 +0000 [r241938] Sean Bright * /, configure, configure.ac: Merged revisions 241932 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r241932 | seanbright | 2010-01-21 10:25:46 -0500 (Thu, 21 Jan 2010) | 5 lines Fix configure check for PTHREAD_ONCE_INIT when manually adding -Wall to CFLAGS. (closes issue #16666) Reported by: romain_proformatique ........ 2010-01-21 15:14 +0000 [r241896] Tilghman Lesher * channels/chan_vpb.cc: Formats are inconsistent between even 32-bit and 64-bit Linux. Use casts to ensure both compile. 2010-01-21 14:10 +0000 [r241855-241856] Russell Bryant * main/test.c: Point to a useful reference on the XML output format. * main/test.c: Modify test results XML format to match the JUnit format. When this code was developed, we came up with our own XML format for the test output. I have since started looking at integration with other tools, namely continuous integration frameworks, and this format seems to be supported across a number of applications. With these changes in place, I was able to get Atlassian Bamboo to interpret the test results. 2010-01-21 05:54 +0000 [r241766] Tilghman Lesher * /, funcs/func_math.c: Merged revisions 241765 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r241765 | tilghman | 2010-01-20 23:53:17 -0600 (Wed, 20 Jan 2010) | 2 lines Guard against division by zero. ........ 2010-01-20 21:14 +0000 [r241627-241714] David Vossel * res/res_rtp_asterisk.c: rtp timestamp to timeval calculation fix The rtp timestamp to timeval calculation was only accurate for 8kHz audio. This patch corrects this. Review: https://reviewboard.asterisk.org/r/468/ SWP-648 * Makefile, /: Merged revisions 241626 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r241626 | dvossel | 2010-01-20 14:00:04 -0600 (Wed, 20 Jan 2010) | 6 lines fixes parsing error in Makefile. Some echo lines were missing "; . Thanks to jparker for pointing out the problem. ........ 2010-01-20 17:49 +0000 [r241581] Alec L Davis * main/cdr.c: Add Calling and Called Subaddress to CDR record Requires 'callingsubaddr' and 'calledsubaddr' fields in backend cdr. (closes issue #16600) Reported by: alecdavis Patches: cdr_subaddr.diff.txt uploaded by alecdavis (license 585) Tested by: alecdavis Review: https://reviewboard.asterisk.org/r/460/ 2010-01-20 13:01 +0000 [r241503] Kevin P. Fleming * channels/chan_vpb.cc: Fix up compile breakage from ast_tvdiff_ms() API change. 2010-01-20 08:18 +0000 [r241416] Alec L Davis * main/pbx.c, channels/sig_pri.c: Update CDR variables as pbx starts Allows CDR variables added in cdr.c:set_one_cid to become visable during the call, by executing ast_cdr_update() early in __ast_pbx run. Reverts sig_pri changes in trunk that are specific to isdn technology only. (closes issue #16638) Reported by: alecdavis Patches: cdr_update.diff3.txt uploaded by alecdavis (license 585) Tested by: alecdavis 2010-01-19 22:59 +0000 [r241366] Jeff Peeler * main/pbx.c: Initialize data on the stack so that Park doesn't interpret random arguments. passdata was only being set in pbx_substitue_variables when arguments were passed. (closes issue #16406) (closes issue #16586) Reported by: DLNoah Patches: bug16586v2.patch uploaded by jpeeler (license 325) Tested by: DLNoah 2010-01-19 22:41 +0000 [r241364] Tilghman Lesher * doc/janitor-projects.txt, apps/app_sendtext.c: Enable SendText to send strings in encoded format. See http://lists.digium.com/pipermail/asterisk-users/2010-January/243462.html 2010-01-19 18:51 +0000 [r241314-241315] Jeff Peeler * channels/chan_agent.c: small correction from 241314 * /, channels/chan_agent.c: Merged revisions 241227 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r241227 | jpeeler | 2010-01-19 11:22:18 -0600 (Tue, 19 Jan 2010) | 13 lines Fix deadlock in agent_read by removing call to agent_logoff. One must always lock the agents list lock before the agent private. agent_read locks the private immediately, so locking the agents list lock is not an option (which is what agent_logoff requires). Because agent_read already has access to the agent private all that is necessary is to do the required hanging up that agent_logoff performed. (closes issue #16321) Reported by: valon24 Patches: bug16321.patch uploaded by jpeeler (license 325) ........ 2010-01-19 17:42 +0000 [r241230] Jason Parker * Makefile: Allow parallel make (-j) to work properly. After some back and forth with the reporter, we came up with the necessary changes. (closes issue #16489) Reported by: Chainsaw Patches: asterisk-1.6.2.1-parallel-make-minimal.patch uploaded by Chainsaw (license 723) Tested by: Chainsaw, qwell 2010-01-19 00:28 +0000 [r241188] Tilghman Lesher * main/srv.c, res/res_agi.c, CHANGES, include/asterisk/srv.h: Create iterative method for querying SRV results, and use that for finding AGI servers. (closes issue #14775) Reported by: _brent_ Patches: 20091215__issue14775.diff.txt uploaded by tilghman (license 14) hagi-5.patch uploaded by brent (license 388) Tested by: _brent_ Reviewboard: https://reviewboard.asterisk.org/r/378/ 2010-01-19 00:24 +0000 [r241187] Alec L Davis * channels/sig_pri.c: Update CDR variables before pbx starts (overlap dial) Allows CDR variables added in cdr.c:set_one_cid to become visable during the call. (issue #16638) Reported by: alecdavis Patches: cdr_update.diff2.txt uploaded by alecdavis (license 585) Tested by: alecdavis 2010-01-18 22:31 +0000 [r241143] Jeff Peeler * main/channel.c, channels/chan_dahdi.c, channels/sig_analog.c, main/features.c, pbx/pbx_dundi.c, main/enum.c, include/asterisk/time.h, main/timing.c: Extend max call limit duration from 24.8 days to 292+ million years. If the limit was set past MAX_INT upon answering, the call was immediately hung up due to overflow from the return of ast_tvdiff_ms (in ast_check_hangup). The time calculation functions ast_tvdiff_sec and ast_tvdiff_ms have been changed to return an int64_t to prevent overflow. Also the reporter suggested adding a message indicating the reason for the call hanging up. Given that the new limit is so much higher, the message (which would only really be useful in the overflow scenario) has been made a debug message only. (closes issue #16006) Reported by: viraptor 2010-01-18 22:03 +0000 [r241098] Jason Parker * main/rtp_engine.c: Fix an RTP instance allocation failure on Solaris. (closes issue #16543) Reported by: crjw Patches: rtp_sin_family.patch uploaded by crjw (license 963) Tested by: crjw, qwell 2010-01-18 22:00 +0000 [r241097] Alec L Davis * channels/sig_pri.c: Update CDR variables before pbx starts Allows CDR variables added in cdr.c:set_one_cid to become visable during the call. (closes issue #16638) Reported by: alecdavis Patches: cdr_update.diff.txt uploaded by alecdavis (license 585) 2010-01-18 19:57 +0000 [r241016] Sean Bright * /, main/config.c: Merged revisions 241015 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r241015 | seanbright | 2010-01-18 14:54:19 -0500 (Mon, 18 Jan 2010) | 12 lines Plug a memory leak when reading configs with their comments. While reading through configuration files with the intent of returning their full contents (comments specifically) we allocated some memory and then forgot to free it. This doesn't fix 16554 but clears up a leak I had in the lab. (issue #16554) Reported by: mav3rick Patches: issue16554_20100118.patch uploaded by seanbright (license 71) Tested by: seanbright ........ 2010-01-18 19:26 +0000 [r241012] Tilghman Lesher * funcs/func_strings.c, CHANGES: Make HASHes inheritable across channel creation. 2010-01-18 18:00 +0000 [r240973-240974] David Ruggles * UPGRADE.txt: ExternalIVR information for UPGRADE.txt added a paragraph about the fixes and changes to the ExternalIVR application. * doc/externalivr.txt: Updated ExternalIVR documentation Rewrote a large portion of the existing documentation and added information about the TCP/IP socket interface 2010-01-18 17:45 +0000 [r240971] David Vossel * Makefile, CHANGES: transmit_silence_during_record replaced by transmit_silence In asterisk.conf, transmit_silence_during_record has been removed in favor of using only the transmit_silence option. The transmit_silence_during_record option remains a valid option in asterisk.conf, but has been removed from the sample config and noted in CHANGES. 2010-01-18 17:41 +0000 [r240969] David Ruggles * apps/app_externalivr.c: Add notification of interrupted file Add file information to data element of T event so the file information is sent to the client when it is interrupted. Previously only notification of pending files that were dropped was sent (closes issue #16147) Reported by: thedavidfactor Tested by: thedavidfactor Review: https://reviewboard.asterisk.org/r/449/ 2010-01-18 16:45 +0000 [r240842-240887] David Vossel * Makefile: updated transmit_silence option documentation in asterisk.conf This patch updates the transmit_silence option to better document why the option exists, and what it affects. Thanks to russell for providing the verbage for this update. * apps/app_queue.c: fixes spelling error. s/memeber/member 2010-01-17 19:45 +0000 [r240717] Sean Bright * main/pbx.c: Avoid a crash on Solaris when running 'core show functions.' (closes issue #16309) Reported by: asgaroth 2010-01-16 00:54 +0000 [r240667] Sean Bright * res/res_musiconhold.c: Get MoH building on OpenSolaris. 2010-01-15 23:50 +0000 [r240629] Tilghman Lesher * Makefile, main/asterisk.c: Err, oops, it was already the way I intended. 2010-01-15 23:09 +0000 [r240548-240552] Russell Bryant * include/asterisk/doxygen/commits.h: Note where empty lines should reside in commit messages. * Makefile, /: Merged revisions 240547 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r240547 | russell | 2010-01-15 17:06:11 -0600 (Fri, 15 Jan 2010) | 2 lines Fix a spelling error in the asterisk.conf sample. ........ 2010-01-15 22:07 +0000 [r240505] Sean Bright * res/res_timing_timerfd.c: Clarify error message in res_timing_timerfd. 2010-01-15 21:42 +0000 [r240421-240500] Tilghman Lesher * utils/astcanary.c: Oops, missed an include * utils/astcanary.c, main/asterisk.c: The previous attempt at using a pipe to guarantee astcanary shutdown did not work. We're revisiting the previous patch, albeit with a method that overcomes the prior criticism that it was not POSIX-compliant. (closes issue #16602) Reported by: frawd Patches: 20100114__issue16602.diff.txt uploaded by tilghman (license 14) Tested by: frawd * apps/app_directed_pickup.c, main/features.c, include/asterisk/manager.h: Add pickup event to AMI. Also, fix AMI documentation. (closes issue #16431) Reported by: syspert Patches: 20100112__issue16431.diff.txt uploaded by tilghman (license 14) 2010-01-15 20:58 +0000 [r240420] Mark Michelson * main/utils.c: Make sure to set owner_line, ownder_func, and owner_file in ast_calloc_with_stringfields. Asterisk would crash on startup if MALLOC_DEBUG were set in menuselect. This is because the manager action UpdateConfig had to resize its string field allocation to set the description. When the resize occurred, ast_copy_string would crash because we were attempting to copy a string from a NULL pointer. Setting the strings initially makes the code much less crashy. 2010-01-15 20:58 +0000 [r240415-240419] Tilghman Lesher * apps/app_voicemail.c: Make sure that the limit is N, not N - 1. * /, apps/app_voicemail.c: Merged revisions 240414 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r240414 | tilghman | 2010-01-15 14:52:27 -0600 (Fri, 15 Jan 2010) | 15 lines Disallow leaving more than maxmsg voicemails. This is a possibility because our previous method assumed that no messages are left in parallel, which is not a safe assumption. Due to the vmu structure duplication, it was necessary to track in-process messages via a separate structure. If at some point, we switch vmu to an ao2-reference-counted structure, which would eliminate the prior noted duplication of structures, then we could incorporate this new in-process structure directly into vmu. (closes issue #16271) Reported by: sohosys Patches: 20100108__issue16271.diff.txt uploaded by tilghman (license 14) 20100108__issue16271__trunk.diff.txt uploaded by tilghman (license 14) 20100108__issue16271__1.6.0.diff.txt uploaded by tilghman (license 14) Tested by: jsutton ........ 2010-01-15 20:41 +0000 [r240411] Russell Bryant * main/event.c: Ensure payload type is properly checked when comparing against cached events. (closes issue #16607) Reported by: ddv2005 Patches: event.patch uploaded by ddv2005 (license 769) 2010-01-15 18:21 +0000 [r240368] Sean Bright * main/pbx.c, main/manager.c, res/res_smdi.c, apps/app_meetme.c, channels/chan_sip.c, cel/cel_tds.c, main/features.c, res/res_phoneprov.c, cdr/cdr_tds.c, apps/app_jack.c: Convert a few places to use ast_calloc_with_stringfields where applicable. 2010-01-15 16:51 +0000 [r240329] Russell Bryant * configure: Update configure script for an OSP toolkit related change. 2010-01-15 16:28 +0000 [r240328] Kevin P. Fleming * configs/sip.conf.sample: Clarify RTP NAT handling a bit. 2010-01-14 23:13 +0000 [r240226-240271] Sean Bright * res/res_config_ldap.c: Plug a memory leak in res_config_ldap. (closes issue #16257) Reported by: nito Patches: issue16257_20100111.diff uploaded by seanbright (license 71) * res/res_timing_timerfd.c: If we aren't running on a machine that support CLOCK_MONOTONIC, don't load. Group developed and tested by seanbright, Corydon76, Kobaz, and Amorsen. 2010-01-14 18:03 +0000 [r240179] Jeff Peeler * main/channel.c: Fix broken call pickup The problem was the OUTGOING flag was not getting set properly on the channel, resulting in pickup failing as ast_read thought the call was inbound. Refer to 170393 for a more verbose description as this is the same exact change. (closes issue #16539) Reported by: syspert Patches: bug16539.patch uploaded by jpeeler (license 325) Tested by: syspert 2010-01-14 17:34 +0000 [r240129-240175] Tilghman Lesher * main/pbx.c: Similarly, ensure that matchcid is duplicated correctly when merging contexts. * main/pbx.c: Ensure that the callerid is NULL when the parent is effectively NULL. This applies only to pattern-match hints, which create exact-match hints on the fly. 2010-01-14 16:14 +0000 [r240078] Matthew Nicholson * main/udptl.c: This change fixes a few bugs in the way the far max IFP was calculated that were introduced in r231692. (closes issue #16497) Reported by: globalnetinc Patches: udptl-max-ifp-fix1.diff uploaded by mnicholson (license 96) Tested by: globalnetinc 2010-01-14 14:38 +0000 [r240039] Leif Madsen * doc/building_queues.txt (added): Add documentation about how to build queues. Add a how-to set of documentation about building queues with Asterisk. This documentation is based on Asterisk 1.6.2 but should work on most versions with minor modifications. (closes issue #16237) Reported by: lmadsen Patches: Building Queues (FINAL).txt uploaded by lmadsen (license 10) Tested by: pdhales, lmadsen, cmdrwalrus 2010-01-13 23:22 +0000 [r239920-239997] Tilghman Lesher * main/pbx.c: Oops, another tag error * main/pbx.c: Oops, missed a closing tag * main/pbx.c, include/asterisk/pbx.h: Add the TESTTIME() dialplan function, which permits testing GotoIfTime. Specifically, by setting TESTTIME() to a particular date and time, you can test whether a dialplan correctly branches as was intended. This was developed after recent questions on the -users list on how to test their holiday dialplan logic. (closes issue #16464) Reported by: tilghman Patches: 20100112__issue16464.diff.txt uploaded by tilghman (license 14) Review: https://reviewboard.asterisk.org/r/458/ * main/ast_expr2f.c, main/ast_expr2.fl: Flex uses fwrite incorrectly, which breaks the build. Providing a workaround. 2010-01-13 19:48 +0000 [r239839] Jeff Peeler * /, main/features.c: Merged revisions 239838 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r239838 | jpeeler | 2010-01-13 13:43:33 -0600 (Wed, 13 Jan 2010) | 11 lines Fix regression for timed out parked call returning to caller This issue seems to have been exposed by the fix in 160390 whereby using a masquerade prevented a crash. The new channel used in the masquerade was not copying the macro information from the old channel. (closes issue #15459) Reported by: djrodman Patches: patch_15459.txt uploaded by mnick (license ) ........ 2010-01-13 19:31 +0000 [r239834] Leif Madsen * configs/extensions.conf.sample: Add more examples to extensions.conf showing how to use various functionality and provide commonly useful features. (closes issue #16090) Reported by: pprindeville Patches: extensions.conf-bugid16090.patch#3 uploaded by pprindeville (license 347) Tested by: tzafrir, pprindeville, lmadsen 2010-01-13 18:16 +0000 [r239797] Tilghman Lesher * main/Makefile, main/ast_expr2f.c, main/ast_expr2.fl: Code previously added to ast_expr2f.c warranted a change in the source file ast_expr2.fl. Also, made a Makefile change to ensure that the expression parser C source files get regenerated correctly, when we need that to happen. 2010-01-13 16:31 +0000 [r239712] David Vossel * Makefile, main/channel.c, apps/app_waitforring.c, apps/app_waitforsilence.c: add silence gen to wait apps asterisk.conf's 'transmit_silence' option existed before this patch, but was limited to only generating silence while recording and sending DTMF. Now enabling the transmit_silence option generates silence during wait times as well. To achieve this, ast_safe_sleep has been modified to generate silence anytime no other generators are present and transmit_silence is enabled. Wait apps not using ast_safe_sleep now generate silence when transmit_silence is enabled as well. (closes issue #16524) Reported by: kobaz (closes issue #16523) Reported by: kobaz Tested by: dvossel Review: https://reviewboard.asterisk.org/r/456/ 2010-01-13 10:45 +0000 [r239663-239665] Olle Johansson * main/poll.c: MAX() moved to utils.h * channels/chan_sip.c: SIP Show channelstats fix - use float division to show proper stats (closes issue #15819) Reported by: klaus3000 Patches: asterisk-sip-show-channelstats-trunk.txt uploaded by klaus3000 (license 65) Tested by: klaus3000, oej This patch is for trunk only and will be blocked in 1.6.2 2010-01-13 07:02 +0000 [r239624-239625] TransNexus OSP Development * doc/tex/channelvariables.tex: Updated channel variable list of osplookup application. * apps/app_osplookup.c: Updated XML doc for OSP. 2010-01-12 19:58 +0000 [r239571] Tilghman Lesher * main/pbx.c: Blank callerid and NULL callerid should not compare equal. The second is the default state for matching CID in the dialplan (no matching) while the first matches one particular CallerID. This is a regression. (fixes AST-314, SWP-611) 2010-01-12 18:55 +0000 [r239525] Alec L Davis * main/cdr.c: add Dialed Number Identifier (DNID) field to cdr records. reviewboard link: https://reviewboard.asterisk.org/r/455/ Reported by: alecdavis Tested by: alecdavis Patch cdr_dnid.diff2.txt uploaded by alecdavis (license 585) 2010-01-12 18:22 +0000 [r239520] Leif Madsen * configs/sip.conf.sample: Note that direct T.38 is not supported. (closes issue #16411) Reported by: stanusr Patches: __20091210-sip.conf.sample-documentation.txt uploaded by lmadsen (license 10) 2010-01-12 17:09 +0000 [r239473] Sean Bright * res/res_config_ldap.c: Fix crash in res_config_ldap. We need to allocate enough room for 2 pointers, not 2 characters. (closes issue #16397) Reported by: bklang Patches: res_config_ldap.patch uploaded by applsplatz (license 949) Tested by: applsplatz 2010-01-12 16:14 +0000 [r239427] David Vossel * channels/chan_sip.c: fixes text support in sdp answer The code that handled setting 'm=text' in the sdp was not executing in the correct order. The check to see if text was needed came after the check to add 'm=text' to the sdp, this resulted in 'm=text' always being set to 0 because it looked like text was never required. (closes issue #16457) Reported by: peterj Patches: textportinsdp.diff uploaded by peterj (license 951) issue16457.diff uploaded by dvossel (license 671) Tested by: peterj 2010-01-12 07:48 +0000 [r239389] Olle Johansson * include/asterisk/astmm.h: Adding Tilghman's documentation from asterisk-dev to the actual file. 2010-01-12 03:21 +0000 [r239152-239308] Tilghman Lesher * /, contrib/scripts/safe_asterisk: Merged revisions 239307 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r239307 | tilghman | 2010-01-11 21:18:36 -0600 (Mon, 11 Jan 2010) | 8 lines Portability and other fixes for the safe_asterisk script (closes issue #16416) Reported by: bklang Patches: safe_asterisk-compat-1.patch uploaded by bklang (license 919) 20100106__issue16416__trunk.diff.txt uploaded by tilghman (license 14) Tested by: bklang ........ * contrib/init.d/rc.mandriva.asterisk, contrib/init.d/rc.debian.asterisk, contrib/init.d/rc.redhat.asterisk, contrib/init.d/rc.gentoo.asterisk, contrib/init.d/rc.slackware.asterisk, contrib/init.d/rc.archlinux.asterisk, contrib/init.d/rc.suse.asterisk: Add LSB headers to init scripts. (closes issue #14864) Reported by: lathama Patches: lsb-init-info-debian.diff uploaded by pkempgen (license 169) * res/res_pktccops.c: Socket level option is SOL_SOCKET, not SO_SOCKET. (issue #16580) * Makefile, contrib/init.d/rc.mandriva.asterisk, contrib/init.d/rc.debian.asterisk, contrib/init.d/rc.redhat.asterisk, contrib/init.d/rc.suse.asterisk: Permit more options in the Makefile as to startup options (closes issue #16454) Reported by: syspert Patches: 20091228__issue16454__3.diff.txt uploaded by tilghman (license 14) Tested by: syspert * Makefile: Including bundle1.o breaks Tiger and Leopard (issue #16449) * addons/cdr_mysql.c, configs/cdr_mysql.conf.sample: Permit dates and times to be stored in timezones other than the default (typically, UTC) (closes issue #16401) Reported by: lordmortis 2010-01-11 16:41 +0000 [r239111-239114] Sean Bright * res/res_calendar_exchange.c, res/res_calendar_icalendar.c, res/res_calendar_caldav.c, res/res_clialiases.c: Pass NULL for the ao2_callback function pointer instead of duplicating cb_true. * main/astobj2.c: Fix ao2_callback when both OBJ_MULTIPLE and OBJ_NODATA are passed. There is an issue which only affects trunk and the new ao2_callback OBJ_MULTIPLE implementation. When both OBJ_MULTIPLE and OBJ_NODATA are passed, only the first object is visited, regardless of what is returned by the specified callback. This causes a problem when we are clearing a container, i.e.: ao2_callback(container, OBJ_UNLINK | OBJ_NODATA | OBJ_MULTIPLE, NULL, NULL); Only unlinks the first object. This patch resolves this. (closes issue #16564) Reported by: pj Patches: issue16564_20100111.diff uploaded by seanbright (license 71) Tested by: pj, seanbright Review: https://reviewboard.asterisk.org/r/457/ * main/test.c: Fix spelling of 'category.' 2010-01-10 19:37 +0000 [r239074] Tilghman Lesher * addons/chan_ooh323.c, main/frame.c, channels/chan_iax2.c: According to POSIX, the capital L modifier applies only to floating point types. Fixes a crash on Solaris. (closes issue #16572) Reported by: crjw Patches: frame_changes.patch uploaded by crjw (license 963) Plus several others found and fixed by me 2010-01-10 17:53 +0000 [r239037] Alexandr Anikin * addons/ooh323c/src/ooq931.h, addons/ooh323c/src/oochannels.c, addons/ooh323c/src/ooq931.c: add docallbacks flag in q931decode function because when we decode received q931 packet we must do callbacks and when we print sended q931 packet we must not. 2010-01-10 06:56 +0000 [r239000] Tilghman Lesher * Makefile, main/asterisk.c: It's been long enough -- make the behavior introduced in 1.6 the default. 2010-01-09 01:08 +0000 [r238916] Tilghman Lesher * main/manager.c, /: Merged revisions 238915 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r238915 | tilghman | 2010-01-08 18:57:58 -0600 (Fri, 08 Jan 2010) | 6 lines -1 is interpreted as an error, intead of the maximum mask. (closes issue #16241) Reported by: vnovy Patches: manager.c.patch uploaded by vnovy (license 922) ........ 2010-01-08 23:30 +0000 [r238835] Jeff Peeler * /, main/features.c: Merged revisions 238834 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r238834 | jpeeler | 2010-01-08 17:28:37 -0600 (Fri, 08 Jan 2010) | 4 lines Stop a crash when no peer is passed to masq_park_call. (distantly related to issue #16406) ........ 2010-01-08 22:54 +0000 [r238754-238795] Tilghman Lesher * res/res_musiconhold.c: Add the class actually used in the MusicOnHold start event. (closes issue #16499) Reported by: syspert Patches: mohclass.patch uploaded by syspert (license 938) * res/res_agi.c: Initialize variables that we attempt to free later. (closes issue #16302) Reported by: yahsyn Patches: 20091124__issue16302.diff.txt uploaded by tilghman (license 14) Tested by: yahsyn 2010-01-08 21:04 +0000 [r238716] Matthew Nicholson * tests/test_ast_format_str_reduce.c (added): Added a test for ast_format_reduce_str(). (related to issue #16560) 2010-01-08 19:39 +0000 [r238635] David Vossel * include/asterisk/audiohook.h, main/audiohook.c: fixes AUDIOHOOK_INHERIT regression During the process of removing an audiohook from one channel and attaching it to another the audiohook's status is updated to DONE and then back to whatever it was previously. Typically updating the status after setting it to DONE is not a good idea because DONE can trigger unrecoverable audiohook destruction events... because of this a conditional check was added to audiohook_update_status to explicitly prevent the audiohook from ever changing after being set to DONE. It was this check that prevented audiohook inherit from work properly though. Now ast_audiohook_move_by_source is treated as a special exception, as the audiohook must be returned to its previous status after attaching it to the new channel. This is only a safe operation because the audiohook's lock is held the entire time, otherwise this could cause trouble. (closes issue #16522) Reported by: corruptor 2010-01-08 19:32 +0000 [r238630] Matthew Nicholson * /, main/file.c: Merged revisions 238629 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r238629 | mnicholson | 2010-01-08 13:20:44 -0600 (Fri, 08 Jan 2010) | 5 lines Properly calculate the remaining space in the output string when reducing format strings. (closes issue #16560) Reported by: goldwein ........ 2010-01-08 17:18 +0000 [r238583] Jeff Peeler * main/features.c: Stop trying to find a parking space after traversing the parkinglot one time. (closes issue #16428) Reported by: Yasuhiro Konishi 2010-01-07 21:24 +0000 [r238527] Richard Mudgett * channels/sig_pri.c: Fix using the wrong pointer type in do_idle_thread(). 2010-01-07 20:42 +0000 [r238361-238492] David Vossel * main/channel.c: fixes ast_transfer stall until hangup if called with a channel that doesn't support transfers ast_transfer sets res to 0 if there is no technology transfer function, but then tests for it to be negative before deciding to do an early exit. As a result, it will will wait for an AST_CONTROL_TRANSFER message that will never come. (closes issue #16424) Reported by: davidw Patches: Issue_16424_trunk_234134.patch uploaded by davidw (license 780) * /, channels/chan_iax2.c: Merged revisions 238411 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r238411 | dvossel | 2010-01-07 14:14:25 -0600 (Thu, 07 Jan 2010) | 10 lines fixes crash in "scheduled_destroy" in chan_iax A signed short was used to represent a callnumber. This is makes it possible to attempt to access the iaxs array with a negative index. (closes issue #16565) Reported by: jensvb ........ * channels/chan_sip.c: Change in sip show channels display format allowing more digits for CID (closes issue #16459) Reported by: Rzadzins Patches: chan_sip_longer_cid.patch uploaded by Rzadzins (license 953) * apps/app_queue.c: cli 'queue show' formatting fix. queue name was truncated over 12 characters (closes issue #16078) Reported by: RoadKill Patches: quequename_limit.patch uploaded by ppyy (license 906) Tested by: dvossel 2010-01-07 09:14 +0000 [r238313] Tzafrir Cohen * configs/sip.conf.sample: Document the usefulness of explicit udp:// in the register string 2010-01-06 21:45 +0000 [r238231] Tilghman Lesher * /, funcs/func_cdr.c: Merged revisions 238230 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r238230 | tilghman | 2010-01-06 15:41:55 -0600 (Wed, 06 Jan 2010) | 4 lines Revise documentation on disposition values to the actual values used. (closes issue #16289) Reported by: wdoekes ........ 2010-01-06 20:37 +0000 [r238134-238181] Jeff Peeler * apps/app_meetme.c: Fix misreverting from 177158. (closes issue #15725) Reported by: shanermn Patches: v1-15725.patch uploaded by dimas (license 88) Tested by: shanermn * main/features.c: Fix channel name comparison for bridge application. The channel name comparison was not comparing the whole string and therefore if one channel name was a substring of the other, the bridge would fail. (closes issue #16528) Reported by: telecos82 Patches: res_features_r236843.diff uploaded by telecos82 (license 687) 2010-01-06 16:36 +0000 [r238091] David Vossel * include/asterisk/test.h: fixes test.c compile issue when TEST_FRAMEWORK is not enabled The ast_test_status_update() function is defined in test.h. When TEST_FRAMEWORK is not enabled a macro is defined as a no-op place holder for this function. The macro did not contain the correct number of arguments. This caused a compile error. Much thanks to wdoekes for reporting the issue and supplying the patch! 2010-01-06 15:35 +0000 [r238014] Sean Bright * addons/format_mp3.c: Fix reading samples from format_mp3 after ast_seekstream/ast_tellstream. There is a bug when using ast_seekstream/ast_tellstream with format_mp3 in that the file read position is not reset before attempting to read samples. So when we seek to determine the maximum size of the file (as in res_agi's STREAM FILE) we weren't then resetting the file pointer so that we could properly read samples. This patch addresses that (in a similar manner to format_wav.c). (closes issue #15224) Reported by: rbd Patches: 20091230_addons_1.4_issue15224.diff uploaded by seanbright (license 71) Tested by: rbd, seanbright Review: https://reviewboard.asterisk.org/r/453 2010-01-06 15:19 +0000 [r238010] Russell Bryant * /, apps/app_mp3.c: Merged revisions 238009 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r238009 | russell | 2010-01-06 09:18:22 -0600 (Wed, 06 Jan 2010) | 7 lines Resolve a crash due to an ast_frame not being fully initialized. (closes issue #16531) Reported by: john8675309 (closes SWP-615) ........ 2010-01-06 06:53 +0000 [r237968] Tilghman Lesher * channels/chan_sip.c: Whoa, duplicate setting (dead code). 2010-01-05 23:08 +0000 [r237920] David Vossel * apps/app_queue.c: fixes holdtime playback issue in app_queue When reporting hold time, the number of seconds should be mod 60. Otherwise audio playback could be something like "2 minutes 123 seconds" rather than "2 minutes 3 seconds". Also, the "minute" sound file is missing, so for the moment until that file can be created the "minutes" file is used instead. (closes issue #16168) Reported by: nickilo Patches: patch-unified-trunk-rev-222176 uploaded by nickilo (license ) Tested by: nickilo, wonderg 2010-01-05 20:56 +0000 [r237882] Mark Michelson * apps/app_dial.c: Mismerged a bit. 2010-01-05 19:29 +0000 [r237839] David Vossel * main/pbx.c: fixes subscriptions being lost after 'module reload' During a module reload if multiple extension configs are present, such as both extensions.conf and extensions.ael, watchers for one config's hints will be lost during the merging of the other config. This happens because hint watchers are only preserved for the current config being merged. The old context list is destroyed after the merging takes place, meaning any watchers that were not perserved will be removed. Now all hints are preserved during merging regardless of what config file is being merged. These hints are only restored if they are present within the new context list. (closes issue #16093) Reported by: jlaroff 2010-01-05 18:57 +0000 [r237804] Richard Mudgett * channels/sig_pri.h, channels/chan_dahdi.c, channels/sig_analog.c, channels/sig_analog.h, channels/sig_pri.c: Removed unused parameters from analog_available() and sig_pri_available(). 2010-01-05 18:46 +0000 [r237802-237803] Mark Michelson * apps/app_dial.c, CHANGES: Add a missing part of the connected line work into trunk. Part of the work done for connected line was to add an optional argument to the 'f' option to allow for the connected party information of the outgoing channel to be set to the argument provided. This was overlooked during the merge of the work to trunk and is being added back now. The CHANGES file has also been updated to note this change. * CHANGES: Spell "aficionado" like someone who isn't stupid. 2010-01-05 17:26 +0000 [r237699-237749] Russell Bryant * main/utils.c: Fix build of utility apps that include utils.c. * /, main/utils.c: Merged revisions 237697 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r237697 | russell | 2010-01-05 11:13:28 -0600 (Tue, 05 Jan 2010) | 7 lines Change a NOTICE log message to DEBUG where it belongs. (closes issue #16479) Reported by: alexrecarey (closes SWP-577) ........ 2010-01-05 16:08 +0000 [r237656] Michiel van Baak * apps/app_mixmonitor.c: Make CLI command 'mixmonitor start|stop work again. (closes issue #16534) Reported by: jlaguilar Fix as suggested by jlaguilar in the bugreport 2010-01-04 21:48 +0000 [r237406-237574] Tilghman Lesher * /, main/say.c: Merged revisions 237573 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r237573 | tilghman | 2010-01-04 15:45:46 -0600 (Mon, 04 Jan 2010) | 6 lines Bounds checking for input string (closes issue #16407) Reported by: qwell Patches: 20100104__issue16407.diff.txt uploaded by tilghman (license 14) ........ * main/pbx.c, /: Merged revisions 237493 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r237493 | tilghman | 2010-01-04 14:57:35 -0600 (Mon, 04 Jan 2010) | 8 lines Regression in issue #15421 - Pattern matching (closes issue #16482) Reported by: wdoekes Patches: astsvn-16482-betterfix.diff uploaded by wdoekes (license 717) 20091223__issue16482.diff.txt uploaded by tilghman (license 14) Tested by: wdoekes, tilghman ........ * main/config.c: Oops, didn't compile (thanks, kpfleming) * main/config.c: Further reduce the encoded blank values back to blank in the realtime API. (closes issue #16533) Reported by: sergee Patches: 200100104__issue16533.diff.txt uploaded by tilghman (license 14) Tested by: sergee * main/pbx.c, /, res/res_agi.c, include/asterisk/channel.h: Merged revisions 237405 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r237405 | tilghman | 2010-01-04 12:19:00 -0600 (Mon, 04 Jan 2010) | 16 lines Add a flag to disable the Background behavior, for AGI users. This is in a section of code that relates to two other issues, namely issue #14011 and issue #14940), one of which was the behavior of Background when called with a context argument that matched the current context. This fix broke FreePBX, however, in a post-Dial situation. Needless to say, this is an extremely difficult collision of several different issues. While the use of an exception flag is ugly, fixing all of the issues linked is rather difficult (although if someone would like to propose a better solution, we're happy to entertain that suggestion). (closes issue #16434) Reported by: rickead2000 Patches: 20091217__issue16434.diff.txt uploaded by tilghman (license 14) 20091222__issue16434__1.6.1.diff.txt uploaded by tilghman (license 14) Tested by: rickead2000 ........ 2010-01-04 16:39 +0000 [r237327] David Vossel * apps/app_queue.c: app_queue segfaults if realtime field uniqueid is NULL (closes issue #16385) Reported by: haakon Patches: app_queue.c.patch uploaded by haakon (license 880) app_queue.c.patch_v2 uploaded by dvossel (license 671) Tested by: haakon 2010-01-04 16:24 +0000 [r237323] Jeff Peeler * res/res_agi.c: Fix timeout for AGI command speech recognize. (closes issue #16297) Reported by: semond 2010-01-04 16:20 +0000 [r237319] Tilghman Lesher * channels/chan_local.c, /: Merged revisions 237318 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r237318 | tilghman | 2010-01-04 10:18:59 -0600 (Mon, 04 Jan 2010) | 3 lines It's also possible for the Local channel to directly execute an Application. Reviewboard: https://reviewboard.asterisk.org/r/452/ ........ 2010-01-04 07:55 +0000 [r237284] Olle Johansson * res/res_pktccops.c, channels/chan_mgcp.c: - Disable res_pktccops by default - Add dependency in chan_mgcp that was missing - Add a small amount of doc to the source code 2010-01-04 03:38 +0000 [r237250] TransNexus OSP Development * apps/app_osplookup.c: 1. Added reporting operator names in AuthReq. 2. Added retrieving operator names from AuthRsp and exporting them. 2010-01-02 16:35 +0000 [r237213] Tilghman Lesher * channels/chan_sip.c: global_contact_ha was renamed in trunk 2010-01-02 09:54 +0000 [r237136] Olle Johansson * /, channels/chan_sip.c: Merged revisions 237135 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r237135 | oej | 2010-01-02 10:52:30 +0100 (Lör, 02 Jan 2010) | 2 lines Release memory of the contact acl before unloading module ........ 2009-12-30 23:51 +0000 [r237098] Alexandr Anikin * addons/ooh323c/src/ooh323.c, addons/ooh323c/src/ooq931.c, addons/ooh323c/src/ooCalls.c: small q931 processing and signalling corrections don't decode UUIE from Q931StatusMessage clean call without callIdentifier data don't start tcs/msd exchange procedure after call proceeding received (closes issue #16365) Reported by: benngard2 Tested by: may213, benngard2 2009-12-30 22:30 +0000 [r237050] Jason Parker * main/say.c, doc/lang/vietnamese.ods (added), apps/app_voicemail.c: Add app_voicemail and say.c support for Vietnamese. Also add an XXX comment that I'm baffled nobody has ever complained about. We say "first message", and then we go into language-specific stuff where we proceed to say..."first message". (closes issue #15053) Reported by: dinhtrung Patches: vietnamese.ods uploaded by dinhtrung (license 776) app_voicemail.c.diff uploaded by dinhtrung (license 776) (closes issue #15626) Reported by: dinhtrung Patches: say.c.diff uploaded by dinhtrung (license 776) 2009-12-30 21:59 +0000 [r236982] Tilghman Lesher * channels/chan_local.c, /: Merged revisions 236981 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r236981 | tilghman | 2009-12-30 15:57:10 -0600 (Wed, 30 Dec 2009) | 9 lines Don't queue frames to channels that have no means to process them. (closes issue #15609) Reported by: aragon Patches: 20091230__issue16521__1.4__chan_local_only.diff.txt uploaded by tilghman (license 14) Tested by: aragon Review: https://reviewboard.asterisk.org/r/452/ ........ 2009-12-30 21:09 +0000 [r236893-236902] Jeff Peeler * utils/ael_main.c: One more LOW_MEMORY compile fix. * channels/chan_sip.c, main/cli.c: Fix compiling with LOW_MEMORY. Modified handle_verbose to be LOW_MEMORY aware, removed old RTP related code in chan_sip. (closes issue #16381) Reported by: michael_iedema Patches: ast_complete_source_filename.patch uploaded by michael iedema (license 942) modified by me 2009-12-30 17:53 +0000 [r236802-236847] Tilghman Lesher * cdr/cdr_adaptive_odbc.c, cel/cel_adaptive_odbc.c: When the field is blank, don't warn about the field being unable to be coerced, just skip the column. (closes http://lists.digium.com/pipermail/asterisk-dev/2009-December/041362.html) Reported by Nic Colledge on the -dev list, fixed by me. * channels/chan_sip.c: Shut down the SIP session timers more gracefully, in order to prevent a possible crash. (closes issue #16452) Reported by: corruptor Patches: 20091221__issue16452.diff.txt uploaded by tilghman (license 14) Tested by: corruptor 2009-12-29 10:59 +0000 [r236756] TransNexus OSP Development * configs/osp.conf.sample, apps/app_osplookup.c, configure.ac: 1. Updated for OSP Toolkit 3.6.0. 2. Added service type ported number query. 3. Formated code. 2009-12-28 22:09 +0000 [r236713] Jason Parker * main/ast_expr2.y, main/ast_expr2.c: Allow "REMAINDER" to function properly in expressions. (closes issue #16427) Reported by: wdoekes Patches: ast16-reminder-remainder.patch uploaded by wdoekes (license 717) Tested by: wdoekes 2009-12-28 17:37 +0000 [r236667] Tilghman Lesher * apps/app_voicemail.c: Use recommended option, not deprecated option. (closes issue #16515) Reported by: ManChicken 2009-12-28 15:22 +0000 [r236510-236613] Sean Bright * /, configure, include/asterisk/autoconfig.h.in, configure.ac, include/asterisk/threadstorage.h: Merged revisions 236585 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r236585 | seanbright | 2009-12-28 10:12:08 -0500 (Mon, 28 Dec 2009) | 7 lines Try a test compile to see if PTHREAD_ONCE_INIT requires extra braces. There was conditional code (based on build platform) to optioinally wrap PTHREAD_ONCE_INIT in braces that was removed since it is fixed in newer versions of Solaris/OpenSolaris, but I am still running into it on Solaris 10 x86 so add a configure-time check for it. ........ * /, apps/app_meetme.c: Merged revisions 236509 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r236509 | seanbright | 2009-12-28 07:43:36 -0500 (Mon, 28 Dec 2009) | 12 lines Avoid a crash with large numbers of MeetMe conferences. Similar to changes made to Queue(), when we have large numbers of conferences in meetme.conf (1000s) and we use alloca()/strdupa(), we can blow out the stack and crash, so instead just use a single fixed buffer. (closes issue #16509) Reported by: Kashif Raza Patches: 20091223_16509.patch uploaded by seanbright (license 71) Tested by: seanbright ........ 2009-12-27 18:20 +0000 [r236434] Tilghman Lesher * contrib/init.d/rc.debian.asterisk, /: Merged revisions 236433 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r236433 | tilghman | 2009-12-27 12:19:38 -0600 (Sun, 27 Dec 2009) | 2 lines Turn on colors in the daemon, since there's many requests for it on Ubuntu. ........ 2009-12-26 15:27 +0000 [r236358] Kevin P. Fleming * /, sounds/Makefile: Merged revisions 236357 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r236357 | kpfleming | 2009-12-26 09:26:17 -0600 (Sat, 26 Dec 2009) | 1 line update to latest releases with zero uid/gid ........ 2009-12-23 19:17 +0000 [r236304-236312] David Vossel * CHANGES: Update CHANGES to reflect new QUEUE_MEMBER option, "ready" * apps/app_queue.c: QUEUE_MEMBER(..., ready) counts only ready agents, not free agents wrapping up The QUEUE_MEMBER dialplan function can return total members, logged-in members and "free" members count. A member is counted as "free" immediately after his call ends, even though its wrap-up time, if specified in queues.conf, has not yet expired, and the queue will not actually route a call to it. This Patch introduces a new "ready" option that only counts free agents no longer in the wrap up time period. (closes issue #16240) Reported by: kkm Patches: appqueue-memberfun-readyoption-trunk.diff uploaded by kkm (license 888) Tested by: kkm, dvossel * CHANGES, apps/app_queue.c: update CHANGES to reflect new 'R' app_queue option plus a minor optimization to the feature patch (issue #16384) * apps/app_queue.c: new parameter 'R' to the Queue application The 'R' argument stops moh and indicates ringing once the agent is ringing. This allows the person in the queue to know their call is potentially about to be answered. (closes issue #16384) Reported by: haakon Patches: new_app_queue.c.patch uploaded by haakon (license 880) Tested by: haakon, loloski, dvossel 2009-12-23 18:25 +0000 [r236183-236300] Tilghman Lesher * apps/app_stack.c: AGI may be invoked from outside the dialplan (closes issue #16510) Reported by: atis Patches: 20091223__issue16510.diff.txt uploaded by tilghman (license 14) Tested by: atis * /, res/res_agi.c: Merged revisions 236184 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r236184 | tilghman | 2009-12-22 20:55:24 -0600 (Tue, 22 Dec 2009) | 4 lines If EXEC only gets a single argument, don't crash when the second is used. (closes issue #16504) Reported by: bklang ........ * include/asterisk/test.h: Allow test_heap.c to compile when AST_DEVMODE is true, but TEST_FRAMEWORK is false * apps/app_voicemail.c: Actually use tmp for something (brings trunk back into sync with 1.6 branches). 2009-12-22 21:53 +0000 [r236027-236144] David Vossel * channels/chan_iax2.c: fixes iax "can't compress subclass 4294967295" error (closes issue #16456) Reported by: dvossel Tested by: dvossel * /, channels/chan_sip.c: Merged revisions 236062 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r236062 | dvossel | 2009-12-22 10:58:19 -0600 (Tue, 22 Dec 2009) | 11 lines fixes issue with p->method incorrectly set to ACK It is possible for a second ACK to come in for a retransmitted message. If an ack does not match an unacked message in our queue, restore the previous p->method as this ACK is completely ignored. (closes issue #16295) Reported by: omolenkamp Patches: issue16295_v2.diff uploaded by dvossel (license 671) ........ * CHANGES: update CHANGES to reflect the addition of the test framework * include/asterisk/test.h (added), build_tools/cflags-devmode.xml, tests/test_heap.c, main/test.c (added), include/asterisk/_private.h, main/asterisk.c: Unit Test Framework API The Unit Test Framework is a new API that manages registration and execution of unit tests in Asterisk with the purpose of verifying the operation of C functions. The Framework consists of a single test manager accompanied by a list of registered test functions defined within the code. A test is defined, registered, and unregistered from the framework using a set of macros which allow the test code to only be compiled within asterisk when the TEST_FRAMEWORK flag is enabled in menuselect. This allows the test code to exist in the same file as the C functions it intends to verify. Registered tests may be viewed and executed via a set of new CLI commands. CLI commands are also present for generating and exporting test results into xml and txt formats. For more information and use cases please refer to the documentation provided at the beginning of the test.h file. Review: https://reviewboard.asterisk.org/r/447/ 2009-12-21 19:54 +0000 [r235941] Jeff Peeler * /, res/res_monitor.c: Merged revisions 235940 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r235940 | jpeeler | 2009-12-21 13:43:41 -0600 (Mon, 21 Dec 2009) | 13 lines Change Monitor to not assume file to write to does not contain pathing. 227944 changed the fname_base argument to always append the configured monitor path. This change was necessary to properly compare files for uniqueness. If a full path is given though, nothing needs to be appended and that is handled correctly now. (closes issue #16377) (closes issue #16376) Reported by: bcnit Patches: res_monitor.c-issue16376-1.patch uploaded by dant (license 670) ........ 2009-12-21 18:51 +0000 [r235904] Kevin P. Fleming * contrib/upstart/asterisk.upstart-0.3.9, include/asterisk/cel.h, main/say.c, include/asterisk/channel.h, include/asterisk/manager.h, channels/sig_pri.c, include/asterisk/logger.h, include/asterisk/http.h, include/asterisk/callerid.h, include/asterisk/syslog.h, channels/chan_dahdi.c, include/asterisk/app.h, include/asterisk/doxyref.h, include/asterisk/event.h, channels/sig_analog.c, channels/chan_misdn.c, contrib/upstart/asterisk.user.conf, include/asterisk/rtp_engine.h, include/asterisk/security_events.h, include/asterisk/stringfields.h: Change all refererences to 1.6.3 to be 1.8, since that will be the next feature release 2009-12-21 17:00 +0000 [r235822] Tilghman Lesher * /, main/features.c: Merged revisions 235821 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r235821 | tilghman | 2009-12-21 10:45:03 -0600 (Mon, 21 Dec 2009) | 8 lines Send parking lot announcement to the channel which parked the call, not the park-ee. (closes issue #16234) Reported by: yeshuawatso Patches: 20091210__issue16234.diff.txt uploaded by tilghman (license 14) 20091221__issue16234__1.4.diff.txt uploaded by tilghman (license 14) Tested by: yeshuawatso ........ 2009-12-20 08:22 +0000 [r235740-235774] Alec L Davis * main/dsp.c: restarts busydetector (if enabled) when DTMF is received after call is bridged. (closes issue 0016389) Reported by: alecdavis Tested by: alecdavis Patch dtmf_busydetector.diff2.txt uploaded by alecdavis (license 585) * apps/app_dial.c, CHANGES: app_dial optional parameter to option 'r' to allow play indication from indications.conf (closes issue #14504) Reported by: alecdavis Tested by: alecdavis,jsmith Patch app_dial.play_ring_indications.diff7.txt uploaded by alecdavis (license 585) 2009-12-18 22:51 +0000 [r235660] Jeff Peeler * main/channel.c, /, include/asterisk/cdr.h: Merged revisions 235635 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r235635 | jpeeler | 2009-12-18 16:29:51 -0600 (Fri, 18 Dec 2009) | 48 lines Correct CDR dispositions for BUSY/FAILED This patch is simple in that it reorders the disposition defines so that the fix for issue 12946 works properly (the default CDR disposition was changed to AST_CDR_NOANSWER). Also, the AST_CDR_FLAG_ORIGINATED flag was set in ast_call to ensure all CDR records are written. The side effects of CDR changes are scary, so I'm documenting the test cases performed to attempt to catch any regressions. The following tests were all performed using 1.4 rev 195881 vs head (235571) + patch: A calls B C calls B (busy) Hangup C Hangup A (Both SIP and features) A calls B A blind transfers to C Hangup C (Both SIP and features) A calls B A attended transfers to C Hangup C A calls B A attended transfers to C (SIP) C blind transfers to A (features) Hangup A All of the test scenario CDRs matched. The following tests were performed just with the patch to ensure proper operation (with unanswered=yes): exten =>s,1,Answer exten =>s,n,ResetCDR(w) exten =>s,n,ResetCDR(w) exten =>s,1,ResetCDR(w) exten =>s,n,ResetCDR(w) (closes issue #16180) Reported by: aatef Patches: bug16180.patch uploaded by jpeeler (license 325) ........ 2009-12-18 22:40 +0000 [r235573-235656] Tilghman Lesher * /, configure, configure.ac: Merged revisions 235652 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r235652 | tilghman | 2009-12-18 16:39:30 -0600 (Fri, 18 Dec 2009) | 2 lines Revise verbiage, per #asterisk-dev discussion ........ * /, configure, configure.ac: Merged revisions 235572 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r235572 | tilghman | 2009-12-18 15:18:16 -0600 (Fri, 18 Dec 2009) | 2 lines Point to the typical missing package, not the cryptic "termcap support". ........ 2009-12-17 23:21 +0000 [r235521] Joshua Colp * channels/chan_sip.c: Remove some old code for going to the 'fax' extension when a T.38 switchover occurs. This would have already happened when we detected the CNG tone so this was basically a noop. 2009-12-17 17:19 +0000 [r235422] Tilghman Lesher * main/pbx.c, /: Merged revisions 235421 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r235421 | tilghman | 2009-12-17 11:17:51 -0600 (Thu, 17 Dec 2009) | 8 lines Use context from which Macro is executed, not macro context, if applicable. Also, ensure that the extension COULD match, not just that it won't match more. (closes issue #16113) Reported by: OrNix Patches: 20091216__issue16113.diff.txt uploaded by tilghman (license 14) Tested by: OrNix ........ 2009-12-17 00:52 +0000 [r235342-235382] Jeff Peeler * channels/chan_dahdi.c, channels/sig_analog.c: Fix call forwarding for analog phones. (closes issue #16440) Reported by: mmichelson * configs/jabber.conf.sample, include/asterisk/jabber.h, CHANGES, res/res_jabber.c: Add auth_policy option to jabber.conf for auto user registration. The option is global and currently the acceptable values as noted in the sample config are accept or deny. (closes issue #15228) Reported by: lp0 2009-12-16 05:24 +0000 [r235298] Jared Smith * /, configs/sip.conf.sample: Merged revisions 235181 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r235181 | jsmith | 2009-12-15 15:07:55 -0600 (Tue, 15 Dec 2009) | 4 lines Add a line showing that we can use CIDR notation. patch by jsmith, after discussion with jtodd ........ 2009-12-16 00:31 +0000 [r235265] Jeff Peeler * main/manager.c, CHANGES: Enhance AMI redirect to allow channels to be redirected to different places. New parameters ExtraContext, ExtraExtension, and ExtraPriority have been added to redirect the second channel to a different location. Previously, it was only possible to redirect both channels to the same place. (closes issue #15853) Reported by: haakon Patches: trunk-manager.c.patch uploaded by haakon (license 880) Tested by: jpeeler 2009-12-15 23:51 +0000 [r235229] Tilghman Lesher * include/asterisk/strings.h: Is it Friday yet? 2009-12-15 23:41 +0000 [r235226] Jeff Peeler * main/channel.c: Change match criteria existence in ast_channel_cmp_cb to use ast_strlen_zero. (closes issue #16161) Reported by: may213 Patches: core-show-channel.patch uploaded by may213 (license 454) 2009-12-15 18:43 +0000 [r235132] David Vossel * channels/chan_sip.c: reverse minor sip registration regression A registration regression caused by a code tweak in (issue #14331) and a bug fix in (issue #15539) caused some sip registration config entries to be constructed incorrectly. Origially issue #14331 contained the code tweak as well as a bug fix, but since the issue was reported as a tweak the bug fix portion was moved into issue #15539. Both the tweak and the bug fix contained minor incorrect logic that resulted in some SIP registrations to fail. (issue #14331) (issue #15539) 2009-12-15 15:33 +0000 [r235053] Tilghman Lesher * /, res/res_agi.c: Merged revisions 235052 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r235052 | tilghman | 2009-12-15 09:29:24 -0600 (Tue, 15 Dec 2009) | 4 lines Mandatory argument checking (closes issue #16446) Reported by: nicchap ........ 2009-12-15 14:35 +0000 [r235010] Kevin P. Fleming * apps/app_fax.c: spandsp does in fact support V.17 modulation at 14.4 kilobits per second, so we should generate T38MaxBitRate of 14400 (even though that doesn't really affect the FAX transmission much at all) 2009-12-15 07:18 +0000 [r234855-234976] Alec L Davis * apps/app_directory.c: Support option 'n', as applications like Playback, Background etc. Suggested on asterisk-dev as trivial application change. Reported by: alecdavis Tested by: alecdavis * main/dsp.c: Whitespace. * main/dsp.c: restarts busydetector (if enabled) when DTMF is received. (closes issue #16389) Reported by: alecdavis Tested by: alecdavis Patch dtmf_busydetector.diff.txt uploaded by alecdavis (license 585) * apps/app_directory.c: fixes escape to extensions 'o' and 'a', for digits '0' and '*' (closes issue #16437) Reported by: alecdavis Tested by: alecdavis Patch extension_o_a_fix.diff.txt uploaded by alecdavis (license 585) * apps/app_directory.c: ast_stream_and_wait(chan,dir-usingkeypad) didn't capture the dialled DTMF. (closes issue #16409) Reported by: alecdavis Tested by: alecdavis Patch bug_16409.diff.txt uploaded by alecdavis (license 585) 2009-12-14 23:16 +0000 [r234820] Tilghman Lesher * configs/voicemail.conf.sample, CHANGES, apps/app_voicemail.c: Allow greetings-only mailboxes for Voicemail. (closes issue #15132) Reported by: floletarmo Patches: voicemail_changes.patch uploaded by floletarmo (license 784) (with some additional changes by me) 2009-12-14 21:32 +0000 [r234776] Jason Parker * apps/app_readexten.c: Allow tonelist as argument to ReadExten. ReadExten already supported playing a tonezone from indications.conf. It now has the ability to use a tonelist like 440+480/2000|0/4000 (closes issue #15185) Reported by: jcovert Patches: app_readexten.c.patch uploaded by jcovert (license 551) Tested by: qwell Patch modified by me, to maintain backwards compatibility. 2009-12-14 21:13 +0000 [r234700] Tilghman Lesher * /, build_tools/make_version_c, build_tools/make_version_h: Merged revisions 234699 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r234699 | tilghman | 2009-12-14 15:09:56 -0600 (Mon, 14 Dec 2009) | 5 lines Deal with the situation where .flavor exists but .version does not. Also make the script slightly more portable, in keeping with autoconf syntax. (closes issue #14737) Reported by: davidw ........ 2009-12-14 17:19 +0000 [r234631] Leif Madsen * doc/tex/imapstorage.tex, /: Update IMAP build documentation. Update the IMAP build documentation to show how to build on 64-bit platforms. (issue #16433) Reported by: shrift Tested by: lmadsen 2009-12-14 16:08 +0000 [r234572] Sean Bright * main/timing.c: The default rate for 'timing test' is actually 50/sec, not 100/sec as advertised. 2009-12-14 10:46 +0000 [r234526] Olle Johansson * /, channels/chan_sip.c: Merged revisions 234492 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r234492 | oej | 2009-12-14 11:16:00 +0100 (Mån, 14 Dec 2009) | 8 lines Stop sending 183's after call hangup. There where still cases where the 183 keep-alive mechanism would not stop sending 183's even though the Asterisk server had sent a final reply to the invite. EDVX-28 ........ 2009-12-13 09:41 +0000 [r234458] Tilghman Lesher * main/pbx.c: Trim leading/trailing spaces from the filename, to deal with common user error. 2009-12-11 23:17 +0000 [r234380] Jeff Peeler * /, apps/app_meetme.c: Merged revisions 234379 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r234379 | jpeeler | 2009-12-11 16:37:21 -0600 (Fri, 11 Dec 2009) | 11 lines Fix talking detection status after conference user is muted. This patch ensures that when a conference user is muted that the accompanying AMI Meetme talking off event is sent. Also, the meetme list output is updated to show the muted user as unmonitored. (closes issue #16247) Reported by: dimas Patches: v3-16247.patch uploaded by dimas (license 88) ........ 2009-12-10 21:01 +0000 [r234256] Jason Parker * Makefile, /: Merged revisions 234255 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r234255 | qwell | 2009-12-10 14:58:09 -0600 (Thu, 10 Dec 2009) | 9 lines Fix unselecting of menuselect options via GLOBAL_MAKEOPTS and USER_MAKEOPTS. (closes issue #16296) Reported by: abelbeck Patches: issue16296-20091210.diff uploaded by qwell (license 4) (abelbeck described a fix, which I expanded upon) Tested by: abelbeck, qwell, lmadsen ........ 2009-12-10 18:56 +0000 [r234210] Tilghman Lesher * res/res_musiconhold.c: Missed a case that emits a WARNING where none is warranted. 2009-12-10 17:31 +0000 [r234173] Jeff Peeler * apps/app_meetme.c, apps/app_page.c, main/app.c, CHANGES: Add audio announcement option to app_page As described in the CHANGES file: * MeetMe has a new option 'G' to play an announcement before joining a conference. * Page has a new option 'A(x)' which will playback an announcement simultaneously to all paged phones (and optionally excluding the caller's one using the new option 'n') before the call is bridged. To add the new option to meetme, the conference flag options had to be extended to 64 bits. (closes issue #14365) Reported by: dferrer Patches: page_announce.patch uploaded by dferrer (license 525) modified by me Review: https://reviewboard.asterisk.org/r/188/ 2009-12-10 16:24 +0000 [r234129] Tilghman Lesher * /, channels/chan_sip.c: Merged revisions 234095 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r234095 | tilghman | 2009-12-10 10:08:20 -0600 (Thu, 10 Dec 2009) | 9 lines When we receive no response at all to our INVITE, allow the channel to be destroyed. (closes issue #15627) Reported by: falves11 Patches: 20091209__issue15627__1.6.0.diff.txt uploaded by tilghman (license 14) 20091209__issue15627__1.4.diff.txt uploaded by tilghman (license 14) Tested by: falves11 Review: https://reviewboard.asterisk.org/r/446/ (closes issue #15716) Reported by: dant (closes issue #16270) Reported by: corruptor (closes issue #15356) Reported by: falves11 (issue #16382) Reported by: lftsy ........ 2009-12-09 23:35 +0000 [r233967-234055] Russell Bryant * UPGRADE.txt, CHANGES: Move an entry from CHANGES to UPGRADE.txt. * UPGRADE.txt, CHANGES: Move an entry from CHANGES that should be in UPGRADE.txt. * CHANGES: Provide a real description of LOCAL_PEEK(). * CHANGES: Remove a feature from CHANGES that was listed twice for 1.6.2. * CHANGES: Fix up the faxdetect entry in CHANGES. This feature was listed as a 1.6.2 feature, even though it's in all 1.6.X versions. The description of the feature was also no longer accurate. * CHANGES: Remove an entry from CHANGES that is already in UPGRADE.txt (where it should be). 2009-12-08 18:40 +0000 [r233718-233732] Tilghman Lesher * addons/res_config_mysql.c: Typo pointed out on #asterisk-dev (by atis_work) * res/res_musiconhold.c: Find another ref leak and change how we manage module references. (closes issue #16388, closes issue #16279, closes issue #16390) Reported by: parisioa Patches: 20091208__issue16388.diff.txt uploaded by tilghman (license 14) Tested by: parisioa, tilghman Review: https://reviewboard.asterisk.org/r/442/ 2009-12-08 18:00 +0000 [r233692] Russell Bryant * formats/format_sln.c, formats/format_wav.c, formats/format_ogg_vorbis.c, formats/format_sln16.c, formats/format_wav_gsm.c, formats/format_siren7.c, formats/format_ilbc.c, formats/format_vox.c, formats/format_pcm.c, formats/format_h263.c, formats/format_g723.c, formats/format_h264.c, formats/format_g726.c, formats/format_siren14.c, formats/format_jpeg.c, formats/format_gsm.c, formats/format_g729.c: Set a module load priority for format modules. A recent change to app_voicemail made it such that the module now assumes that all format modules are available while processing voicemail configuration. However, when autoloading modules, it was possible that app_voicemail was loaded before the format modules. Since format modules don't depend on anything, set a module load priority on them to ensure that they get loaded first when autoloading. This fix applies to trunk, 1.6.1, and 1.6.2. The fix for 1.4 and 1.6.0 will require a different approach since the module load priority functionality is not present in the module API. (issue #16412) Reported by: jiddings 2009-12-07 23:28 +0000 [r233611] David Vossel * main/utils.c: fixes incorrect logic in ast_uri_encode issue #16299 2009-12-07 23:10 +0000 [r233577] Atis Lezdins * contrib/valgrind.supp: Fix compatibility with valgrind 3.3 and older. (noticed in issue #16388) Reported by: parisioa Patches: valgrind.supp uloaded by atis (license 242) Tested by: atis, parisioa 2009-12-07 19:48 +0000 [r233545] David Ruggles * apps/app_externalivr.c: Fix TCP Client interface Fix a couple of very minor bugs that prevent the socket client from working. The wrong set of properties were used in one place and the size of the address variable isn't set if the host name is an ip address. Also includes a fix for a bug that was introduced previously. (closes issue #16121) Reported by: thedavidfactor Tested by: thedavidfactor Review: https://reviewboard.asterisk.org/r/439/ 2009-12-07 18:08 +0000 [r233472] David Vossel * /, channels/chan_sip.c: Merged revisions 233471 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r233471 | dvossel | 2009-12-07 12:07:38 -0600 (Mon, 07 Dec 2009) | 9 lines fixes missing Contact header angle brackets (closes issue #16298) Reported by: mgernoth Patches: reg_parse_issue_1.4.diff uploaded by dvossel (license 671) Tested by: dvossel ........ 2009-12-07 17:59 +0000 [r233468] Jeff Peeler * include/asterisk/jabber.h, CHANGES, res/res_jabber.c: Add applications JabberJoin, JabberLeave, JabberSendGroup for XMPP groupchat (closes issue #14352) Reported by: fiddur Patches: trunk-14352-2.diff uploaded by phsultan (license 73) Tested by: fiddur 2009-12-07 16:14 +0000 [r233394] Matthew Nicholson * channels/chan_sip.c: Do not reject SDP packets describing only non audio streams. (closes issue #16387) Reported by: zalex1953 Patches: media-level-c-fix1.diff uploaded by mnicholson (license 96) Tested by: mnicholson, zalex1953 2009-12-06 07:01 +0000 [r233358] Tilghman Lesher * include/asterisk/compat.h, main/strcompat.c, main/app.c: Move implementation of closefrom(3) from app.c to strcompat.c 2009-12-04 21:54 +0000 [r233280] David Vossel * configs/iax.conf.sample, /: Merged revisions 233279 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r233279 | dvossel | 2009-12-04 15:54:01 -0600 (Fri, 04 Dec 2009) | 7 lines clarify requirecalltoken option in iax.sample.conf (closes issue #16223) Reported by: bklang Patches: clarify-iax-requirecalltoken.patch uploaded by bklang (license 919) ........ 2009-12-04 21:06 +0000 [r233239] Tilghman Lesher * main/translate.c: Using the builtin function breaks OpenBSD 4.2 (closes issue #16395) Reported by: jtodd 2009-12-04 20:21 +0000 [r233121-233235] David Vossel * CHANGES: update CHANGES file for .m3u support in Mp3Player application * apps/app_mp3.c: .m3u support for Mp3Player app (closes issue #14823) Reported by: macli Patches: app_mp3.diff1 uploaded by macli (license ) Tested by: macli, dvossel * CHANGES: update CHANGES for new queue option, penaltymemberslimit. * apps/app_queue.c: changes penaltymemberslimit to use scanf for config value parsing * configs/queues.conf.sample, apps/app_queue.c: new queue option, penaltymemberslimit, disregards penalty on too few queue members when enabled (closes issue #14559) Reported by: fiddur Patches: trunk-199584-1.diff uploaded by fiddur (license 678) Tested by: fiddur, dvossel * /, apps/app_voicemail.c: Merged revisions 233116 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r233116 | dvossel | 2009-12-04 11:21:34 -0600 (Fri, 04 Dec 2009) | 6 lines document and rename strip_control() in app_voicemail (closes issue #16291) Reported by: wdoekes ........ 2009-12-04 17:18 +0000 [r233100] Russell Bryant * main/channel.c, /: Merged revisions 233092 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r233092 | russell | 2009-12-04 11:12:47 -0600 (Fri, 04 Dec 2009) | 7 lines Only do frame payload check for HOLD frames. This code was added for helping to debug the source of invalid HOLD frames. However, a side effect of this is that it will incorrectly report errors for frames that have an integer payload. Make the check for this block specific to the HOLD frame case. ........ 2009-12-04 17:15 +0000 [r233093] Matthias Nick * pbx/pbx_config.c: Parse global variables or expressions in hint extensions Parse global variables or expressions in hint extensions. Like: exten => 400,hint,DAHDI/i2/${GLOBAL(var)} (closes issue #16166) Reported by: rmudgett Tested by: mnick, rmudgett 2009-12-04 16:55 +0000 [r233059-233089] Michiel van Baak * channels/chan_skinny.c: Let's unlock the lines list after the AST_LIST_TRAVERSE instead of inside it. * channels/chan_skinny.c: Only assign line and device in handle_transfer_button when we have a subchannel. (closes issue #16040) Reported by: ebroad 2009-12-04 16:08 +0000 [r233050] Tilghman Lesher * addons/res_config_mysql.c: Update the mysql driver to always return NULL columns, as this is needed for the realtime API to work correctly. (closes issue #16138) Reported by: sohosys Patches: 20091029__issue16138.diff.txt uploaded by tilghman (license 14) Tested by: sohosys 2009-12-04 15:38 +0000 [r233046] Matthias Nick * /, main/dsp.c: Merged revisions 233014 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r233014 | mnick | 2009-12-04 09:17:03 -0600 (Fri, 04 Dec 2009) | 11 lines Warning message gets displayed only once Added additional field 'int display_inband_dtmf_warning', which when set to '1' displays the warning ('Inband DTMF is not supported on codec %s. Use RFC2833'), and when set to '0' doesn't display the warning. Otherwise you would get hundreds of warnings every second. (closes issue #15769) Reported by: falves11 Patches: patch_15769_14.txt uploaded by mnick (license 874) Tested by: mnick, falves11 ........ 2009-12-04 05:26 +0000 [r232854-232982] Tilghman Lesher * res/res_pktccops.c: Buildbot complained * configure, include/asterisk/autoconfig.h.in, configure.ac, res/res_pktccops.c: OS X does not define MSG_NOSIGNAL, but it does have a socket option SO_NOSIGPIPE. (closes issue #16178) Reported by: oej * configs/voicemail.conf.sample, CHANGES, apps/app_voicemail.c: Add pagerdateformat, to allow shorter dates for SMS messages. (closes issue #16263) Reported by: andrew Patches: pagerdate.patch uploaded by andrew (license 240) (with a slight modification by me) * /, apps/app_voicemail.c: Merged revisions 232820 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r232820 | tilghman | 2009-12-03 14:10:19 -0600 (Thu, 03 Dec 2009) | 8 lines Deprecate "cz" in favor of "cs". Also, change the use of language codes so that language registers as a prefix, rather than an exact match. (closes issue #16272) Reported by: patrol-cz Patches: 20091203__issue16272.diff.txt uploaded by tilghman (license 14) ........ 2009-12-03 20:26 +0000 [r232853] Alexandr Anikin * addons/ooh323c/src/ooh323.c, addons/chan_ooh323.c, addons/ooh323c/src/ooh245.c: jitterbuffer setup correction correction of double pointer references from previous rev 2009-12-03 08:47 +0000 [r232738-232771] TransNexus OSP Development * apps/app_osplookup.c: Replaced two deprecated functions of OSP Toolkit. * apps/app_osplookup.c: Added custom info support. 2009-12-03 00:38 +0000 [r232700] Jeff Peeler * configs/voicemail.conf.sample, CHANGES, apps/app_voicemail.c: Extend voicemail to allow IMAP folders to be specified per mailbox. Previously only possible per context, new option called imapfolder. (closes issue #14298) Reported by: jablko Patches: patch-200906202 uploaded by jablko (license 675) 2009-12-03 00:09 +0000 [r232660-232661] Tilghman Lesher * res/res_musiconhold.c: Remove debugging line * include/asterisk/astobj2.h, res/res_musiconhold.c: Fix multiple issues with musiconhold, which led to classes not getting destroyed properly. * Classes are now tracked past removal from the core container, and module removal is actively prevented until all references are freed. * A hanging reference stored in the channel has been removed. This could have caused a mismatch and the music state not properly cleared, if two or more reloads occurred between MOH being stopped and MOH being restarted. * In certain circumstances, duplicate classes were possible. * A race existed at reload time between a process being killed and the thread responsible for reading from the related pipe respawning that process. * Several reference counts have also been corrected. At least one could have caused deleted classes to stick around forever, consuming resources. This originally manifested as MOH external processes that were not killed at reload time. (closes issue #16279, closes issue #16207) Reported by: parisioa, dcabot Patches: 20091202__issue16279__2.diff.txt uploaded by tilghman (license 14) Tested by: parisioa, tilghman 2009-12-02 23:27 +0000 [r232657] David Vossel * UPGRADE.txt, CHANGES: update CHANGES and UPGRADE.txt for early media behavior change between 1.6.1 and 1.6.2 (closes issue #16212) Reported by: miki 2009-12-02 22:17 +0000 [r232587] David Ruggles * apps/app_externalivr.c: Prevent double closing of FDs by EIVR This caused a problem when asterisk was under heavy load and running both AGI and EIVR applications. EIVR would close an FD at which point it would be considered freed and be used by a new AGI instance the second close would then close the FD now in use by AGI. (closes issue #16305) Reported by: diLLec Tested by: thedavidfactor, diLLec Review: https://reviewboard.asterisk.org/r/436/ 2009-12-02 22:02 +0000 [r232582] Jeff Peeler * main/manager.c, /: Merged revisions 232581 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r232581 | jpeeler | 2009-12-02 15:57:42 -0600 (Wed, 02 Dec 2009) | 7 lines Send ack (response/message) after receiving manager action userevent (closes issue #16264) Reported by: dimas Patches: event-ack.patch uploaded by dimas (license 88) ........ 2009-12-02 21:37 +0000 [r232580] Matthew Nicholson * addons/chan_mobile.c: Fix support for multiline SMS messages in chan_mobile. (closes issue #16278) Reported by: Artem Patches: multiline-sms-fix2.diff uploaded by mnicholson (license 96) Tested by: Artem 2009-12-02 21:32 +0000 [r232576] Jeff Peeler * main/manager.c: Make manager response to "Action: events" finish with empty line (closes issue #16275) Reported by: vnovy Patches: manager.c.diff uploaded by vnovy (license 922) 2009-12-02 21:13 +0000 [r232544] Matthew Nicholson * addons/chan_mobile.c: Do something with the service indicator so that asterisk does not attempt to use a chan_mobile endpoint that does not have service. (closes issue #16132) Reported by: nikkk Patches: service-indicator2.diff uploaded by mnicholson (license 96) Tested by: nikkk 2009-12-02 20:10 +0000 [r232442-232510] Joshua Colp * CHANGES, main/asterisk.c, doc/asterisk.sgml: Add an 'X' option to the asterisk application which enables #exec for configuration files. This option can be used to enable #exec support in the asterisk.conf configuration file. (closes issue #16260) Reported by: atis Patches: exec_includes.patch uploaded by atis (license 242) * apps/app_record.c, CHANGES: Add an option to Record which enables a mode where any DTMF digit will terminate recording. (closes issue #15436) Reported by: Vince Patches: app_record.diff uploaded by Vince (license 823) Tested by: dbrooks 2009-12-02 17:18 +0000 [r232365] Mark Michelson * channels/chan_sip.c: Do not change the exten string field or rebuild the contact header on an inbound sip_pvt if the outbound call is redirected. 2009-12-02 17:06 +0000 [r232356] Joshua Colp * /, apps/app_amd.c: Merged revisions 232355 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r232355 | file | 2009-12-02 13:04:52 -0400 (Wed, 02 Dec 2009) | 5 lines Fix a bug where if you hung up very quickly after calling AMD it would overwrite the AMDSTATUS of HANGUP with TOOLONG. (closes issue #16239) Reported by: CGMChris ........ 2009-12-02 17:00 +0000 [r232351] David Vossel * /, main/acl.c: Merged revisions 232350 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r232350 | dvossel | 2009-12-02 10:59:18 -0600 (Wed, 02 Dec 2009) | 6 lines ast_outaddrfor doesn't do htons() on port, looks odd in strace. (closes issue #16290) Reported by: wdoekes ........ 2009-12-02 16:40 +0000 [r232345] Joshua Colp * channels/chan_sip.c: Add support for handling the 415 Unsupported media type response like we do for a 488 Not acceptable here response. (closes issue #16186) Reported by: atis Patches: sip_t38_response_415.patch uploaded by atis (license 242) 2009-12-02 15:42 +0000 [r232269] David Vossel * funcs/func_groupcount.c, /: Merged revisions 232268 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r232268 | dvossel | 2009-12-02 09:41:36 -0600 (Wed, 02 Dec 2009) | 9 lines fixes segfault in func_groupcount closes issue #16337) Reported by: Parantido Patches: issue_16337.diff uploaded by dvossel (license 671) Tested by: Parantido, dvossel ........ 2009-12-02 14:54 +0000 [r232230] Joshua Colp * channels/chan_sip.c: Fix a bug where a scheduled item ID would get retained on registrations in a certain scenario causing code to execute during reload that should not. (issue AST-263) 2009-12-02 03:26 +0000 [r232164] Tilghman Lesher * configure, include/asterisk/autoconfig.h.in, include/asterisk/compat.h, main/strcompat.c, configure.ac: So apparently, some platforms don't have ffsll(3). The manpage lies; it says that the function is in POSIX, but that's only for ffs(3), not ffsll(3). 2009-12-02 00:45 +0000 [r232091] Jeff Peeler * channels/chan_dahdi.c, /: Merged revisions 232090 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r232090 | jpeeler | 2009-12-01 18:42:58 -0600 (Tue, 01 Dec 2009) | 10 lines Do not modify the gain settings on data calls. (The digital flag actually represents a data call.) (closes issue #15972) Reported by: udosw Patches: transcap_digital_fix.diff.txt uploaded by alecdavis (license 585) Tested by: alecdavis ........ 2009-12-01 23:56 +0000 [r232008-232017] Russell Bryant * main/translate.c: Use __builtin_ffsll() from gcc instead of ffssll() to fix a FreeBSD build error. * funcs/func_lock.c: Fix a build error on FreeBSD. * /, main/file.c: Merged revisions 232007 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r232007 | russell | 2009-12-01 17:25:36 -0600 (Tue, 01 Dec 2009) | 2 lines Fix a warning pointed out by buildbot. ........ 2009-12-01 21:54 +0000 [r231927] Jeff Peeler * main/channel.c, /: Merged revisions 231911 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r231911 | jpeeler | 2009-12-01 15:29:31 -0600 (Tue, 01 Dec 2009) | 12 lines Fix crash with invalid frame data The crash was happening as a result of a frame containing an invalid data pointer, but was set with data length of zero. The few times the issue was reproduced it _seemed_ that the frame was queued properly, that is the data pointer was set to NULL. I never could reproduce the crash so as a last resort the crash has been fixed, but a check in __ast_read has been added to give as much information about the source of problematic frames in the future. (closes issue #16058) Reported by: atis ........ 2009-12-01 21:20 +0000 [r231867] David Vossel * main/pbx.c, /: Merged revisions 231853 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r231853 | dvossel | 2009-12-01 15:14:31 -0600 (Tue, 01 Dec 2009) | 3 lines WaitExten m option with no parameters generates frame with zero datalen but non-null data ptr ........ 2009-12-01 20:27 +0000 [r231814-231850] Tilghman Lesher * res/res_rtp_asterisk.c, channels/chan_unistim.c, main/rtp_engine.c, addons/chan_ooh323.c, channels/chan_sip.c, res/res_adsi.c, addons/chan_ooh323.h, include/asterisk/callerid.h, channels/chan_phone.c, channels/chan_dahdi.c, channels/chan_skinny.c, main/callerid.c, channels/chan_h323.c, addons/ooh323cDriver.c, include/asterisk/rtp_engine.h, addons/ooh323cDriver.h: More 32->64 bit codec conversions. In the process of swapping ULAW to a place in the extended codec space, we found several unhandled cases, where a 32-bit integer was still being used to handle a codec field. Most of these have been fixed with this commit, although there is at least one case (codec_dahdi) which depends upon outside headers to be altered before a conversion can be made. (Fixes AST-278, SWP-459) * include/asterisk/mod_format.h: Formats need to be able to represent all 64 codec bits. 2009-12-01 15:47 +0000 [r231741] Matthew Nicholson * /, main/file.c: Merged revisions 231740 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r231740 | mnicholson | 2009-12-01 09:34:57 -0600 (Tue, 01 Dec 2009) | 2 lines Ignore unknown formats in ast_format_str_reduce() and return an error if no know formats are found. ........ 2009-11-30 21:47 +0000 [r231692] Kevin P. Fleming * main/udptl.c, channels/chan_sip.c, include/asterisk/udptl.h: Another round of UDPTL stack fixes/improvements: 1) Allow users of UDPTL stack to associate a character-string tag with a UDPTL session, so that log/error/debug messages generated by the UDPTL stack can be 'connected' to the endpoint that caused them to be generated. 2) Improve comments (and process) of calculating the far end's maximum IFP size when redundancy mode is in use for error correction. 3) When an IFP larger than the calculated 'far max IFP' size is presented for writing, truncate it rather than putting in the buffer and allowing the buffer to overflow; this will cause the ends to retrain to a lower bit rate that produces IFPs of an appropriate size if possible, and if not possible, the FAX transfer will fail completely. In these cases, it is due to the one endpoint supplying a T38FaxMaxDatagram value that is improperly calculated and is too low to be of use; we have configuration options available to override this behavior. 4) Eliminate use of T38FaxMaxDatagram value in udptl.conf; it is no longer needed. 2009-11-30 21:31 +0000 [r231616-231688] Matthew Nicholson * include/asterisk/file.h, /, main/file.c, main/app.c, apps/app_voicemail.c: Merged revisions 231614 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r231614 | mnicholson | 2009-11-30 15:11:44 -0600 (Mon, 30 Nov 2009) | 8 lines Remove duplicate entries from voicemail format lists. This prevents app_voicemail from entering an infinite loop when the same format is specified twice in the format list. (closes issue #15625) Reported by: Shagg63 Tested by: mnicholson Review: https://reviewboard.asterisk.org/r/429/ ........ * include/asterisk/file.h, /, main/app.c, apps/app_voicemail.c: Reverted 231616 * include/asterisk/file.h, /, main/app.c, apps/app_voicemail.c: Merged revisions 231614 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r231614 | mnicholson | 2009-11-30 15:11:44 -0600 (Mon, 30 Nov 2009) | 8 lines Remove duplicate entries from voicemail format lists. This prevents app_voicemail from entering an infinite loop when the same format is specified twice in the format list. (closes issue #15625) Reported by: Shagg63 Tested by: mnicholson Review: https://reviewboard.asterisk.org/r/429/ ........ 2009-11-30 20:44 +0000 [r231602] Joshua Colp * channels/chan_sip.c: When receiving SDP that matches the version of the last one do not treat it as a fatal error. (closes issue #16238) Reported by: seandarcy 2009-11-30 18:55 +0000 [r231491-231556] David Vossel * apps/app_queue.c: app_queue crashes randomly, often during call-transfers This patch adds a ref to the queue_ent object's parent call_queue in queue_exec() so the call_queue won't be destroyed while the the queue_ent still holds a pointer to it. (closes issue 0015686) Tested by: dvossel, aragon * res/res_rtp_asterisk.c, /: Merged revisions 231441 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r231441 | dvossel | 2009-11-30 11:14:08 -0600 (Mon, 30 Nov 2009) | 11 lines fixes crash caused by RTP comfort noise payload greater than 24 bytes AST-2009-010 (closes issue #16242) Reported by: amorsen Patches: issue16242.diff uploaded by oej (license 306) Tested by: amorsen, oej, dvossel ........ 2009-11-30 16:53 +0000 [r231439] Tilghman Lesher * main/asterisk.dynamics (added), Makefile.rules: Export dynamic (weak-linked) symbols correctly. (closes issue #15193) Reported by: eliel Patches: 20091111__issue15193.diff.txt uploaded by tilghman (license 14) 2009-11-30 16:29 +0000 [r231436] Joshua Colp * channels/chan_sip.c: Fix a bug where an immediate masquerade would cause a queued unhold frame to get lost. Now we just indicate unhold directly after the masquerade is complete. (issue ABE-2011) 2009-11-27 08:47 +0000 [r231401] TransNexus OSP Development * apps/app_osplookup.c: 1. Modified exported variable names. 2. Added destination port support. 3. Added new protocols. 4. Added QoS. 2009-11-26 02:09 +0000 [r231299-231369] Tilghman Lesher * doc/CODING-GUIDELINES, main/asterisk.c: Reorder option flags. Change guidelines so that example code is consistent with guidelines * main/channel.c, /: Merged revisions 231298 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r231298 | tilghman | 2009-11-25 16:31:57 -0600 (Wed, 25 Nov 2009) | 2 lines After a frame duplication failure, unlock the channel before returning. ........ 2009-11-25 15:42 +0000 [r231189] Matthew Nicholson * pbx/pbx_lua.c: Load pbx_lua with global symbols to allow linking with other lua libraries. Found by Maxim Litnitskiy. 2009-11-24 20:31 +0000 [r231134] Tilghman Lesher * apps/app_queue.c: Found a few places where queue refcounts were counted incorrectly. Also add debug statements. (closes issue #15982, closes issue #15984) Reported by: atis Patches: 20091111__issue15982.diff.txt uploaded by tilghman (license 14) Tested by: atis 2009-11-24 18:50 +0000 [r231058-231095] Jeff Peeler * main/features.c: Fix erroneous hangup extension execution ast_spawn_extension behaves differently from 1.4 in that hangups and extensions that do not exist do not return an error, whereas in 1.6 it does. This is now taken into account so that the AST_FLAG_BRIDGE_HANGUP_RUN flag gets set properly. (closes issue #16106) Reported by: ajohnson Tested by: ajohnson * channels/sig_pri.h, channels/chan_dahdi.c, channels/sig_pri.c: Fix problem on digital channels due to digital flag not getting set Changed areas in sig_pri to set the digital flag using a callback that will also set the corresponding flag in chan_dahdi. Modified dahdi_request slightly so that if a bearer is marked as digital, that information is available when creating the new channel. (closes issue #16151) Reported by: alecdavis Patch based on bug_16151.diff.txt uploaded by alecdavis (license 585) 2009-11-24 13:52 +0000 [r231025] Matthew Nicholson * CHANGES: Updated CHANGES file to describe the new 'd' option to app_followme added in r230964 (related to issue #14155) Reported by: junky 2009-11-24 04:58 +0000 [r230994] Tilghman Lesher * include/asterisk/app.h, funcs/func_strings.c, CHANGES: Add REPLACE & PASSTHRU functions, overhaul of func_strings, fix API docs for the ast_get_encoded_* functions. * Add REPLACE function, which searches a given variable for a set of characters and replaces each with a given character. * Add PASSTHRU function, which passes a literal string back, like a NoOp for functions. Intent is to be able to specify a literal string to another function that takes a variable name as an argument. * Let the array manipulation functions work with dialplan functions, in addition to variables. This allows the array manipulation functions to modify ASTDB and ODBC backends, assuming the func_odbc configuration has both read and write functions. (closes issue #15223) Reported by: ajohnson Patches: 20091112__issue15223.diff.txt uploaded by tilghman (license 14) Tested by: lmadsen, tilghman 2009-11-23 22:37 +0000 [r230964] Matthew Nicholson * apps/app_followme.c: Add an option to app_followme to disable the "please hold" announcement. (closes issue #14155) Reported by: junky Patches: M14555-trunk.diff uploaded by junky (license 177) (modified) Tested by: junky 2009-11-23 15:45 +0000 [r230881] Joshua Colp * channels/chan_sip.c, configs/sip.conf.sample: Change fax detection in chan_sip so it behaves as one would expect. Internally the way T.38 is negotiated has changed and the option no longer reflects a behavior that is valid. It will now look for a CNG tone on received calls and if present send the call to the 'fax' extension. It is then up to the application or channel to request the switch over to T.38. 2009-11-23 15:34 +0000 [r230773-230877] Kevin P. Fleming * /, channels/chan_sip.c: Merged revisions 230839 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r230839 | kpfleming | 2009-11-23 09:09:24 -0600 (Mon, 23 Nov 2009) | 1 line Correct fix for issue #16268... the reporter's original patch was very close to correct. ........ * /, channels/chan_sip.c: Merged revisions 230772 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r230772 | kpfleming | 2009-11-23 08:13:56 -0600 (Mon, 23 Nov 2009) | 5 lines Ensure that SDP parsing does not ignore the last line of the SDP. (closes issue #16268) Reported by: sgimeno ........ 2009-11-20 22:35 +0000 [r230726] David Vossel * channels/chan_iax2.c: fixes iax2 show cache locking error, thanks alecdavis! (closes issue #16094) Reported by: alecdavis Patches: bug16094.diff.txt uploaded by alecdavis (license 585) Tested by: alecdavis, dvossel 2009-11-20 21:47 +0000 [r230697] Tilghman Lesher * include/asterisk/unaligned.h: Revert code in error and include the gcc suggested workaround for the original problem, while gcc investigates. 2009-11-20 21:01 +0000 [r230628] Matthew Nicholson * /, main/features.c: Merged revisions 230627 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r230627 | mnicholson | 2009-11-20 14:53:06 -0600 (Fri, 20 Nov 2009) | 8 lines Copy the peer CDR's userfield to the bridge CDR if it exists. This is necessary for the recordagentcalls option in chan_agent to store the recorded file name in the bridge CDR. (closes issue #14590) Reported by: msetim Patches: queue_agent_userfield.patch uploaded by Laureano (license 265) Tested by: Laureano, mnicholson ........ 2009-11-20 17:28 +0000 [r230584] David Ruggles * doc/externalivr.txt, apps/app_externalivr.c: Fix/Implement error events for non-existing files also include a better cmd define for S command Review: https://reviewboard.asterisk.org/r/430/ 2009-11-20 17:26 +0000 [r230509-230583] David Vossel * include/asterisk/audiohook.h, main/audiohook.c: audiohook signal trigger on every status change (issue #14618) Review: https://reviewboard.asterisk.org/r/434/ * /, apps/app_mixmonitor.c: Merged revisions 230508 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r230508 | dvossel | 2009-11-19 15:22:46 -0600 (Thu, 19 Nov 2009) | 10 lines fixes MixMonitor thread not exiting when StopMixMonitor is used (closes issue #16152) Reported by: AlexMS Patches: stopmixmonitor_1.4.diff uploaded by dvossel (license 671) Tested by: dvossel, AlexMS Review: https://reviewboard.asterisk.org/r/424/ ........ 2009-11-19 14:53 +0000 [r230438] David Ruggles * apps/app_externalivr.c: Basic cleanup of ExternalIVR: cleaned up argument parsing; implemented good coding practices where applicable; replaced most notice level logging with verbose logging; replaced warning messages that terminated with error messages; fixed memory leak identified by russellb 2009-11-16 16:40 +0000 [r230343-230381] Kevin P. Fleming * apps/app_fax.c: Fix another buglet in T.38 session teardown at the end of FAX sessions. * apps/app_fax.c: Ensure that only one end of a T.38 session initiates teardown at completion. 2009-11-16 01:49 +0000 [r230314] TransNexus OSP Development * apps/app_osplookup.c: 1. Added SIP Diversion support. 2. Fixed compile warning for UUID. 2009-11-15 17:23 +0000 [r230247] Kevin P. Fleming * /, channels/chan_iax2.c: Merged revisions 230246 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r230246 | kpfleming | 2009-11-15 11:19:06 -0600 (Sun, 15 Nov 2009) | 6 lines Correct mistaken option name in error message. The configuration option for allowing hosts to make non-token-based calls is 'calltokenoptional', not 'calltokenignore'. (reported on asterisk-users) ........ 2009-11-15 07:53 +0000 [r230217] Tilghman Lesher * include/asterisk/channel.h: Increase maximum length of language buffers (closes issue #16217) Reported by: dsessions 2009-11-13 22:00 +0000 [r230145] Joshua Colp * /, channels/chan_sip.c: Merged revisions 230144 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r230144 | file | 2009-11-13 16:00:19 -0600 (Fri, 13 Nov 2009) | 8 lines Respect the maddr parameter in the Via header. (closes issue #14446) Reported by: frawd Patches: via_maddr.patch uploaded by frawd (license 610) Tested by: frawd ........ 2009-11-13 20:42 +0000 [r230111] Tilghman Lesher * apps/app_dial.c, channels/chan_sip.c, apps/app_meetme.c, apps/app_fax.c, configs/manager.conf.sample, res/res_musiconhold.c, include/asterisk/manager.h, channels/chan_iax2.c, apps/app_queue.c, CHANGES, res/res_monitor.c, main/cdr.c, main/channel.c, main/manager.c, main/features.c, apps/app_minivm.c, apps/app_chanspy.c, apps/app_voicemail.c: Display a list of channel variables in each channel-oriented event. (Closes AST-33) Reviewboard: https://reviewboard.asterisk.org/r/368/ 2009-11-13 19:44 +0000 [r229912-230039] Joshua Colp * channels/chan_local.c, /: Merged revisions 230038 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r230038 | file | 2009-11-13 13:44:07 -0600 (Fri, 13 Nov 2009) | 9 lines Fix a crash caused by two threads thinking they should both free the chan_local private structure when only one should. (closes issue #15314) Reported by: sroberts Patches: Issue15314_Move_Nulling_owner.patch uploaded by davidw (license 780) Tested by: davidw, lottc ........ * UPGRADE.txt, apps/app_chanisavail.c, CHANGES: Store the cause code that is returned when trying to create a channel in ChanIsAvail in the AVAILCAUSECODE dialplan variable instead of overwriting the device state in AVAILSTATUS. (closes issue #14426) Reported by: macli * /: Merged revisions 229965 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r229965 | file | 2009-11-13 11:19:59 -0600 (Fri, 13 Nov 2009) | 6 lines Document a limitation in the AVAILSTATUS variable from ChanIsAvail and provide a workaround for it that does not change existing behavior. (closes issue #14426) Reported by: macli ........ * channels/chan_sip.c: Fix T.38 negotiation regression introduced with the SDP parser changes. 2009-11-13 10:53 +0000 [r229819-229871] Olle Johansson * main/loader.c: Fixing trunk in a way so that it compiles again. Thanks, Philippe :-) * addons/cdr_mysql.c: If CDR logging is disabled, it's considered a FAILURE * configs/modules.conf.sample, CHANGES, main/asterisk.c, main/loader.c: Add the capability to require a module to be loaded, or else Asterisk exits. Review: https://reviewboard.asterisk.org/r/426/ 2009-11-13 03:16 +0000 [r229788] TransNexus OSP Development * apps/app_osplookup.c: Added full number portability parameter support. 2009-11-12 23:43 +0000 [r229750-229754] Jason Parker * configs/alsa.conf.sample: Update sample config for ALSA mute and noaudiocapture * channels/chan_alsa.c: Add mute functionality. Add config option to not try to open capture device. Adds "console {mute|unmute}" CLI command. Adds mute and noaudiocapture config options (will update sample configs shortly). (closes issue #14673) Reported by: Nick_Lewis Patches: chan_alsa.c-oneway3.patch uploaded by Nick Lewis (license 657) Tested by: qwell * channels/chan_oss.c: Fix mute toggling on OSS channels. 2009-11-12 16:44 +0000 [r229670] David Vossel * funcs/func_audiohookinherit.c, /: Merged revisions 229669 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r229669 | dvossel | 2009-11-12 10:41:49 -0600 (Thu, 12 Nov 2009) | 6 lines fixes merging error, datastore was being freed in the wrong function. (closes issue #16219) Reported by: aragon ........ 2009-11-12 13:54 +0000 [r229639] Leif Madsen * configs/sip.conf.sample: Update sip.conf.sample. Just updating a spelling error and some capitalization in a documentation update that Olle added. May the Swenglish be with you. 2009-11-12 10:24 +0000 [r229606-229607] Olle Johansson * configs/sip.conf.sample: Clarification * configs/sip.conf.sample: Clarify some security issues early in the sample configuration 2009-11-11 20:47 +0000 [r229568] David Ruggles * doc/externalivr.txt: Remove non-functional feature from ExternalIVR documentation Remove non-functional socket implementation of ExternalIVR from documentation (closes issue #16225) Reported by: thedavidfactor Patches: externalivr.txt.20091111.1542.patch uploaded by thedavidfactor (license 903) 2009-11-11 19:48 +0000 [r229460-229499] David Brooks * main/pbx.c, /: Merged revisions 229498 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r229498 | dbrooks | 2009-11-11 13:46:19 -0600 (Wed, 11 Nov 2009) | 8 lines Solaris doesn't like NULL going to ast_log Solaris will crash if NULL is passed to ast_log. This simple patch simply uses S_OR to get around this. (closes issue #15392) Reported by: yrashk ........ * apps/app_softhangup.c: Flags not initialized in app_softhangup.c, causing undefined behavior Trivial patch [kobaz] to initialize an ast_flags = {0} (closes issue #16129) Reported by: kobaz 2009-11-11 14:30 +0000 [r229431] Leif Madsen * CHANGES: Update CHANGES file. Updating the CHANGES file after noticing an email on the asterisk-dev mailing list from Russell. (issue #15874) 2009-11-10 22:14 +0000 [r229361] Tilghman Lesher * main/pbx.c, /: Merged revisions 229360 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r229360 | tilghman | 2009-11-10 16:09:16 -0600 (Tue, 10 Nov 2009) | 12 lines If two pattern classes start with the same digit and have the same number of characters, they will compare equal. The example given in the issue report is that of [234] and [246], which have these characteristics, yet they are clearly not equivalent. The code still uses these two characteristics, yet when the two scores compare equal, an additional check will be done to compare all characters within the class to verify equality. (closes issue #15421) Reported by: jsmith Patches: 20091109__issue15421__2.diff.txt uploaded by tilghman (license 14) Tested by: jsmith, thedavidfactor ........ 2009-11-10 22:01 +0000 [r229356] David Ruggles * doc/externalivr.txt: Merged revisions 229355 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r229355 | diruggles | 2009-11-10 16:45:15 -0500 (Tue, 10 Nov 2009) | 9 lines Fix ExternalIVR Documentation Remove documentation for event that doesn't function (closes issue #16220) Reported by: thedavidfactor Patches: externalivr.txt.20091110.1622.patch uploaded by thedavidfactor (license 903) ........ 2009-11-10 21:22 +0000 [r229351] Tilghman Lesher * apps/app_stack.c: When GOSUB is invoked within an AGI, it may not exit correctly. (closes issue #16216) Reported by: atis Patches: 20091110__atis_work.diff.txt uploaded by tilghman (license 14) Tested by: atis 2009-11-10 20:06 +0000 [r229282] Joshua Colp * /, codecs/codec_g726.c: Merged revisions 229281 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r229281 | file | 2009-11-10 16:03:14 -0400 (Tue, 10 Nov 2009) | 8 lines Remove broken support for direct transcoding between G.726 RFC3551 and G.726 AAL2. On some systems the translation core would actually consider g726aal2 -> g726 -> signed linear to be a quicker path then g726aal2 -> signed linear which exposed this problem. (closes issue #15504) Reported by: globalnetinc ........ 2009-11-10 17:33 +0000 [r229228] David Ruggles * /, doc/externalivr.txt: Merged revisions 229191 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r229191 | diruggles | 2009-11-10 12:23:59 -0500 (Tue, 10 Nov 2009) | 11 lines Document ExternalIVR event tag collision ExternalIVR uses the D tag for two different event types. This documents that behavior and how to differentiate between the two cases. Also includes a minor spelling fix and clarification (closes issue #16211) Reported by: thedavidfactor Patches: externalivr.txt.20091109.1507.patch uploaded by thedavidfactor (license 903) ........ 2009-11-10 17:16 +0000 [r229168] David Vossel * /, channels/chan_iax2.c: Merged revisions 229167 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r229167 | dvossel | 2009-11-10 11:15:57 -0600 (Tue, 10 Nov 2009) | 9 lines don't crash on log message in solaris AST-2009-006 (closes issue #16206) Reported by: bklang Tested by: bklang ........ 2009-11-10 15:53 +0000 [r229102] Matthew Nicholson * channels/chan_sip.c: Reverted revision 201717. (closes issue 0016175) Reported by: paul-tg 2009-11-10 15:27 +0000 [r229093] David Vossel * res/res_config_pgsql.c: fixes pgsql double free of threadstorage A thread storage variable was being freed incorrectly, which resulted in a double free if two queries were made in the same thread. (closes issue #16011) Reported by: cristiandimache Patches: issue16011.diff uploaded by dvossel (license 671) 2009-11-10 11:16 +0000 [r229050] Gavin Henry * contrib/scripts/asterisk.ldap-schema: Schema file additions * Added AsteriskDialplan, AsteriskAccount and AsteriskMailbox objectClasses to allow standalone dialplan, account and mailbox entries (STRUCTURAL) * Added new Fields: - AstAccountLanguage, AstAccountTransport, AstAccountPromiscRedir, - AstAccountAccountCode, AstAccountSetVar, AstAccountAllowOverlap, - AstAccountVideoSupport, AstAccountIgnoreSDPVersion * Removed redundant IPaddr (there's already IPAddress) - Gives more configuration Flags for SIP-Users available (tested) - Allows to create Asterisk Attributes in defined Asterisk ObjectClasses without extensibleObject (which really should be the last resort); gives also additional possibilities for LDAP-filter (closes issue #15874) Reported by: Medozas Patches: asterisk.ldap-schema.patch uploaded by Medozas (license 41) Tested by: Medozas, suretec 2009-11-09 22:50 +0000 [r229015] Terry Wilson * channels/chan_local.c: Don't crash when bridge->tech_pvt == NULL This is a similar solution to what is in place for chan_agent (closes issue #16003) Reported by: atis Tested by: twilson 2009-11-09 17:17 +0000 [r228979] Tilghman Lesher * channels/iax2-parser.c: Don't try to convert a 64-bit integer, where only a 32-bit integer is stored. (closes issue #16194) Reported by: habile 2009-11-09 16:28 +0000 [r228947] Matthew Nicholson * configs/queues.conf.sample, CHANGES, apps/app_queue.c: Add the 'relative-periodic-announce' option to app_queue to allow for calculating the time of announcments from the end of the previous announcment rather than from the beginning. (closes issue #15260) Reported by: tonils 2009-11-09 15:38 +0000 [r228897] Leif Madsen * main/channel.c, /: Merged revisions 228896 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r228896 | lmadsen | 2009-11-09 09:37:43 -0600 (Mon, 09 Nov 2009) | 6 lines Update WARNING message. Update a WARNING message to give a suggested fix when encountered. (closes issue #16198) Reported by: atis Tested by: atis ........ 2009-11-09 14:37 +0000 [r228858] Matthew Nicholson * /, include/asterisk/lock.h: Merged revisions 228827 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r228827 | mnicholson | 2009-11-09 08:16:03 -0600 (Mon, 09 Nov 2009) | 8 lines Perform limited bounds checking when destroying ast_mutex_t structures to make sure we don't try to use negative indices. (closes issue #15588) Reported by: zerohalo Patches: 20090820__issue15588.diff.txt uploaded by tilghman (license 14) Tested by: zerohalo ........ 2009-11-09 07:37 +0000 [r228798] Tilghman Lesher * addons/cdr_mysql.c, main/event.c, channels/chan_console.c, res/res_pktccops.c, main/loader.c: Fix various problems detected with Valgrind. * chan_console accessed pvts after deallocation. * cdr_mysql stored a pointer that was freed by realloc() * The module loader did not check usecount on shutdown, which led to chan_iax2 reading a timer that was already unloaded. * The event subsystem sometimes creates an event with no IEs. Due to a corner condition, the code would read beyond the memory boundary. * res_pktccops did not correctly check whether its monitor thread was started. (closes issue #16062) Reported by: alexanderheinz Patches: 20091109__issue16062.diff.txt uploaded by tilghman (license 14) Tested by: tilghman 2009-11-07 17:02 +0000 [r228766] Tzafrir Cohen * contrib/init.d/rc.debian.asterisk: Add LSB headers to the Debian init.d script See also issue #14864 . 2009-11-06 22:35 +0000 [r228693] David Vossel * main/channel.c, /: Merged revisions 228692 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r228692 | dvossel | 2009-11-06 16:33:27 -0600 (Fri, 06 Nov 2009) | 9 lines fixes audiohook write crash occuring in chan_spy whisper mode. After writing to the audiohook list in ast_write(), frames were being freed incorrectly. Under certain conditions this resulted in a double free crash. (closes issue #16133) Reported by: wetwired (closes issue #16045) Reported by: bluecrow76 Patches: issue16045.diff uploaded by dvossel (license 671) Tested by: bluecrow76, dvossel, habile ........ 2009-11-06 22:32 +0000 [r228691] Richard Mudgett * channels/chan_dahdi.c, CHANGES, channels/sig_pri.c: Created standard location to add options to chan_dahdi for ISDN dialing. Dial(DAHDI/g1[/extension[/options]]) Current options: K() R Reverse charging indication (Collect calls) The earlier Dial(DAHDI/g1[/K][/extension] format was variable and did not allow for the easy addition of more options. The earlier 'C' prefix character for reverse charge indiation would conflict with the a-d DTMF digits if ISDN uses them. 2009-11-06 22:07 +0000 [r228661] David Brooks * tests/test_amihooks.c: ami_testhooks.c automatically registers hook ami_testhooks.c was registering for AMI events upon module load. Moved the registration to its own CLI command. Added CLI command for unregistering the hook. Changed some of the wording, removed unnecessary arguments/parameters. Reported by: rmudgett 2009-11-06 22:02 +0000 [r228658-228659] Mark Michelson * addons/chan_ooh323.c: Make compilation of chan_ooh323 disabled by default. All addons modules should be disabled by default, requiring the user to turn them on if desired. After all, these are addons we're talking about here. * addons/ooh323c/src/ooh323.c, addons/ooh323c/src/ooh245.c: Get chan_ooh323 to compile with gcc 4.2. For some reason, the code compiles just fine with later versions of GCC, but this one requires some weird double casting in order to get rid of all warnings. Whatever. 2009-11-06 19:53 +0000 [r228621] Richard Mudgett * main/frame.c: Fix compiler warning gcc 4.2.4 found 2009-11-06 19:47 +0000 [r228620] Matthew Nicholson * funcs/func_base64.c, /, main/utils.c: Merged revisions 228378 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r228378 | mnicholson | 2009-11-06 10:26:59 -0600 (Fri, 06 Nov 2009) | 8 lines Properly handle '=' while decoding base64 messages and null terminate strings returned from BASE64_DECODE. (closes issue #15271) Reported by: chappell Patches: base64_fix.patch uploaded by chappell (license 8) Tested by: kobaz ........ 2009-11-06 19:38 +0000 [r228616] Tilghman Lesher * channels/chan_nbs.c, addons/chan_mobile.c: Missed these two channel drivers on the codec_bits merge 2009-11-06 18:37 +0000 [r228499-228548] Joshua Colp * /, channels/chan_sip.c: Merged revisions 228547 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r228547 | file | 2009-11-06 14:32:58 -0400 (Fri, 06 Nov 2009) | 4 lines Don't overwrite caller ID name on a trunk with the configured fullname when using users.conf (issue ABE-1989) ........ * doc/tex/localchannel.tex: Fix the localchannel.tex file. 2009-11-06 17:22 +0000 [r228420-228441] David Vossel * codecs/codec_ilbc.c: Fixes merging issue from 1.4, frame data is held in data.ptr in trunk * /, codecs/codec_ilbc.c: Merged revisions 228418 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r228418 | dvossel | 2009-11-06 11:07:13 -0600 (Fri, 06 Nov 2009) | 13 lines fixes segfault in iLBC For reasons not yet known, it appears possible for an ast_frame to have a datalen greater than zero while the actual data is NULL during Packet Loss Concealment. Most codecs don't support PLC so this doesn't affect them. This patch catches the malformed frame and prevents the crash from occuring. Additional efforts to determine why it is possible for a frame to look like this are still being investigated. (issue #16979) ........ 2009-11-06 16:42 +0000 [r228410] Joshua Colp * /, main/abstract_jb.c: Merged revisions 228409 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r228409 | file | 2009-11-06 12:41:20 -0400 (Fri, 06 Nov 2009) | 7 lines Fix a bug caused by a partially invalid frame (from the jitterbuffer) passing through the Asterisk core. (closes issue #15560) Reported by: jvandal (closes issue #15709) Reported by: covici ........ 2009-11-06 15:42 +0000 [r228268-228339] David Vossel * /, main/astfd.c: Merged revisions 228338 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r228338 | dvossel | 2009-11-06 09:41:41 -0600 (Fri, 06 Nov 2009) | 5 lines fixes crash in astfd.c (closes issue #15981) Reported by: slavon ........ * funcs/func_audiohookinherit.c: fixes memory leak in func_audiohookinherit.c (closes issue #15394) Reported by: boroda Patches: bug15394_memoryleak_diff2.txt uploaded by dbrooks (license 790) Tested by: dbrooks, boroda 2009-11-05 22:59 +0000 [r228233] Mark Michelson * funcs/func_cdr.c: Fix XML in func_cdr.c 2009-11-05 22:12 +0000 [r228191-228196] Tilghman Lesher * apps/app_meetme.c: Yet another error message in the dialplan (thanks, rmudgett/russellb) * apps/app_meetme.c: MEETME_INFO should not return a literal error message to the dialplan. (closes issue #15450) Reported by: JimVanM Patches: meetmeinfopatch.diff.txt uploaded by dbrooks (license 790) Tested by: JimVanM 2009-11-05 21:23 +0000 [r228189] Jeff Peeler * apps/app_chanspy.c: Fix the fix for chanspy option o In 224178, I assumed the uploaded patch was correct as it had received positive feedback. The flags were being checked in the incorrect location. Upon testing the fix this time it was also found that the flags from the dialplan weren't being copied to the chanspy_translation_helper. (closes issue #16167) Reported by: marhbere 2009-11-05 19:34 +0000 [r228145] David Brooks * channels/chan_misdn.c, /: Merged revisions 228078 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r228078 | dbrooks | 2009-11-05 12:59:41 -0600 (Thu, 05 Nov 2009) | 9 lines chan_misdn Asterisk 1.4.27-rc2 crash Crash related to chan_misdn connection. Patch submitted by gknispel_proformatique, tested by francesco_r. "I have many crash since i have upgraded to Asterisk 1.4.27-rc2. Attached a full bt." This patch zeros out an ast_frame. (closes issue #16041) Reported by: francesco_r ........ 2009-11-05 19:16 +0000 [r228080] Jason Parker * channels/chan_vpb.cc, /: Merged revisions 228079 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r228079 | qwell | 2009-11-05 13:14:25 -0600 (Thu, 05 Nov 2009) | 8 lines Fix crash on VPB exception when no hardware is present. (closes issue #14970) Reported by: tzafrir Patches: vpb_exception.diff uploaded by tzafrir (license 46) Tested by: markwaters ........ 2009-11-05 17:26 +0000 [r228015-228049] Tilghman Lesher * main/frame.c: Rework codecs command to comply with the 64-bit scheme * apps/app_externalivr.c: Don't crash if no arguments are passed. (closes issue #16119) Reported by: thedavidfactor 2009-11-04 23:50 +0000 [r227914-227945] Jeff Peeler * /, res/res_monitor.c: Merged revisions 227944 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r227944 | jpeeler | 2009-11-04 17:47:08 -0600 (Wed, 04 Nov 2009) | 14 lines Fix incorrect filename comparsion after monitor file change The logic to detect if a requested file is indeed a different file from the current file was incorrect. The main issue being confusion of the use of filename_base which was previously set without pathing information and then compared to another full path. Robust file comparison logic has been added to properly check if two files are the same even if symlinks are used. (closes issue #15313) Reported by: caspy Patches: 20091103__issue15313__1.4.diff.txt uploaded by jpeeler (license 325) but mostly tilghman's work ........ * addons/chan_ooh323.c: Update chan_ooh323 to support the expanded codec bitfield from 227580. 2009-11-04 22:10 +0000 [r227898] Alexandr Anikin * addons/ooh323c/src/oochannels.h, addons/ooh323c/src/ooCmdChannel.h, addons/chan_ooh323.c, addons/ooh323c/src/printHandler.h, addons/ooh323c/src/ooq931.h, addons/ooh323c/src/ootrace.h, addons/chan_ooh323.h, addons/ooh323c/src/ooasn1.h, addons/ooh323c/src/ootypes.h, addons/ooh323c/src/ooLogChan.c, addons/ooh323c/src/ooStackCmds.c, addons/ooh323c/src/errmgmt.c, addons/ooh323c/src/ooTimer.c, addons/ooh323c/src/ooLogChan.h, addons/ooh323c/src/ooCapability.c, addons/ooh323c/src/ooStackCmds.h, addons/ooh323c/src/dlist.c, addons/ooh323c/src/eventHandler.c, addons/ooh323c/src/ooCapability.h, addons/ooh323c/src/eventHandler.h, addons/Makefile, addons/ooh323cDriver.c, addons/ooh323c/src/ooDateTime.c, addons/ooh323c/src/rtctype.c, addons/ooh323cDriver.h, addons/ooh323c/src/ooCalls.c, addons/ooh323c/src/encode.c, addons/ooh323c/src/ooUtils.c, addons/ooh323c/src/ooGkClient.c, addons/ooh323c/src/ooDateTime.h, addons/ooh323c/src/ooCalls.h, addons/ooh323c/src/ooh323ep.c, addons/ooh323c/src/ooGkClient.h, addons/ooh323c/src/ooports.c, addons/ooh323c/src/ooh323ep.h, addons/ooh323c/src/memheap.c, addons/ooh323c/src/ooh323.c, addons/ooh323c/src/h323/H323-MESSAGESDec.c, addons/ooh323c/src/ooh245.c, addons/ooh323c/src/memheap.h, addons/ooh323c/src/ooh323.h, addons/ooh323c/src/decode.c, addons/ooh323c/src/context.c, addons/ooh323c/src/perutil.c, addons/ooh323c/src/h323/MULTIMEDIA-SYSTEM-CONTROLDec.c, addons/ooh323c/src/ooh245.h, addons/ooh323c/src/ooSocket.c, addons/ooh323c/src/h323/H235-SECURITY-MESSAGESDec.c, addons/ooh323c/src/oochannels.c, addons/ooh323c/src/ooCmdChannel.c, addons/ooh323c/src/printHandler.c, addons/ooh323c/src/ooSocket.h, addons/ooh323c/src/ooCommon.h, addons/ooh323c/src/ooq931.c, addons/ooh323c/src/ootrace.c: Reworked chan_ooh323 channel module. Many architectural and functional changes. Main changes are threading model chanes (many thread in ooh323 stack instead of one), modifications and improvements in signalling part, additional codecs support (726, speex), t38 mode support. This module tested and used in production environment. (closes issue #15285) Reported by: may213 Tested by: sles, c0w, OrNix Review: https://reviewboard.asterisk.org/r/324/ 2009-11-04 21:39 +0000 [r227829-227897] Matthew Nicholson * apps/app_dial.c, CHANGES: Added the 'a' option to app dial and modified app_dial to set the answertime when the called channel answers. This change causes answertime to be correct even if the called channel hangs up during an announcement triggered by the A() option. (closes issue #15936) Reported by: falves11 Patches: dial-macro-billsec-fix1.diff uploaded by mnicholson (license 96) dial-caller-answer1.diff uploaded by mnicholson (license 96) Tested by: falves11, mnicholson * apps/app_dial.c, /: Merged revisions 227827 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r227827 | mnicholson | 2009-11-04 14:52:27 -0600 (Wed, 04 Nov 2009) | 10 lines This patch modifies the Dial application to monitor the calling channel for hangups while playing back announcements. (closes issue #16005) Reported by: falves11 Patches: dial-announce-hangup-fix1.diff uploaded by mnicholson (license 96) Tested by: mnicholson, falves11 Review: https://reviewboard.asterisk.org/r/407/ ........ 2009-11-04 20:35 +0000 [r227824] Tilghman Lesher * include/asterisk/unaligned.h: Fixes for gcc 4.4 2009-11-04 20:13 +0000 [r227759] Matthew Nicholson * channels/chan_sip.c: Modify the SDP parsing code to parse session and media level items separately. With the new code, media level proprieties should no longer be confused with session level proprieties. This change also reorganizes some of the SDP parsing code which should make it easier to manage in the future. (closes issue #14994) Reported by: frawd Tested by: frawd, mnicholson, file Review: https://reviewboard.asterisk.org/r/414/ 2009-11-04 19:26 +0000 [r227712-227739] Joshua Colp * /, static-http/prototype.js: Merged revisions 227735 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r227735 | file | 2009-11-04 15:25:37 -0400 (Wed, 04 Nov 2009) | 5 lines Fix a security issue where it may be possible for someone to execute a cross-site AJAX request exploit. (AST-2009-009) ........ * /, channels/chan_sip.c: Merged revisions 227700 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r227700 | file | 2009-11-04 15:17:39 -0400 (Wed, 04 Nov 2009) | 5 lines Fix a security issue where sending a REGISTER with a differing username in the From URI and Authorization header would reveal whether it was valid or not. (AST-2009-008) ........ 2009-11-04 16:41 +0000 [r227646] Mark Michelson * main/frame.c: Add a couple more casts so that code compiles correctly. 2009-11-04 16:35 +0000 [r227645] Tilghman Lesher * include/asterisk/pbx.h: mmichelson reported a compilation error related to codec bit expansion that should be resolved with a simple include of frame_defs.h 2009-11-04 16:25 +0000 [r227643] Jeff Peeler * channels/chan_dahdi.c: fix trunk building 2009-11-04 16:17 +0000 [r227579-227615] Tilghman Lesher * channels/chan_sip.c, channels/chan_iax2.c: Two other trunk build fixes (reported by seanbright on #asterisk-dev) * addons/format_mp3.c: Fix trunk building * main/udptl.c, main/autoservice.c, apps/app_dahdibarge.c, main/frame.c, channels/chan_local.c, main/rtp_engine.c, include/asterisk/autoconfig.h.in, apps/app_record.c, apps/app_test.c, bridges/bridge_softmix.c, apps/app_alarmreceiver.c, codecs/ex_alaw.h, codecs/ex_adpcm.h, formats/format_wav_gsm.c, formats/format_sln16.c, codecs/ex_gsm.h, channels/chan_iax2.c, main/indications.c, res/res_rtp_multicast.c, channels/chan_dahdi.c, include/asterisk/bridging_technology.h, pbx/pbx_spool.c, channels/sig_analog.c, include/asterisk/audiohook.h, channels/chan_skinny.c, configure, main/strcompat.c, include/asterisk/compat.h, formats/format_pcm.c, main/features.c, channels/chan_alsa.c, apps/app_amd.c, formats/format_h263.c, apps/app_url.c, apps/app_externalivr.c, formats/format_jpeg.c, main/bridging.c, codecs/ex_ulaw.h, apps/app_milliwatt.c, formats/format_gsm.c, apps/app_dial.c, main/pbx.c, formats/format_wav.c, channels/chan_bridge.c, apps/app_echo.c, apps/app_fax.c, include/asterisk/slin.h, channels/chan_agent.c, configure.ac, formats/format_ogg_vorbis.c, apps/app_disa.c, include/asterisk/unaligned.h, codecs/ex_speex.h, include/asterisk/channel.h, apps/app_talkdetect.c, channels/iax2-parser.c, apps/app_speech_utils.c, channels/iax2-parser.h, channels/chan_misdn.c, apps/app_waitforring.c, channels/iax2.h, codecs/codec_dahdi.c, main/audiohook.c, apps/app_chanspy.c, formats/format_g726.c, include/asterisk/frame_defs.h (added), include/asterisk/translate.h, include/asterisk/slinfactory.h, channels/chan_unistim.c, channels/chan_vpb.cc, channels/chan_multicast_rtp.c, formats/format_sln.c, apps/app_meetme.c, apps/app_dictate.c, codecs/ex_g722.h, codecs/ex_g726.h, channels/chan_gtalk.c, res/res_musiconhold.c, apps/app_followme.c, formats/format_siren7.c, include/asterisk/abstract_jb.h, main/asterisk.exports, main/channel.c, formats/format_ilbc.c, channels/chan_phone.c, main/dial.c, main/manager.c, funcs/func_volume.c, res/res_agi.c, apps/app_mp3.c, main/app.c, doc/codec-64bit.txt (added), formats/format_h264.c, include/asterisk/rtp_engine.h, include/asterisk/frame.h, formats/format_siren14.c, codecs/ex_ilbc.h, channels/chan_mgcp.c, apps/app_jack.c, res/res_rtp_asterisk.c, apps/app_nbscat.c, channels/chan_sip.c, codecs/ex_lpc10.h, apps/app_festival.c, main/slinfactory.c, main/translate.c, res/res_adsi.c, channels/chan_console.c, channels/h323/chan_h323.h, channels/sig_pri.c, apps/app_queue.c, channels/chan_oss.c, channels/chan_jingle.c, formats/format_vox.c, include/asterisk/bridging.h, main/abstract_jb.c, main/file.c, channels/chan_h323.c, formats/format_g723.c, codecs/codec_ulaw.c, apps/app_sms.c, include/asterisk/pbx.h, main/dsp.c, formats/format_g729.c: Expand codec bitfield from 32 bits to 64 bits. Reviewboard: https://reviewboard.asterisk.org/r/416/ * configure, include/asterisk/autoconfig.h.in, configure.ac: chan_misdn will fail to compile if the redirect_dn member is missing 2009-11-04 08:22 +0000 [r227545] Olle Johansson * main/manager.c: Add destruction of iterators to avoid problems with refcounters (per Russell's review of another patch) 2009-11-04 03:15 +0000 [r227509] Tilghman Lesher * apps/app_queue.c: Don't crash when state_interface is NULL. 2009-11-03 22:13 +0000 [r227462-227464] Russell Bryant * res/res_pktccops.c: Resolve another warning. * main/manager.c, pbx/pbx_config.c: Resolve a warning from gcc 4.4.1. * channels/chan_mgcp.c: Resolve some dev-mode warnings. 2009-11-03 21:26 +0000 [r227448] David Brooks * main/manager.c, include/asterisk/manager.h, tests/test_amihooks.c (added): AMI hook interface This patch, originally submitted by jozza, enables custom modules to send actions to AMI and receive messages from AMI via a hook interface. Included is a simple test module to illustrate the interface. (closes issue #14635) Reported by: jozza Review: https://reviewboard.asterisk.org/r/412/ 2009-11-03 21:21 +0000 [r227435] Matthew Nicholson * main/cdr.c, apps/app_forkcdr.c, configs/cdr_custom.conf.sample, funcs/func_cdr.c, main/features.c, include/asterisk/cdr.h, CHANGES: This patch adds a sequence field to CDRs that can be combined with the linkedid or uniqueid field to uniquely identify a CDR. (closes issue #15180) Reported by: Nick_Lewis Patches: cdr-sequence10.diff uploaded by mnicholson (license 96) Tested by: mnicholson 2009-11-03 21:16 +0000 [r227424] Joshua Colp * configs/queues.conf.sample, apps/app_queue.c: Add support for using a hint when configuring a state interface using the format hint:@. (closes issue #15168) Reported by: p_lindheimer Patches: queue_extenstate5_1.4.svn.patch uploaded by GameGamer43 (license 894) 2009-11-03 19:59 +0000 [r227372] Jason Parker * Makefile, main/Makefile: Fix some build issues on Solaris. (closes issue #14517) (SWP-109) Reported by: asgaroth Patches: bug_14517.diff uploaded by snuffy (license 35) Tested by: asgaroth, snuffy, dougm, qwell 2009-11-03 19:48 +0000 [r227361-227368] Leif Madsen * apps/app_controlplayback.c: Change warning message to debug message. app_controlplayback outputs a warning, when in fact it is normal. (closes issue #16071) Reported by: atis Patches: controlplayback_warning.patch uploaded by atis (license 242) * configs/extensions.conf.sample: Additional fixes to the extensions.conf.sample file. Update the extensions.conf.sample [stdexten] context so that we use the variable instead of requiring it to be passed explicitly. Also updated uses of the [stdexten] context throughout. (closes issue #15858) Reported by: pprindeville Patches: stdexten-context-update.txt uploaded by lmadsen (license 10) Tested by: pprindeville 2009-11-03 18:22 +0000 [r227298] Matthew Nicholson * channels/chan_sip.c: Fixed a spelling error in the q850 reason header option in the output of sip show settings. 2009-11-03 17:58 +0000 [r227277] Richard Mudgett * /: Recorded merge of revisions 227275 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r227275 | rmudgett | 2009-11-03 11:55:47 -0600 (Tue, 03 Nov 2009) | 4 lines Make sure the outgoing flag is cleared if a new channel fails to get created for outgoing calls. This is the relevant portion of asterisk/trunk -r226648 ........ 2009-11-03 17:56 +0000 [r227276] Tilghman Lesher * channels/chan_mgcp.c: Code guidelines fixes only 2009-11-03 17:12 +0000 [r227238] David Vossel * channels/chan_sip.c: user.conf entries in SIP were not having their peer type set. (closes issue #16120) Reported by: jsmith 2009-11-03 16:56 +0000 [r227237] Olle Johansson * funcs/func_speex.c: Adding some clarifications to func_speex doxygen docs. The functions needed doesn't exist in Speex 1.05 which is what a lot of distros use. 1.2 seems to have been in beta status for years, and does include the sexy functions needed for func_speex to work. 2009-11-03 15:37 +0000 [r227167] Joshua Colp * /: Merged revisions 227166 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r227166 | file | 2009-11-03 11:36:16 -0400 (Tue, 03 Nov 2009) | 5 lines Fix a bug where an RPID header could be generated with a blank username in the URI. (closes issue #15909) Reported by: kobaz ........ 2009-11-03 15:19 +0000 [r227162] Leif Madsen * configs/extensions.conf.sample: Update extensions.conf.sample file to fix incorrect extensions. (closes issue #15857) Reported by: pprindeville Patches: stdexten.patch#2 uploaded by pprindeville (license 347) Tested by: pprindeville 2009-11-03 11:11 +0000 [r227091] Olle Johansson * Makefile, /, channels/chan_sip.c: Merged revisions 227088 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r227088 | oej | 2009-11-03 11:29:59 +0100 (Tis, 03 Nov 2009) | 7 lines Use proper response code when violating Contact ACL's. https://reviewboard.asterisk.org/r/415/ Thanks kpfleming for a quick review. (EDVX-003) ........ 2009-11-02 22:29 +0000 [r227049] Tilghman Lesher * configs/mgcp.conf.sample, include/asterisk/pktccops.h (added), CHANGES, res/res_pktccops.c (added), channels/chan_mgcp.c, configs/res_pktccops.conf.sample (added): Add PacketCable NCS 1.0 support for Docsis/Eurodocsis networks (closes issue #12950) Reported by: alea-soluciones Patches: ncs-pktccops-12950-r206803.patch uploaded by alea-soluciones (license 514) Tested by: alea-soluciones, adomjan, urtho, nahuelgreco 2009-11-02 20:59 +0000 [r226973-226974] David Brooks * channels/chan_sip.c: SIP channel name uniqueness SIP channel names were supposed to be unique by way of a name suffix derived from the pointer to the channel's private data. Uniqueness was preserved on 32-bit systems, but not on 64-bit systems. This patch, as suggested by kpfleming, replaces this suffix with a simple incremented unsigned int. (closes issue #15152) Reported by: palbrecht Review: https://reviewboard.asterisk.org/r/420/ * /: SIP channel name uniqueness SIP channel names were supposed to be unique by way of a name suffix derived from the pointer to the channel's private data. Uniqueness was preserved on 32-bit systems, but not on 64-bit systems. This patch, as suggested by kpfleming, replaces this suffix with a simple incremented unsigned int. (closes issue #15152) Reported by: palbrecht Review: https://reviewboard.asterisk.org/r/420/ 2009-11-02 20:43 +0000 [r226970] Olle Johansson * main/http.c: Adding external reference for doxygen 2009-11-02 18:08 +0000 [r226890] Joshua Colp * apps/app_dial.c, /: Merged revisions 226889 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r226889 | file | 2009-11-02 14:08:11 -0400 (Mon, 02 Nov 2009) | 11 lines Fix a bug where the recorded privacy introduction file would not get removed if the caller hung up while the called party had not yet answered. This was fixed by introducing an argument to the 'n' option which, when enabled, removes the introduction file under all scenarios. This was done to preserve the behavior that has existed for quite some time. (closes issue #14674) Reported by: ulogic Patches: bug14674.patch uploaded by jpeeler (license 325) ........ 2009-11-02 17:34 +0000 [r226882] Richard Mudgett * channels/sig_pri.h, channels/chan_dahdi.c, UPGRADE.txt, channels/sig_pri.c: DAHDI ISDN channel names will not allow device state to work. (Interim solution.) Since ISDN works like SIP and not analog ports in regard to devices, the device state based on the ISDN channel number could not work. This has not been an issue until the advent of PTMP NT mode. Previously, ISDN lines were used as trunks and did not have to keep track of specific devices. As an interim solution until device states are properly implemented, the channel name is being changed to the following format to use the generic device state support: DAHDI/i/[:]- Dialplan hints would thus be: exten => xxx,hint,DAHDI/i2/5551212 This will work with the following restrictions: * The number of devices/phones cannot exceed the number of B channels. (i.e., BRI has 2) * Each device/phone can only have one number. No shared MSN's. * The phones/devices probably should not use subaddressing. 2009-11-02 17:15 +0000 [r226812] Tilghman Lesher * /, contrib/init.d/rc.redhat.asterisk: Merged revisions 226811 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r226811 | tilghman | 2009-11-02 11:14:20 -0600 (Mon, 02 Nov 2009) | 8 lines Don't allow two separate instances of safe_asterisk when restarting from the init script. (closes issue #14562) Reported by: davidw Patches: Initially 20091022__issue14562.diff.txt uploaded by tilghman (license 14) Modified to 20091030__Issue14562_diff.txt uploaded by davidw (license 780) Tested by: davidw ........ 2009-11-02 14:57 +0000 [r226687] Matthew Nicholson * channels/chan_sip.c, configs/sip.conf.sample, CHANGES: This patch adds support for a draft proposal for adding Q.850 reason headers to sip messages. (closes issue #13385) Reported by: adomjan Patches: sip.conf.sample-trunk20090929-reason_q850.patch uploaded by adomjan (license 487) CHANGES-trunk20090929-reason_q850.patch uploaded by adomjan (license 487) chan_sip.c-trunk20090929-reason_q850_atoi_fix.patch uploaded by adomjan (license 487) sip-q850-hangupcause1.diff uploaded by mnicholson (license 96) Tested by: adomjan 2009-10-30 23:26 +0000 [r226648] Richard Mudgett * channels/chan_dahdi.c, channels/sig_pri.c: Cleanup some flags on DAHDI PRI channel hangup. * Cleanup some flags on DAHDI PRI channel hangup. (sig_pri split) * Make sure the outgoing flag is cleared if a new channel fails to get created for outgoing calls. * Remove some unused flags since sig_pri was split. 2009-10-30 04:08 +0000 [r226606] Russell Bryant * include/asterisk/doxygen/architecture.h (added), res/res_rtp_asterisk.c, res/res_rtp_multicast.c, include/asterisk/doxyref.h, contrib/asterisk-ng-doxygen, main/asterisk.c: Add an "Asterisk Architecture Overview" section to the doxygen documentation. This is a side project I've been poking at this week. The intent is to discuss Asterisk architecture in a top down fashion to help new developers understand how Asterisk is put together. There is a ton of stuff to write about, so this will just continue to evolve over time. 2009-10-29 18:13 +0000 [r226532] Joshua Colp * channels/chan_local.c, /, doc/tex/localchannel.tex: Merged revisions 226531 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r226531 | file | 2009-10-29 15:11:26 -0300 (Thu, 29 Oct 2009) | 6 lines Add an option to enabling passing music on hold start and stop requests through instead of acting on them in chan_local. (closes issue #14709) Reported by: dimas ........ 2009-10-29 12:20 +0000 [r226490] Olle Johansson * channels/chan_local.c: Doxygen documentation update 2009-10-28 20:50 +0000 [r226453] Tzafrir Cohen * build_tools/get_documentation: remove empty awk pattern (//) Solaris 10 nawk doesn't lthe empty pattern ike '//' for 'always'. Just remove that. No pattern at all always matches. 2009-10-28 20:11 +0000 [r226378-226384] Leif Madsen * /, configs/sip.conf.sample: Merged revisions 226382 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r226382 | lmadsen | 2009-10-28 15:06:13 -0500 (Wed, 28 Oct 2009) | 9 lines Update documentation in sip.conf.sample. Update the documentation in sip.conf.sample in order to make it more clear that directmedia/canreinvite do not cause Asterisk to ignore reINVITEs. It is only used to stop Asterisk from generating a reINVITE, but does not stop it from accepting them if necessary. (closes issue #15644) Reported by: lmadsen ........ * doc/tex/channelvariables.tex: Merged revisions 226377 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r226377 | lmadsen | 2009-10-28 14:48:29 -0500 (Wed, 28 Oct 2009) | 7 lines Update CALLINGSUBADDR channel variable documentation. (closes issue #15734) Reported by: alecdavis Patches: channelvariables.tex.diff.txt uploaded by alecdavis (license 585) Tested by: alecdavis ........ 2009-10-28 18:04 +0000 [r226305] Tilghman Lesher * /, include/asterisk/linkedlists.h: Merged revisions 226304 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r226304 | tilghman | 2009-10-28 13:02:25 -0500 (Wed, 28 Oct 2009) | 2 lines Fix documentation (pointed out by TheDavidFactor on #-dev) ........ 2009-10-28 08:47 +0000 [r226227-226270] Tzafrir Cohen * contrib/upstart/asterisk.user.conf: Remove extra cleanup in case we have more than one Asterisk. /var/run would be cleaned on startup on most systems anyway. * contrib/upstart/asterisk.user.conf (added): another variation of the upstart script 2009-10-27 21:03 +0000 [r226184] Olle Johansson * Makefile: Adding compile time flags for Snow Leopard, Leopard and some other animals 2009-10-27 20:22 +0000 [r226159] Tilghman Lesher * main/manager.c, /: Merged revisions 226138 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r226138 | tilghman | 2009-10-27 15:16:49 -0500 (Tue, 27 Oct 2009) | 7 lines Manager output is not always NULL-terminated, so force a NULL at the end of the filestream. (closes issue #15495) Reported by: pdf Patches: 20090916__issue15495.diff.txt uploaded by tilghman (license 14) Tested by: pdf ........ 2009-10-27 16:48 +0000 [r226099] Terry Wilson * res/res_http_post.c: Don't prepend the URI prefix to the post directory 2009-10-27 13:30 +0000 [r226060] Joshua Colp * channels/chan_sip.c, configs/sip.conf.sample, CHANGES: Add support for receiving unsolicited MWI NOTIFY messages. This change adds a configuration option to SIP peers, unsolicited_mailbox, which configures a virtual mailbox to use for received new/old MWI information. This virtual mailbox can then be used by any device supporting MWI. (closes issue #13028) Reported by: AsteriskRocks Patches: bug_13028_chan_sip_external_mwi_20090707.patch uploaded by cmaj (license 830) 2009-10-26 22:46 +0000 [r226018] Tzafrir Cohen * /, configure, configure.ac: detect ARM Linux EABI OSARCH as linux-gnu instead of linux-gnueabi * Set OSARCH to linux-gnu even if host_os is linux-gnueabi * When checking if we are Linux, check OSARCH rather than host_os The newer ARM ABI ("EABI") shows the OS name 'linux-gnueabi' rather than 'linux-gnu' . This patch sets OSARCH to be 'linux-gnu' even in such a case. OSARCH is tested for the value of 'linux-gnu' in one or two places in the tree. This patch also fixes the check libcap to check for $OSARCH rather than $host_os . See also: http://wiki.debian.org/ArmEabiPort Merged revisions 225957 via svnmerge from http://svn.digium.com/svn/asterisk/branches/1.4 2009-10-26 22:04 +0000 [r225955-225956] Kevin P. Fleming * main/editline/makelist.in, channels/chan_sip.c, UPGRADE.txt, UPGRADE-1.6.txt, doc/lang/language-criteria.txt: Fix building in REF_DEBUG mode. * main/astobj2.c: Correct broken logic from revision 225405. The code committed in revision 225405 was broken; instead of removing the unreference code, the logic used to decide when to do it should have been reversed. This patch corrects the situation, and makes reference counting work properly again. 2009-10-26 19:40 +0000 [r225912] Jeff Peeler * channels/chan_sip.c: ACL check not present for verifying SIP INVITEs The ACL check in check_peer_ok was missing and has now been restored. The missing check allowed for calls to be made on prohibited networks where an ACL was defined in sip.conf and the allowguest option was set to off. See the AST security advisory below for more information. Merge code associated with AST-2009-007. (closes issue #16091) Reported by: thom4fun 2009-10-26 16:07 +0000 [r225872] Richard Mudgett * channels/chan_dahdi.c: Make conditionals create previous code when libpri/ss7 are present. 2009-10-26 13:29 +0000 [r225767-225836] Tzafrir Cohen * channels/chan_dahdi.c: span numbers in pri debug / error messages Prefix PRI trace messages with the span number. This makes the trace readable even when you have a multi-port device. (closes issue #15054) Reported by: tzafrir Patches: dahdi_pri_debug_spannum.diff uploaded by tzafrir (license 46) * channels/chan_dahdi.c: Re-arange code a bit to build in dev-mode without ss7 No change of functionality here. Just localized a variable and indented code into blocks. * channels/chan_dahdi.c: Make chan_dahdi build even without PRI / SS7 (Note: still some strange build warnings without SS7 in dev-mode) 2009-10-24 14:40 +0000 [r225727] Kevin P. Fleming * channels/chan_sip.c: Improve performance of pedantic mode dialog searching in chan_sip. This patch changes chan_sip to use the new astobj2 OBJ_MULTIPLE iterator support to make pedantic mode dialog searching in find_call() not require a linear search of all dialogs in the list of dialogs. This patch does *not* change the dialog matching logic (more on that later), just improves the searching performance. 2009-10-23 16:57 +0000 [r225692] Richard Mudgett * channels/sig_pri.h, channels/chan_dahdi.c, configs/chan_dahdi.conf.sample, configure, include/asterisk/autoconfig.h.in, configure.ac, CHANGES, channels/sig_pri.c: Add to chan_dahdi ISDN HOLD, Call deflection, and keypad facility support. * Added handling of received HOLD/RETRIEVE messages and the optional ability to transfer a held call on disconnect similar to an analog phone. * Added CallRerouting/CallDeflection support for Q.SIG, ETSI PTP, ETSI PTMP. Will reroute/deflect an outgoing call when receive the message. Can use the DAHDISendCallreroutingFacility to send the message for the supported switches. * Added ability to send/receive keypad digits in the SETUP message. Send keypad digits in SETUP message: Dial(DAHDI/g1[/K][/extension]) Access any received keypad digits in SETUP message by: ${CHANNEL(keypad_digits)} * Added support for BRI PTMP NT mode. 2009-10-23 16:40 +0000 [r225690] Sean Bright * Makefile, agi/Makefile, agi/agi.xml (added): Optionally build and install the sample AGIs in the agi/ directory. 2009-10-23 14:41 +0000 [r225650] David Vossel * channels/chan_sip.c: Fixes an iterator memory leak and uninitialized memory 2009-10-23 14:02 +0000 [r225582] Kevin P. Fleming * Makefile, /: Merged revisions 225581 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r225581 | kpfleming | 2009-10-23 09:00:01 -0500 (Fri, 23 Oct 2009) | 10 lines Don't force menuselect.makeopts to be rebuilt on every build. For some reason the menuselect.makeopts file was listed as PHONY in the Makefile, resulting in 'make' needing to rebuild it for every build. This then resulted in the embedded module rules being rebuilt on every build, which can be slow and is unnecessary. This patch fixes the problem by properly allowing 'make' to know when the menuselect.makeopts file needs to be rebuilt (defining the proper dependencies). ........ 2009-10-22 22:24 +0000 [r225483-225515] Leif Madsen * README: Update README documentation. Update the README documentation to correctly describe which CLI command you should use when attempting to get help from the CLI. (closes issue #16064) Reported by: thedavidfactor Patches: readme.patch uploaded by thedavidfactor (license 903) * /, doc/valgrind.txt, contrib/valgrind.supp (added): Merged revisions 225484 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r225484 | lmadsen | 2009-10-22 16:51:52 -0500 (Thu, 22 Oct 2009) | 11 lines Clean valgrind output by suppressing false errors. Update valgrind.txt documentation and add valgrind.supp file in order to allow those who are creating valgrind output to have less false errors in the logfile. (closes issue #16007) Reported by: atis Patches: valgrind.txt.diff uploaded by atis (license 242) asterisk2.supp uploaded by atis (license 242) Tested by: atis, amorsen ........ * include/asterisk/doxyref.h, include/asterisk/doxygen/asterisk-git-howto.h (added): Add Asterisk Git HowTo documentation. Added documentation on how to create a local git repository from SVN. This documentation was added via doxygen. (closes issue #15814) Reported by: tzafrir Patches: git-asterisk-howto uploaded by tzafrir (license 46) 2009-10-22 20:07 +0000 [r225446] Richard Mudgett * channels/sig_pri.c: Search for the subaddress only within the extension section of the dial string. Dial(DAHDI/(g|G|r|R)[c|r|d][/extension]) 2009-10-22 19:55 +0000 [r225445] David Vossel * main/tcptls.c, channels/chan_sip.c, apps/app_externalivr.c, include/asterisk/tcptls.h: SIP TCP/TLS: move client connection setup/write into tcp helper thread, various related locking/memory fixes. What this patch fixes 1.Moves sip TCP/TLS connection setup into the TCP helper thread: Connection setup takes awhile and before this it was being done while holding the monitor lock. 2.Moves TCP/TLS writing to the TCP helper thread: Through the use of a packet queue and an alert pipe, the TCP helper thread can now be woken up to write data as well as read data. 3.Locking error: sip_xmit returned an XMIT_ERROR without giving up the tcptls_session lock. This lock has been completely removed from sip_xmit and placed in the new sip_tcptls_write() function. 4.Memory leak: When creating a tcptls_client the tls_cfg was alloced but never freed unless the tcptls_session failed to start. Now the session_args for a sip client are an ao2 object which frees the tls_cfg on destruction. 5.Pointer to stack variable: During sip_prepare_socket the creation of a client's ast_tcptls_session_args was done on the stack and stored as a pointer in the newly created tcptls_session. Depending on the events that followed, there was a slight possibility that pointer could have been accessed after the stack returned. Given the new changes, it is always accessed after the stack returns which is why I found it. Notable code changes 1.I broke tcptls.c's ast_tcptls_client_start() function into two functions. One for creating and allocating the new tcptls_session, and a separate one for starting and handling the new connection. This allowed me to create the tcptls_session, launch the helper thread, and then establish the connection within the helper thread. 2.Writes to a tcptls_session are now done within the helper thread. This is done by using an alert pipe to wake up the thread if new data needs to be sent. The thread's sip_threadinfo object contains the alert pipe as well as the packet queue. 3.Since the threadinfo object contains the alert pipe, it must now be accessed outside of the helper thread for every write (queuing of a packet). For easy lookup, I moved the threadinfo objects from a linked list to an ao2_container. (closes issue #13136) Reported by: pabelanger Tested by: dvossel, whys (closes issue #15894) Reported by: dvossel Tested by: dvossel Review: https://reviewboard.asterisk.org/r/380/ 2009-10-22 19:33 +0000 [r225440] Sean Bright * Makefile, utils/Makefile, utils/utils.xml (added), doc/janitor-projects.txt: Add the programs in utils/ to menuselect. Nothing in utils/ is now built by default except for astcanary. Review: https://reviewboard.asterisk.org/r/353/ 2009-10-22 19:10 +0000 [r225406] Tilghman Lesher * configs/voicemail.conf.sample, CHANGES, apps/app_voicemail.c: Permit storage of voicemail secrets in a separate file, located within the spool directory. (closes issue #14276) Reported by: klaus3000 Patches: app_voicemail.c-svn-trunk-r214898.txt uploaded by klaus3000 (license 65) Tested by: jamesgolovich 2009-10-22 18:41 +0000 [r225405] Kevin P. Fleming * main/astobj2.c: Fix a refcount error introduced by yesterday's OBJ_MULTIPLE commit. When an object is being unlinked from its container *and* being returned to the caller, we do not want to decrement the reference count after unlinking it from the container, as the reference that the container held is what we are returning to the caller... and if it was the only remaining reference to the object, that could result in the object being destroyed. 2009-10-22 17:11 +0000 [r225360] Tilghman Lesher * main/pbx.c, /, apps/app_meetme.c, include/asterisk/channel.h: Merged revisions 225105 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r225105 | tilghman | 2009-10-21 11:02:12 -0500 (Wed, 21 Oct 2009) | 4 lines Fix documentation for ast_softhangup() and correct the misuse thereof. (closes issue #16103) Reported by: majorbloodnok ........ 2009-10-22 16:33 +0000 [r225357] Richard Mudgett * main/channel.c, configure, include/asterisk/autoconfig.h.in, configure.ac, funcs/func_connectedline.c, include/asterisk/channel.h, CHANGES, channels/sig_pri.c, funcs/func_callerid.c: Add support for calling and called subaddress. Partial support for COLP subaddress. The Telecom Specs in NZ suggests that SUB ADDRESS is always on, so doing "desk to desk" between offices each with an asterisk box over the ISDN should then be possible, without a whole load of DDI numbers required. (closes issue #15604) Reported by: alecdavis Patches: asterisk_subaddr_trunk.diff11.txt uploaded by alecdavis (license 585) Some minor modificatons were made. Tested by: alecdavis, rmudgett Review: https://reviewboard.asterisk.org/r/405/ 2009-10-21 21:58 +0000 [r225307] David Vossel * /, channels/chan_iax2.c: Merged revisions 225243 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r225243 | dvossel | 2009-10-21 15:58:08 -0500 (Wed, 21 Oct 2009) | 13 lines IAX2: VNAK loop caused by signaling frames with no destination call number It is possible for the PBX thread to queue up signaling frames before a destination call number is received. This can result in signaling frames being sent out with no destination call number. Since recent versions of Asterisk require accurate destination callnumbers for all Full Frames, this can cause a VNAK loop to occur. To resolve this no signaling frames are sent until a destination callnumber is received, and destination call numbers are now only required for iax_pvt matching when the frame is an ACK. Review: https://reviewboard.asterisk.org/r/413/ ........ 2009-10-21 21:15 +0000 [r225244-225245] Kevin P. Fleming * doc/tex/manager.tex, channels/chan_sip.c: Add 'mohsuggest' configuration option to 'sip show peer' CLI command and SIPShowPeer AMI action. (closes issue #15990) Reported by: _brent_ Patches: sip_peer_info_mohsuggest-r3.patch uploaded by brent (license 388) Review: https://reviewboard.asterisk.org/r/381/ * main/channel.c, main/manager.c, apps/app_directed_pickup.c, apps/app_softhangup.c, funcs/func_channel.c, include/asterisk/astobj2.h, res/snmp/agent.c, include/asterisk/channel.h, include/asterisk/lock.h, apps/app_chanspy.c, main/astobj2.c, main/cli.c: Finish implementaton of astobj2 OBJ_MULTIPLE, and convert ast_channel_iterator to use it. This patch finishes the implementation of OBJ_MULTIPLE in astobj2 (the case where multiple results need to be returned; OBJ_NODATA mode already was supported). In addition, it converts ast_channel_iterators (only the targeted versions, not the ones that iterate over all channels) to use this method. During this work, I removed the 'ao2_flags' arguments to the ast_channel_iterator constructor functions; there were no uses of that argument yet, there is only one possible flag to pass, and it made the iterators less 'opaque'. If at some point in the future someone really needs an ast_channel_iterator that does not lock the container, we can provide constructor(s) for that purpose. Review: https://reviewboard.asterisk.org/r/379/ 2009-10-21 16:46 +0000 [r225170-225172] Russell Bryant * /, main/translate.c: Merged revisions 225171 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r225171 | russell | 2009-10-21 11:44:49 -0500 (Wed, 21 Oct 2009) | 2 lines Revert 225169, as this doesn't account for the possibility of a list of frames. ........ * /, main/translate.c: Merged revisions 225169 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r225169 | russell | 2009-10-21 11:39:20 -0500 (Wed, 21 Oct 2009) | 2 lines Isolate the frame returned from ast_translate(). ........ 2009-10-21 15:42 +0000 [r225102] Tilghman Lesher * apps/app_meetme.c: Apparently, I don't need to specify the ".so" suffix to get a match 2009-10-21 15:35 +0000 [r225089] Joshua Colp * channels/chan_sip.c, configs/sip.conf.sample, CHANGES: Add support for specifying the IP address to use for media streams in sip.conf This is the second commit for this and documents the text stream using the configured IP address and fixes a bug in the original patch where the UDPTL stream would also use the different IP address. (closes issue #14729) Reported by: _brent_ Patches: media_address.patch uploaded by brent (license 388) 2009-10-21 15:21 +0000 [r225048] Tilghman Lesher * apps/app_meetme.c, CHANGES: Turn on DENOISE filter for all conference participants. (Fixes SWP-238) 2009-10-21 15:04 +0000 [r225034] Joshua Colp * channels/chan_sip.c, configs/sip.conf.sample, CHANGES: Revert media_address commit, I'm going to roll a fix to the SDP generation in the next version. 2009-10-21 14:39 +0000 [r225033] David Vossel * configs/iax.conf.sample, /, channels/chan_sip.c, configs/sip.conf.sample, channels/chan_iax2.c: Merged revisions 225032 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r225032 | dvossel | 2009-10-21 09:37:04 -0500 (Wed, 21 Oct 2009) | 20 lines IAX/SIP shrinkcallerid option The shrinking of caller id removes '(', ' ', ')', non-trailing '.', and '-' from the string. This means values such as 555.5555 and test-test result in 555555 and testtest. There are instances, such as Skype integration, where a specific value is passed via caller id that must be preserved unmodified. This patch makes the shrinking of caller id optional in chan_sip and chan_iax in order to support such cases. By default this option is on to preserve previous expected behavior. (closes issue #15940) Reported by: dimas Patches: v2-15940.patch uploaded by dimas (license 88) 15940_shrinkcallerid_trunk.c uploaded by dvossel (license 671) Tested by: dvossel Review: https://reviewboard.asterisk.org/r/408/ ........ 2009-10-21 13:34 +0000 [r225003] Joshua Colp * channels/chan_sip.c, configs/sip.conf.sample, CHANGES: Add support for specifying the IP address to use for media streams in sip.conf (closes issue #14729) Reported by: _brent_ Patches: media_address.patch uploaded by brent (license 388) 2009-10-21 03:09 +0000 [r224932] Russell Bryant * main/frame.c, /, main/translate.c, include/asterisk/dsp.h, codecs/codec_dahdi.c, include/asterisk/frame.h, include/asterisk/translate.h, main/dsp.c: Merged revisions 224931 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r224931 | russell | 2009-10-20 21:59:54 -0500 (Tue, 20 Oct 2009) | 5 lines Isolate frames returned from a DSP instance or codec translator. The reasoning for these changes are the same as what I wrote in the commit message for rev 222878. ........ 2009-10-21 02:43 +0000 [r224930] Richard Mudgett * channels/sig_pri.c: Make PRI_SUBCMD_xxx handling subaddress friendly. 2009-10-20 22:09 +0000 [r224856] Tilghman Lesher * funcs/func_speex.c, /, main/audiohook.c: Merged revisions 224855 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r224855 | tilghman | 2009-10-20 17:07:11 -0500 (Tue, 20 Oct 2009) | 5 lines Pay attention to the return value of the manipulate function. While this looks like an optimization, it prevents a crash from occurring when used with certain audiohook callbacks (diagnosed with SVN trunk, backported to 1.4 to keep the source consistent across versions). ........ 2009-10-20 17:47 +0000 [r224774] Joshua Colp * /, main/features.c: Merged revisions 224773 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r224773 | file | 2009-10-20 14:46:37 -0300 (Tue, 20 Oct 2009) | 5 lines Add support for relaying early media in the features attended transfer option. (closes issue #14828) Reported by: licedey ........ 2009-10-20 12:44 +0000 [r224738] Matthew Nicholson * CHANGES: Added information to CHANGES about the dynamic range compression feature added to dahdi. 2009-10-19 23:47 +0000 [r224671] Kevin P. Fleming * res/res_rtp_asterisk.c, /: Merged revisions 224670 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r224670 | kpfleming | 2009-10-19 18:44:07 -0500 (Mon, 19 Oct 2009) | 7 lines Correct timestamp calculations when RTP sample rates over 8kHz are used. While testing some endpoints that support 16kHz and 32kHz sample rates, some log messages were generated due to calc_rxstamp() computing timestamps in a way that produced odd results, so this patch sanitizes the result of the computations. ........ 2009-10-19 22:02 +0000 [r224637] Matthew Nicholson * channels/chan_dahdi.c, configs/chan_dahdi.conf.sample: Add dynamic range compression support for analog channels. (closes issue AST-29) 2009-10-19 19:49 +0000 [r224567] Joshua Colp * apps/app_dial.c, /: Merged revisions 224565 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r224565 | file | 2009-10-19 16:47:50 -0300 (Mon, 19 Oct 2009) | 5 lines Do not attempt early media bridging (ie: direct RTP setup) if options are enabled that should prevent it. (closes issue #14763) Reported by: cupotka ........ 2009-10-19 19:40 +0000 [r224562] Kevin P. Fleming * formats/format_siren14.c: Remove useless debugging message. 2009-10-19 15:50 +0000 [r224527] Tilghman Lesher * doc/janitor-projects.txt: Remove a completed project and add another 2009-10-19 14:32 +0000 [r224491] Joshua Colp * channels/sig_pri.h, channels/sig_pri.c: Add a callback to sig_pri which is called when sig_pri is going to queue a control frame on a channel. 2009-10-19 00:05 +0000 [r224446-224448] Tilghman Lesher * apps/app_voicemail.c: Allow ODBC storage to be queried with multiple mailboxes, and remove multiple goto's. This corrects an issue reported on the -users list. * configs/res_odbc.conf.sample: Clarify that "forcecommit" is NOT an alias for "autocommit", but instead controls the default disposition of uncommitted transactions. 2009-10-17 16:39 +0000 [r224403] Tilghman Lesher * include/asterisk/app.h, main/app.c: Remove unnecessary typedef 2009-10-17 02:01 +0000 [r224331-224335] Jeff Peeler * channels/chan_dahdi.c: fix typo, sorry * channels/chan_dahdi.c, /, channels/sig_pri.c: Merged revisions 224330 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r224330 | jpeeler | 2009-10-16 20:32:47 -0500 (Fri, 16 Oct 2009) | 13 lines Fix stale caller id data from being reported in AMI NewChannel event The problem here is that chan_dahdi is designed in such a way to set certain values in the dahdi_pvt only once. One of those such values is the configured caller id data in chan_dahdi.conf. For PRI, the configured caller id data could be overwritten during a call. Instead of saving the data and restoring, it was decided that for all non-analog channels it was simply best to not set the configured caller id in the first place and also clear it at the end of the call. (closes issue #15883) Reported by: jsmith ........ 2009-10-16 20:40 +0000 [r224261] Richard Mudgett * /, channels/sig_pri.c: Merged revisions 224260 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r224260 | rmudgett | 2009-10-16 15:25:23 -0500 (Fri, 16 Oct 2009) | 18 lines Never released PRI channels when using Busy() or Congestion() dialplan apps. When the Busy() or Congestion() application is used towards ISDN (an ISDN progress is sent), the responding ISDN Disconnect or Release may contain the ISDN cause user busy or one of the congestion causes. In chan_dahdi.c these causes will only set the needbusy or needcongestion flags and not activate the softhangup procedure. Unfortunately only the latter can interrupt the endless wait loop of Busy()/Congestion(). Result: PRI channels staying in state busy for the rest of asterisk life or until the other end times out and forces the call to clear. (issue #14292) Reported by: tomaso Patches: disc_rel_userbusy.patch uploaded by tomaso (license 564) (This patch is unrelated to the issue.) ........ 2009-10-15 22:33 +0000 [r224225] Tilghman Lesher * include/asterisk/app.h, main/pbx.c, main/app.c: Create an API for adding an optional time unit onto the ends of time periods. Two examples of its use are included, and the usage could be expanded in some cases into certain configuration options where time periods are specified. 2009-10-15 15:57 +0000 [r224178] Jeff Peeler * apps/app_chanspy.c: Readd removed ability to allow listening to one side of the call in app_chanspy (Option o) (closes issue #15675) Reported by: john8675309 Patches: issue15675patchtrunk.txt uploaded by dbrooks (license 790) Tested by: jgutierrez on users list: http://lists.digium.com/pipermail/asterisk-users/2009-October/239155.html 2009-10-15 14:37 +0000 [r224144] Doug Bailey * configs/chan_dahdi.conf.sample: chan_dahdi.conf.sample changes for DTMF CID detect Explains new options for detecting DTMF CID on fxo lines (issue #9096) Reported by: fleed Patches: chan_dahid_sample_config.patch uploaded by sum (license 766) 2009-10-15 06:48 +0000 [r224074-224109] Terry Wilson * res/res_calendar_caldav.c: Properly handle PUT requests for CALENDAR_WRITE() * res/res_calendar.c: Add missing 'getnum' field 2009-10-14 17:48 +0000 [r224035] Jeff Peeler * configs/sip_notify.conf.sample, channels/chan_sip.c, CHANGES: Allow for adding message body to the SIP NOTIFY message Ability has been added to both manager command SIPnotify as well as console command sip notify. Message body is stored in the "Content" variable. An example is present in sip_notify.conf. (closes issue #13926) Reported by: jthurman Patches: sip-notify-svn189463.diff uploaded by gareth (license 208) Tested by: gareth 2009-10-13 22:14 +0000 [r223992] Terry Wilson * res/res_calendar.c: use Calendar: instead of Calendar/ for devstate 2009-10-13 17:11 +0000 [r223911-223912] Richard Mudgett * include/asterisk/pbx.h: Fix some doxygen format problems and trim trailing whitespace. * res/res_calendar.c: Fix compiler warning. 2009-10-13 01:58 +0000 [r223874-223875] Terry Wilson * apps/app_originate.c: Revert inadvertant code commit to app_originate * apps/app_originate.c, include/asterisk/calendar.h, res/res_calendar.c: Fix handling of notification calls w/ the dialing api 2009-10-12 23:48 +0000 [r223832] Jeff Peeler * apps/app_dial.c, /: Merged revisions 223804 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r223804 | jpeeler | 2009-10-12 18:12:50 -0500 (Mon, 12 Oct 2009) | 8 lines Ensure ringing continues for branched calls after progress is received While waiting for an answer, don't send progress for branched calls for which ringing was sent. (closes issue #15028) Reported by: fnordian ........ 2009-10-12 20:58 +0000 [r223756] David Vossel * configs/iax.conf.sample: Clarifies trunkmaxsize, trunkfreq, and trunkmtu iax2 options SWP-151 2009-10-12 15:32 +0000 [r223652-223693] Kevin P. Fleming * /: Recorded merge of revisions 223692 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r223692 | kpfleming | 2009-10-12 10:30:40 -0500 (Mon, 12 Oct 2009) | 13 lines Remove automatic switching from T.38 to voice mode in chan_sip. chan_sip has some code to automatically switch from T.38 mode to voice mode when a voice frame is written to the channel while it is in T.38 mode; this was intended to handle the situation when a FAX transmission has ended and the channel is not yet hung up, but is causing problems at the beginning of FAX sessions as well when there are still voice frames 'in flight' at the time the T.38 negotiation completes. This patch removes the automatic switchover. (issue #16025) Reported by: jamicque ........ * channels/chan_sip.c, apps/app_fax.c: Remove automatic switching from T.38 to voice mode in chan_sip. chan_sip has some code to automatically switch from T.38 mode to voice mode when a voice frame is written to the channel while it is in T.38 mode; this was intended to handle the situation when a FAX transmission has ended and the channel is not yet hung up, but is causing problems at the beginning of FAX sessions as well when there are still voice frames 'in flight' at the time the T.38 negotiation completes. This patch removes the automatic switchover, and changes app_fax to explicitly switch off T.38 mode when the FAX transmission process ends. (closes issue #16025) Reported by: jamicque 2009-10-11 22:19 +0000 [r223617] Mark Michelson * channels/chan_sip.c: Check the proper page for the SENDRPID flag. If a pending reinvite were sent, we might not properly send connected party info since we were checking the wrong flag. This was a rare occurrence, but could still happen nevertheless. 2009-10-11 18:35 +0000 [r223487-223553] Russell Bryant * /: Merged revisions 223550 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r223550 | russell | 2009-10-11 13:34:37 -0500 (Sun, 11 Oct 2009) | 2 lines Remove a duplicate ao2_iterator_destroy(). ........ * main/autoservice.c, /: Merged revisions 223485-223486 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r223485 | russell | 2009-10-11 12:22:52 -0500 (Sun, 11 Oct 2009) | 6 lines Don't use data outside of its scope. The purpose of this code was to have a hangup frame put on the list of deferred frames. However, the code that read the hangup frame was outside of the scope of where the hangup frame was declared. ........ r223486 | russell | 2009-10-11 12:25:06 -0500 (Sun, 11 Oct 2009) | 2 lines Remove some unnecessary code. ........ 2009-10-10 20:02 +0000 [r223449] Terry Wilson * res/res_calendar_icalendar.c, res/res_calendar_caldav.c: Fix handling of floating times and dates 2009-10-10 08:30 +0000 [r223413-223415] Olle Johansson * configs/cdr_pgsql.conf.sample: Adding note about TLS usage * configs/res_ldap.conf.sample: Add an additional note on TLS support * configs/res_ldap.conf.sample: Adding some information on TLS support 2009-10-09 22:04 +0000 [r223370] Terry Wilson * res/res_calendar_icalendar.c, res/res_calendar_caldav.c: Properly return "free" on confirmed events that are free CONFIRMED status doesn't imply busy or free, that is handled with the TRANSP field. Luckily, libical already sets the is_busy status on the span for us. 2009-10-09 20:58 +0000 [r223330] Kevin P. Fleming * apps/app_fax.c: Initiate T.38 switchover when acting as called party, regardless of FAX direction. SendFAX() and ReceiveFAX() can be given options to indicate whether they should act as the calling or called party; this mode should be used to decide whether to initiate a switchover to T.38, not the direction that the FAX transfer will take place. (closes issue #16039) Reported by: jamicque 2009-10-09 18:34 +0000 [r223273] Matthew Nicholson * main/channel.c, /: Merged revisions 223225 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r223225 | mnicholson | 2009-10-09 13:20:11 -0500 (Fri, 09 Oct 2009) | 8 lines Signal timeouts by returning AST_CONTROL_RINGING when originating calls. (closes issue #15104) Reported by: nblasgen Patches: manager-timeout1.diff uploaded by mnicholson (license 96) Tested by: nblasgen, mnicholson ........ 2009-10-09 18:17 +0000 [r223211-223215] Mark Michelson * /: Recorded merge of revisions 223213 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r223213 | mmichelson | 2009-10-09 13:17:12 -0500 (Fri, 09 Oct 2009) | 3 lines Fix potential memory leak in app_dial.c ........ * apps/app_dial.c: Fix potential memory leaks. ABE-1998 2009-10-09 17:53 +0000 [r223206] David Vossel * /, channels/chan_sip.c: Merged revisions 223205 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r223205 | dvossel | 2009-10-09 12:52:35 -0500 (Fri, 09 Oct 2009) | 10 lines fixes sip registration using authuser in user.conf (closes issue #14954) Reported by: tornblad Tested by: mmichelson, tornblad, dvossel ........ 2009-10-09 17:14 +0000 [r223136] Matthew Nicholson * cdr/cdr_sqlite3_custom.c: Don't close the sqlite database when reloading. Only close the database when unloading. (closes issue #15953) Reported by: frawd Patches: sqlite3_rev220097.diff uploaded by frawd (license 610) Tested by: frawd 2009-10-09 16:54 +0000 [r223088-223132] David Vossel * channels/chan_sip.c: 'auth=' did not parse md5 secret correctly (closes issue #15949) Reported by: ebroad Patches: authparsefix.patch uploaded by ebroad (license 878) 15949_trunk.diff uploaded by dvossel (license 671) Tested by: ebroad * channels/chan_sip.c: p->peerauth is always empty in transmit_register() When using callbackextension or specifing the peer name in a registration string, the peer's specific auth settings set by the "auth=" strings within the peer definition are not used by the registration. Thanks to ebroad for reporting the issue and providing the patch. (closes issue #15955) Reported by: ebroad Patches: regauthfix.patch uploaded by ebroad (license 878) 2009-10-09 15:00 +0000 [r223016-223053] Terry Wilson * res/res_calendar.c: Don't add Attendees during copy, replace them * res/res_calendar_exchange.c, res/res_calendar_icalendar.c, res/res_calendar_caldav.c, include/asterisk/calendar.h, res/res_calendar.c: Remove global variable that makes dlopen unhappy This isn't the best way to do this, but it is the easiest. There are some limitations that are going to need to be addressed at some point with reloads and when I (or someone else) work on that, then the API can be updated to handle passing the private config data that the calendar tech modules need in a better way as well. 2009-10-08 22:57 +0000 [r222947-223015] David Vossel * channels/chan_sip.c: fixed comment line for do_magic_pickup * channels/chan_sip.c: Deadlock between ast_cel_report_event and ast_do_masquerade chan_sip calls pbx_exec on a pvt's owner channel while only the pvt lock is held. Since pbx_exec calls ast_cel_report_event which attempts to lock the channel, invalid locking order occurs. Channels should be locked before pvt's. (closes issue #15512) Reported by: lmsteffan Patches: ast_cel_deadlock_15512.diff uploaded by dvossel (license 671) * channels/chan_sip.c: makes externtcpport and externtlsport static variables externtcpport and externtlsport need to be declared as static variables. Thanks to russell for finding and pointing this out. 2009-10-08 19:52 +0000 [r222880] Russell Bryant * include/asterisk/file.h, main/frame.c, /, main/file.c, include/asterisk/frame.h: Merged revisions 222878 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r222878 | russell | 2009-10-08 14:45:47 -0500 (Thu, 08 Oct 2009) | 44 lines Make filestream frame handling safer by isolating frames before returning them. This patch is related to a number of issues on the bug tracker that show crashes related to freeing frames that came from a filestream. A number of fixes have been made over time while trying to figure out these problems, but there re still people seeing the crash. (Note that some of these bug reports include information about other problems. I am specifically addressing the filestream frame crash here.) I'm still not clear on what the exact problem is. However, what is _very_ clear is that we have seen quite a few problems over time related to unexpected behavior when we try to use embedded frames as an optimization. In some cases, this optimization doesn't really provide much due to improvements made in other areas. In this case, the patch modifies filestream handling such that the embedded frame will not be returned. ast_frisolate() is used to ensure that we end up with a completely mallocd frame. In reality, though, we will not actually have to malloc every time. For filestreams, the frame will almost always be allocated and freed in the same thread. That means that the thread local frame cache will be used. So, going this route doesn't hurt. With this patch in place, some people have reported success in not seeing the crash anymore. (SWP-150) (AST-208) (ABE-1834) (issue #15609) Reported by: aragon Patches: filestream_frisolate-1.4.diff2.txt uploaded by russell (license 2) Tested by: aragon, russell (closes issue #15817) Reported by: zerohalo Tested by: zerohalo (closes issue #15845) Reported by: marhbere Review: https://reviewboard.asterisk.org/r/386/ ........ 2009-10-08 19:35 +0000 [r222873] David Vossel * include/asterisk/netsock.h, main/netsock.c: fixes an ast_netsock_list memory leak. ABE-1998 Review: https://reviewboard.asterisk.org/r/395/ 2009-10-08 16:44 +0000 [r222799] Richard Mudgett * /, channels/misdn_config.c: Merged revisions 222797 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r222797 | rmudgett | 2009-10-08 11:33:06 -0500 (Thu, 08 Oct 2009) | 12 lines Fix memory leak if chan_misdn config parameter is repeated. Memory leak when the same config option is set more than once in an misdn.conf section. Why must this be considered? Templates! Defining a template with default port options and later adding to or overriding some of them. Patches: memleak-misdn.patch JIRA ABE-1998 ........ 2009-10-07 22:58 +0000 [r222761] David Vossel * main/channel.c, main/pbx.c, channels/chan_misdn.c, channels/chan_sip.c, main/features.c, include/asterisk/channel.h: Deadlock in channel masquerade handling Channels are stored in an ao2_container. When accessing an item within an ao2_container the proper locking order is to first lock the container, and then the items within it. In ast_do_masquerade both the clone and original channel must be locked for the entire duration of the function. The problem with this is that it attemptes to unlink and link these channels back into the ao2_container when one of the channel's name changes. This is invalid locking order as the process of unlinking and linking will lock the ao2_container while the channels are locked!!! Now, both the channels in do_masquerade are unlinked from the ao2_container and then locked for the entire function. At the end of the function both channels are unlocked and linked back into the container with their new names as hash values. This new method of requiring all channels and tech pvts to be unlocked before ast_do_masquerade() or ast_change_name() required several changes throughout the code base. (closes issue #15911) Reported by: russell Patches: masq_deadlock_trunk.diff uploaded by dvossel (license 671) Tested by: dvossel, atis (closes issue #15618) Reported by: lmsteffan Patches: deadlock_local_attended_transfers_trunk.diff uploaded by dvossel (license 671) Tested by: lmsteffan, dvossel Review: https://reviewboard.asterisk.org/r/387/ 2009-10-07 21:56 +0000 [r222692] Richard Mudgett * channels/chan_misdn.c, /: Merged revisions 222691 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r222691 | rmudgett | 2009-10-07 16:51:24 -0500 (Wed, 07 Oct 2009) | 14 lines chan_misdn.c:process_ast_dsp() memory leak misdn.conf: astdtmf must be set to "yes". With "no", buffer loss does not occur. The translated frame "f2" when passing through ast_dsp_process() is not freed whenever it is not used further in process_ast_dsp(). Then in the end it is never ever freed. Patches: translate.patch JIRA ABE-1993 ........ 2009-10-07 20:08 +0000 [r222652] Jeff Peeler * channels/chan_dahdi.c: Change ringt (ring timeout) styles to be consistent across chan_dahdi. (closes issue #15684) Reported by: alecdavis Patches: chan_dahdi.bug15684.diff2.txt uploaded by alecdavis (license 585) Tested by: alecdavis 2009-10-07 18:57 +0000 [r222614-222615] Olle Johansson * res/res_config_ldap.c: Formatting, moving error messages to ERROR, removing references to unexisting debug output. No functionality changes. * cel/cel_pgsql.c, res/res_config_pgsql.c, cdr/cdr_pgsql.c: Use extref for doxygen references to external libraries (in this case PostgreSQL) 2009-10-07 18:04 +0000 [r222548] Jason Parker * configs/queues.conf.sample: Remove 'keepstats' queue option from sample config, as it's no longer used. https://reviewboard.asterisk.org/r/115/ (closes issue #15820) Reported by: kshumard 2009-10-07 17:44 +0000 [r222543] David Vossel * /, channels/chan_sip.c: Merged revisions 222542 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r222542 | dvossel | 2009-10-07 12:41:21 -0500 (Wed, 07 Oct 2009) | 8 lines crash on transfer handle_invite_replaces() attempts to uplock a pvt's owner channel without first verifing that it exists. (issue #16027) ........ 2009-10-06 23:56 +0000 [r222463] Jeff Peeler * channels/chan_dahdi.c, /: Merged revisions 222462 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r222462 | jpeeler | 2009-10-06 18:51:19 -0500 (Tue, 06 Oct 2009) | 8 lines Add missing unlock(s) in dahdi_read (two cases in trunk) (closes issue #15683) Reported by: alecdavis ........ 2009-10-06 22:49 +0000 [r222398-222399] David Vossel * CHANGES: Updates CHANGES to reflect the new externtcpport and externtlsport sip options * channels/chan_sip.c, configs/sip.conf.sample: contact header port ignored transport when using externip This patch adds support for TCP/TLS in the Contact header when using NAT, specifically externip or externhost. The original issue was that Asterisk sent 5060 as the port in the contact header whether TLS was used or not. Additionally, this patch adds 2 config options to sip.conf, specifically externtcpport and externtlsport. This allows a user to specify different external ports for TCP and TLS other than those used internally, this is especially useful in in a PAT/port redirection setup. Thanks to ebroad for reporting the issue and providing the patch! (closes issue #15880) Reported by: ebroad Patches: portmap.patch uploaded by ebroad (license 878) externtXXport_v2.patch uploaded by ebroad (license 878) Tested by: ebroad Review: https://reviewboard.asterisk.org/r/392/ 2009-10-06 20:35 +0000 [r222351] Jeff Peeler * channels/chan_dahdi.c: Fix 222298 (crash during destruction of second channel when variable set with setvar). I mistakenly reasoned that setvar would be used on all channels. Since it can be set per channel, give each dahdi channel a copy of the variable. (related to #15899) 2009-10-06 19:31 +0000 [r222309] Tilghman Lesher * res/res_config_pgsql.c, cdr/cdr_pgsql.c: Change schema query to involve the use of an optional schema parameter. This change is done in such a way as to allow the driver to continue to function with older databases which don't have these features. (closes issue #16000) Reported by: jamicque Patches: 20091002__issue16000.diff.txt uploaded by tilghman (license 14) 20091002__issue16000__1.6.1.diff.txt uploaded by tilghman (license 14) Tested by: jamicque 2009-10-06 19:24 +0000 [r222298] Jeff Peeler * channels/chan_dahdi.c: Fix crash during destruction of second channel when variable set with setvar. The setvar line in chan_dahdi.conf is shared among all the channels, so make sure to only free the resources only when the last channel is destroyed. (closes issue #15899) Reported by: tzafrir 2009-10-06 19:17 +0000 [r222273] Tilghman Lesher * res/ael/pval.c: When we call a gosub routine, the variables should be scoped to avoid contaminating the caller. This affected the ~~EXTEN~~ hack, where a subroutine might have changed the value before it was used in the caller. Patch by myself, tested by ebroad on #asterisk 2009-10-06 16:17 +0000 [r222237] Tzafrir Cohen * channels/chan_dahdi.c: Make sure digit events are not reported as "ERROR" dahdievent_to_analogevent used a simple switch statement to convert DAHDI event numbers to "ANALOG_*" event numbers. However "digit" events (DAHDI_EVENT_PULSEDIGIT, DAHDI_EVENT_DTMFDOWN, DAHDI_EVENT_DTMFUP) are accompannied by the digit in the low word of the event number. This fix makes dahdievent_to_analogevent() return the event number as-is for such an event. This is also required to fix #15924 (in addition to r222108). 2009-10-06 01:24 +0000 [r222110-222176] Kevin P. Fleming * /, channels/chan_sip.c, funcs/func_dialgroup.c, include/asterisk/astobj2.h, res/res_phoneprov.c, channels/chan_console.c, res/res_musiconhold.c, apps/app_queue.c, channels/chan_iax2.c, main/astobj2.c, res/res_odbc.c, res/res_calendar.c, res/res_clialiases.c: Recorded merge of revisions 222152 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r222152 | kpfleming | 2009-10-05 20:16:36 -0500 (Mon, 05 Oct 2009) | 20 lines Fix ao2_iterator API to hold references to containers being iterated. See Mantis issue for details of what prompted this change. Additional notes: This patch changes the ao2_iterator API in two ways: F_AO2I_DONTLOCK has become an enum instead of a macro, with a name that fits our naming policy; also, it is now necessary to call ao2_iterator_destroy() on any iterator that has been created. Currently this only releases the reference to the container being iterated, but in the future this could also release other resources used by the iterator, if the iterator implementation changes to use additional resources. (closes issue #15987) Reported by: kpfleming Review: https://reviewboard.asterisk.org/r/383/ ........ * main/udptl.c, channels/chan_sip.c, configs/udptl.conf.sample, UPGRADE.txt, configs/sip.conf.sample: Allow non-compliant T.38 endpoints to be supportable via configuration option. Many T.38 endpoints incorrectly send the maximum IFP frame size they can accept as the T38FaxMaxDatagram value in their SDP, when in fact this value is supposed to be the maximum UDPTL payload size (datagram size) they can accept. If the value they supply is small enough (a commonly supplied value is '72'), T.38 UDPTL transmissions will likely fail completely because the UDPTL packets will not have enough room for a primary IFP frame and the redundancy used for error correction. If this occurs, the Asterisk UDPTL stack will emit log messages warning that data loss may occur, and that the value may need to be overridden. This patch extends the 't38pt_udptl' configuration option in sip.conf to allow the administrator to override the value supplied by the remote endpoint and supply a value that allows T.38 FAX transmissions to be successful with that endpoint. In addition, in any SIP call where the override takes effect, a debug message will be printed to that effect. This patch also removes the T38FaxMaxDatagram configuration option from udptl.conf.sample, since it has not actually had any effect for a number of releases. In addition, this patch cleans up the T.38 documentation in sip.conf.sample (which incorrectly documented that T.38 support was passthrough only). (issue #15586) Reported by: globalnetinc 2009-10-05 19:20 +0000 [r222108] Jeff Peeler * channels/chan_dahdi.c, channels/sig_analog.c, channels/sig_analog.h: Add a few missing events to analog_handle_event. The reported bug was actually only for pulsedigit, dtmfup, and dtmfdown handling. Also added recognition for fax events (just some verbose output) and fixed handling for the ec_disabled_event. In order to make comparing the analog version of events to the DAHDI events easier, the ordering has been changed to follow that of the DAHDI events. (closes issue #15924) Reported by: tzafrir 2009-10-02 17:34 +0000 [r222030] David Vossel * /, channels/chan_iax2.c: Merged revisions 222026 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r222026 | dvossel | 2009-10-02 12:32:13 -0500 (Fri, 02 Oct 2009) | 3 lines Removes unnecessary unlock, clarifies a memcpy. ........ 2009-10-02 16:59 +0000 [r221920-221971] Tilghman Lesher * /, main/astobj2.c: Merged revisions 221970 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r221970 | tilghman | 2009-10-02 11:58:03 -0500 (Fri, 02 Oct 2009) | 2 lines Ensure the result of the hash function is positive. Negative array offsets suck. ........ * main/logger.c: Initialize a variable that we check immediately upon startup. (closes issue #15973) Reported by: atis 2009-10-02 01:49 +0000 [r221844-221881] Richard Mudgett * channels/misdn/isdn_lib.c: Whitespace change. * channels/misdn/isdn_lib.c: Whitespace change. * channels/misdn/isdn_lib_intern.h, /, channels/misdn/isdn_lib.c: Merged revisions 221769 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r221769 | rmudgett | 2009-10-01 18:18:28 -0500 (Thu, 01 Oct 2009) | 26 lines Occasionally losing use of B channels in chan_misdn. I have not been able to reproduce the problem of losing channels. However, I have seen in the code a reentrancy problem that might give these symptoms. The reentrancy patch does several things: 1) Guards B channel and B channel structure allocation. 2) Makes the B channel structure find routines more precise in locating records. 3) Never leave a B channel allocated if we received cause 44. The last item may cause temporary outgoing call problems, but they should clear when the line becomes idle. (closes issue #15490) Reported by: slutec18 Patches: issue15490_channel_alloc_reentrancy.patch uploaded by rmudgett (license 664) Tested by: rmudgett, slutec18 (closes issue #15458) Reported by: FabienToune Patches: issue15458_channel_alloc_reentrancy.patch uploaded by rmudgett (license 664) Tested by: FabienToune, rmudgett, slutec18 ........ 2009-10-02 00:08 +0000 [r221777-221781] Tilghman Lesher * main/say.c: One more off-by-one in trunk * main/rtp_engine.c, /, main/say.c, main/asterisk.c: Merged revisions 221776 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r221776 | tilghman | 2009-10-01 18:53:12 -0500 (Thu, 01 Oct 2009) | 2 lines Fix a bunch of off-by-one errors ........ 2009-10-01 20:18 +0000 [r221709] Richard Mudgett * UPGRADE.txt, CHANGES: Move DAHDI/ISDN channel naming note from CHANGES to UPGRADE.txt. 2009-10-01 20:09 +0000 [r221705] Tilghman Lesher * channels/chan_sip.c: Revision 220906 (a merge from 1.4) was not merged correctly, causing a problem with non-dynamic peers. 2009-10-01 19:48 +0000 [r221701] Richard Mudgett * channels/sig_pri.h, channels/chan_dahdi.c, CHANGES: Prevent deadlock if chan_dahdi attempts to change PRI channel names. The PRI channels can no longer change the channel name if a different B channel is selected during call negotiation. To prevent using the channel name to infer what B channel a call is using and to avoid name collisions, the channel name format is changed. The new channel naming for PRI channels is: DAHDI/ISDN-- 2009-10-01 19:33 +0000 [r221697] David Vossel * channels/chan_sip.c: outbound tls connections were not defaulting to port 5061 (closes issue #15854) Reported by: dvossel Patches: sip_port_config_trunk.diff uploaded by dvossel (license 671) Tested by: dvossel Review: https://reviewboard.asterisk.org/r/357/ 2009-10-01 16:27 +0000 [r221592-221627] Kevin P. Fleming * UPGRADE.txt: Sync up UPGRADE.txt with the 1.6.2 version. * main/udptl.c, configs/udptl.conf.sample: Remove ability to control T.38 FAX error correction from udptl.conf. chan_sip has had the ability to control T.38 FAX error correction mode on a per-peer (or global) basis for a couple of releases now, which is where it should have been all along. This patch removes the ability to configure it in udptl.conf, but issues a warning if the user tries to do, telling them to look at sip.conf.sample for how to configure it now. For any SIP peers that are T.38 enabled in sip.conf, there is already a default for FEC error correction even if the user does not specify any mode, so this change will not turn off error correction by default, it will have the same default value that has been in the udptl.conf sample file. 2009-10-01 15:26 +0000 [r221589] Matthew Nicholson * /, channels/chan_sip.c: Merged revisions 221588 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r221588 | mnicholson | 2009-10-01 10:24:00 -0500 (Thu, 01 Oct 2009) | 2 lines Use unsigned ints for portinuri flags. ........ 2009-10-01 07:00 +0000 [r221554] Olle Johansson * channels/chan_sip.c: Simplify code for porturi, use TRUE/FALSE constructs when it's just TRUE or FALSE. 2009-09-30 23:04 +0000 [r221484] Matthew Nicholson * channels/chan_sip.c: Cleaned up merge from r221432 2009-09-30 21:15 +0000 [r221436] Matthias Nick * apps/app_queue.c: Prevents from division by zero 2009-09-30 20:40 +0000 [r221432] Matthew Nicholson * /, channels/chan_sip.c, configs/sip.conf.sample: Merged revisions 221360 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r221360 | mnicholson | 2009-09-30 14:36:06 -0500 (Wed, 30 Sep 2009) | 10 lines Fix SRV lookup and Request-URI generation in chan_sip. This patch adds a new field "portinuri" to the sip dialog struct and the sip peer struct. That field is used during RURI generation to determine if the port should be included in the RURI. It is also used in some places to determine if an SRV lookup should occur. (closes issue #14418) Reported by: klaus3000 Tested by: klaus3000, mnicholson Review: https://reviewboard.asterisk.org/r/369/ ........ 2009-09-30 19:42 +0000 [r221368] Matthias Nick * configs/cdr_custom.conf.sample, /, funcs/func_strings.c: Merged revisions 221153,221157,221303 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r221153 | mnick | 2009-09-30 10:37:39 -0500 (Wed, 30 Sep 2009) | 2 lines check bounds - prevents for buffer overflow ........ r221157 | mnick | 2009-09-30 10:41:46 -0500 (Wed, 30 Sep 2009) | 8 lines added a new dialplan function 'CSV_QUOTE' and changed the cdr_custom.sample.conf (closes issue #15471) Reported by: dkerr Patches: csv_quote_14.txt uploaded by mnick (license ) Tested by: mnick ........ r221303 | mnick | 2009-09-30 14:02:00 -0500 (Wed, 30 Sep 2009) | 2 lines changed the prototype definition of csv_quote ........ 2009-09-30 18:47 +0000 [r221266-221300] Terry Wilson * res/res_rtp_asterisk.c: Remove spurious debug * res/res_rtp_asterisk.c, main/rtp_engine.c, channels/chan_sip.c, include/asterisk/rtp_engine.h: Use rtp properties instead of adding a callback Thanks, Josh. * res/res_rtp_asterisk.c, main/rtp_engine.c, /, channels/chan_sip.c, configs/sip.conf.sample, include/asterisk/rtp_engine.h: Merged revisions 221086 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r221086 | twilson | 2009-09-30 09:49:11 -0500 (Wed, 30 Sep 2009) | 25 lines Change the SSRC by default when our media stream changes Be default, change SSRC when doing an audio stream changes Asterisk doesn't honor marker bit when reinvited to already-bridged RTP streams,resulting in far-end stack discarding packets with "old" timestamps that areactually part of a new stream. This patch sends AST_CONTROL_SRCUPDATE whenever there is a reinvite, unless the 'constantssrc' is set to true in sip.conf. The original issue reported to Digium support detailed the following situation: ITSP <-> Asterisk 1.4.26.2 <-> SIP-based Application Server Call comes in fromITSP, Asterisk dials the app server which sends a re-invite back toAsterisk--not to negotiate to send media directly to the ITSP, but to indicatethat it's changing the stream it's sending to Asterisk. The app servergenerates a new SSRC, sequence numbers, timestamps, and sets the marker bit on the new stream. Asterisk passes through the teimstamp of the new stream, butdoes not reset the SSRC, sequence numbers, or set the marker bit. When the timestamp on the new stream is older than the timestamp on the originalstream, the ITSP (which doesn't know there has been any change) discards the newframes because it thinks they are too old. This patch addresses this by changing the SSRC on a stream update unless constantssrc=true is set in sip.conf. Review: https://reviewboard.asterisk.org/r/374/ ........ 2009-09-30 16:56 +0000 [r221201] Tilghman Lesher * main/channel.c, /: Merged revisions 221200 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r221200 | tilghman | 2009-09-30 11:55:21 -0500 (Wed, 30 Sep 2009) | 7 lines Avoid a potential NULL dereference. (closes issue #15865) Reported by: kobaz Patches: 20090915__issue15865.diff.txt uploaded by tilghman (license 14) Tested by: kobaz ........ 2009-09-30 15:11 +0000 [r221085-221090] Sean Bright * apps/app_voicemail.c: Modify VoiceMailMain()'s a() argument to allow mailboxes to be specified by name. (closes issue #14740) Reported by: pj Patches: issue14740_09022009.diff uploaded by seanbright (license 71) Tested by: seanbright, lmadsen * apps/app_voicemail.c: Clarify documentation for VoiceMailMain()'s a() option. We require box numbers, not names as the documentation implies. (issue #14740) Reported by: pj Patches: __20090729-app_voicemail-documentation.patch uploaded by lmadsen (license 10) Tested by: seanbright, lmadsen 2009-09-30 04:32 +0000 [r221044] Tilghman Lesher * funcs/func_lock.c: Allow locks to be inherited through a masquerade without causing starvation. (closes issue #14859) Reported by: atis Patches: 20090821__issue14859.diff.txt uploaded by tilghman (license 14) 20090925__issue14859__1.6.1.diff.txt uploaded by tilghman (license 14) Tested by: atis, tilghman 2009-09-29 21:28 +0000 [r220920-220995] Mark Michelson * main/cel.c: Fix channel reference leak. ast_cel_report_event would geet a reference to the bridged channel. However, certain return paths, such as if CEL was not enabled, would result in a reference leak. All return paths now properly unref the channel. (closes issue #15991) Reported by: mmichelson * main/rtp_engine.c: Get rid of annoying and cryptic debug messages. 2009-09-29 19:57 +0000 [r220906] Tilghman Lesher * /, channels/chan_sip.c: Merged revisions 220873 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r220873 | tilghman | 2009-09-29 12:59:26 -0500 (Tue, 29 Sep 2009) | 9 lines Reduce CPU usage related to building a peer merely for devicestates. This fixes a 100% CPU problem in the SIP driver, found by profiling the driver while the problem was occurring. (closes issue #14309) Reported by: pkempgen Patches: 20090924__issue14309.diff.txt uploaded by tilghman (license 14) Tested by: pkempgen, vrban ........ 2009-09-29 19:49 +0000 [r220904] Matthew Nicholson * apps/app_confbridge.c: Fix options 'm' and 's'. They were swapped in the code. Also document the fact that app_confbridge does not automatically answer the channel. (closes issue #15964) Reported by: shrift 2009-09-29 16:58 +0000 [r220833] Jeff Peeler * apps/app_voicemail.c: Make deletion of temporary greetings work properly with IMAP_STORAGE When imapgreetings was set to yes, the message was being deleted but wasn't actually being expunged. When imapgreetings was set to no, the file based message was not being deleted at all. All good now! (closes issue #14949) Reported by: noahisaac Patches: vm_tempgreeting_removal.patch uploaded by noahisaac (license 748), modified by me 2009-09-28 21:02 +0000 [r220792] Richard Mudgett * channels/chan_dahdi.c, channels/sig_pri.c: Miscellaneous minor changes. 2009-09-28 19:11 +0000 [r220721] Sean Bright * /, Makefile.rules: Merged revisions 220717 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r220717 | seanbright | 2009-09-28 15:09:25 -0400 (Mon, 28 Sep 2009) | 3 lines When selecting DONT_OPTIMIZE in menuselect, explicitly pass -O0 to the compiler so we override any default optimization levels for a particular install. ........ 2009-09-28 19:10 +0000 [r220718] Jeff Peeler * channels/chan_sip.c: Fix building of registration entry in build_peer when using callbackextension Check for remotesecret option was unintentionally always true, which therefore caused the secret option to never be used. Thanks to dvossel for pointing out the exact fix. (closes issue #15943) Reported by: tpsast 2009-09-28 15:27 +0000 [r220672] Richard Mudgett * channels/sig_pri.h, channels/sig_pri.c: Locking issues dealing with service_lock. * Removed unneeded and uninitialized service_lock. * Fixed potential locking imbalance in pri_dchannel():PRI_EVENT_RESTART. * Fixed verbose message typo in pri_dchannel():PRI_EVENT_RESTART. 2009-09-27 20:40 +0000 [r220629] Michiel van Baak * funcs/func_callerid.c: add name argument for the CALLERID dialplan function to the xml documentation. Pointed out to me on IRC by snuff-home. Thanks 2009-09-26 15:10 +0000 [r220586] Tilghman Lesher * include/asterisk/aes.h: Allow AES to compile, when OpenSSL is not present. 2009-09-25 19:56 +0000 [r220543] Richard Mudgett * channels/sig_pri.c: Reduce indentation in sig_pri_available(). 2009-09-25 14:50 +0000 [r220494-220496] Kevin P. Fleming * main/manager.c: Eliminate unnecessary include of version.h in manager.c. Including version.h here causes this file to get recompiled after every commit or update, which is not needed. * main/channel.c: Correct sense of logic test committed in revision 220494. * main/channel.c: Don't use hash-based lookups for ast_channel_get_by_name_prefix(). ast_channel_get_full() tries to use OBJ_POINTER to optimize name-based channel lookups, but this will not work properly when the channel's full name was not supplied; for name-prefix searches, there is no value in doing a hash-based lookup, and in fact doing so could result in many channels being skipped. 2009-09-25 10:54 +0000 [r220457] Philippe Sultan * channels/chan_jingle.c, configs/jabber.conf.sample, include/asterisk/jabber.h, channels/chan_gtalk.c, CHANGES, doc/jabber.txt, res/res_jabber.c: Add JABBER_RECEIVE as a dialplan function, implement SendText in Jingle channels JABBER_RECEIVE (along with JabberSend) makes Asterisk interact with users over XMPP to process calls. SendText can be used instead of JabberSend in the context of XMPP based voice channels (chan_gtalk and chan_jingle). (closes issue #12569) Reported by: eech55 Tested by: phsultan, asannucci, lmadsen, jtodd, maxgo Review: https://reviewboard.asterisk.org/r/88/ 2009-09-24 22:53 +0000 [r220417] Tilghman Lesher * UPGRADE.txt, main/asterisk.c: Change the default behavior of Set, AGI, and pbx_realtime to 1.6 behavior by default (starting in 1.6.3). 2009-09-24 20:37 +0000 [r220365] David Vossel * main/tcptls.c: fixes tcptls_session memory leak caused by ref count error (closes issue #15939) Reported by: dvossel Review: https://reviewboard.asterisk.org/r/375/ 2009-09-24 20:29 +0000 [r220344] Jeff Peeler * apps/app_dial.c, main/features.c, include/asterisk/features.h: Add bridge related dial flags to the bridge app Most of the functionality here is gained simply by setting the feature flag on the bridge config. However, the dial limit functionality has been moved from app_dial to the features code and has been made public so both app_dial and the bridge app can use it. (closes issue #13165) Reported by: tim_ringenbach Patches: app_bridge_options_r138998.diff uploaded by tim ringenbach (license 540), modified by me 2009-09-24 19:57 +0000 [r220295] Olle Johansson * configs/sip.conf.sample: Documentation in the commit messages is soon forgotten, please add it to the docs in the product. 2009-09-24 19:41 +0000 [r220289] Tilghman Lesher * main/pbx.c, /, apps/app_disa.c, apps/app_playback.c: Merged revisions 220288 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r220288 | tilghman | 2009-09-24 14:39:41 -0500 (Thu, 24 Sep 2009) | 6 lines Implicitly sending a progress signal breaks some applications. Call Progress() in your dialplan if you explicitly want progress to be sent. (Reverts change 216430, closes issue #15957) Reported by: Pavel Troller on the Asterisk-Dev mailing list http://lists.digium.com/pipermail/asterisk-dev/2009-September/039897.html ........ 2009-09-24 18:19 +0000 [r220217] Sean Bright * Makefile, /: Merged revisions 220213 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r220213 | seanbright | 2009-09-24 14:18:18 -0400 (Thu, 24 Sep 2009) | 1 line Resolve parallel build warnings. Reported by Klaus Darilion on the asterisk-dev mailing list. ........ 2009-09-24 16:33 +0000 [r220174] Matthew Nicholson * channels/chan_sip.c: Ensure the numeric portion of the P-Asserted-Identity header is properly escaped. 2009-09-24 14:44 +0000 [r220100] Sean Bright * Makefile, build_tools/mkpkgconfig, /: Merged revisions 220099 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r220099 | seanbright | 2009-09-24 10:41:57 -0400 (Thu, 24 Sep 2009) | 2 lines Remove the remaining bashisms in the Makefile/mkpkgconfig ........ 2009-09-24 08:36 +0000 [r220028] Michiel van Baak * build_tools/mkpkgconfig, /: Merged revisions 220027 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r220027 | mvanbaak | 2009-09-24 10:33:50 +0200 (Thu, 24 Sep 2009) | 7 lines mkpkgconfig does not need bash so make it use /bin/sh This fixes building on all systems that don't have bash at /bin/bash Reported by _ys on #asterisk-dev Tested by _ys on #asterisk-dev ........ 2009-09-24 07:39 +0000 [r219951-219987] Tilghman Lesher * apps/app_directory.c: Fix two possible crashes, one only in 1.6.1 and one in 1.6.1 forward. (closes issue #15739) Reported by: DLNoah, jeffg Patches: 20090914__issue15739.diff.txt uploaded by tilghman (license 14) 20090922__issue15739.diff.txt uploaded by tilghman (license 14) Tested by: DLNoah, jeffg * configs/mgcp.conf.sample, CHANGES, channels/chan_mgcp.c: Add support for 'setvar=' for MGCP device lines, like other channel drivers provide. (closes issue #14818) Reported by: alea-soluciones Patches: chan_mgcp-setvars-svn-trunk-r219899.patch uploaded by alea (license 514) * doc/lang/language-criteria.txt: Update fax number to the legal fax, not the generic fax. (closes issue #15946) Reported by: jtodd Patches: leif-is-a-wuss.txt uploaded by jtodd (license 870) Tested by: jparker, tilghman, jtodd, russellb, mmichelson, seanbright, kpfleming, and the rest of the usual suspects 2009-09-23 17:46 +0000 [r219895] Leif Madsen * include/asterisk/doxyref.h, include/asterisk/doxygen/mantisworkflow.h (added): Add Mantis work flow documention. This commit adds the doxygen changes that I've made to describe the Mantis work flow documentation for the open source issue tracker. This should make it easier to determine the flow of issues through the issue tracker, and what those statuses mean. (closes issue #15902) Reported by: lmadsen Patches: mantisworkflow.h uploaded by lmadsen (license 10) Review: https://reviewboard.asterisk.org/r/367/ 2009-09-22 21:43 +0000 [r219818] Tilghman Lesher * /, apps/app_voicemail.c: Merged revisions 219816 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r219816 | tilghman | 2009-09-22 16:37:03 -0500 (Tue, 22 Sep 2009) | 10 lines When IMAP variables were changed during a reload, Voicemail did not use the new values. This change introduces a configuration version variable, which ensures that connections with the old values are not reused but are allowed to expire normally. (closes issue #15934) Reported by: viniciusfontes Patches: 20090922__issue15934.diff.txt uploaded by tilghman (license 14) Tested by: viniciusfontes ........ 2009-09-21 16:59 +0000 [r219721] David Vossel * /, channels/chan_iax2.c: Merged revisions 219720 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r219720 | dvossel | 2009-09-21 11:55:53 -0500 (Mon, 21 Sep 2009) | 3 lines Reverting merge 219520. This change was not necessary. ........ 2009-09-20 17:55 +0000 [r219654] Tilghman Lesher * /, main/file.c: Merged revisions 219653 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r219653 | tilghman | 2009-09-20 12:52:05 -0500 (Sun, 20 Sep 2009) | 8 lines Really stop the stream, when ast_closestream() is called. (closes issue #15129) Reported by: bmh Patches: 20090918__issue15129.diff.txt uploaded by tilghman (license 14) Review: https://reviewboard.asterisk.org/r/372/ ........ 2009-09-19 02:59 +0000 [r219587] Russell Bryant * /, channels/chan_iax2.c: Merged revisions 219586 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r219586 | russell | 2009-09-18 21:51:13 -0500 (Fri, 18 Sep 2009) | 6 lines Make sure the iax_pvt exists before dereferencing it. This fixes the latest crash posted on issue 15609. (issue #15609) ........ 2009-09-18 23:20 +0000 [r219451-219520] David Vossel * /, channels/chan_iax2.c: Merged revisions 219519 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r219519 | dvossel | 2009-09-18 18:19:50 -0500 (Fri, 18 Sep 2009) | 9 lines iax2 frame double free The iax frame's retrans sched id was written over right before iax2_frame_free was called. In iax2_frame_free that retrans id is used to delete the sched item. By writing over the retrans field before the sched item could be deleted, it was possible for a retransmit to occur on a freed frame. ........ * /, channels/chan_sip.c: Merged revisions 219450 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r219450 | dvossel | 2009-09-18 11:19:15 -0500 (Fri, 18 Sep 2009) | 14 lines via-header branches not updated correctly on INVITE INVITE requests must always contain a new unique branch id. When a new branch id is created for an INVITE, the dialog's invite_branch variable must be updated so CANCEL requests use the correct branch id. (closes issue #15262) Reported by: maniax Patches: asterisk-1.6.1.0-sip-branch.patch uploaded by tweety (license 608) invite_new_branch_trunk.diff uploaded by dvossel (license 671) Tested by: maniax, dvossel ........ 2009-09-18 13:54 +0000 [r219412] Tilghman Lesher * apps/app_voicemail.c: Missing value setting line for maxsecs/maxmessage (closes issue #15696) Reported by: fhackenberger Patches: maxsecs.patch uploaded by fhackenberger (license 592) 2009-09-17 22:37 +0000 [r219371] David Vossel * channels/chan_sip.c: fixes deadlock when performing directed pickup w Invite/replaces (closes issue #15340) Reported by: lmsteffan Patches: deadlock.patch uploaded by lmsteffan (license 779) Tested by: lmsteffan 2009-09-17 22:22 +0000 [r219324] Mark Michelson * /, channels/chan_sip.c: Merged revisions 219320 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r219320 | mmichelson | 2009-09-17 17:20:50 -0500 (Thu, 17 Sep 2009) | 6 lines Send a 100 Trying response when we detect a spiral. This was problematic during spiral tests at SIPit... along with some other things as well. ........ 2009-09-17 21:59 +0000 [r219304] David Vossel * /, channels/chan_sip.c: Merged revisions 219303 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r219303 | dvossel | 2009-09-17 16:29:37 -0500 (Thu, 17 Sep 2009) | 21 lines INVITE w/Replaces deadlock fix This patch cleans up the locking logic in chan_sip.c's handle_invite_replaces() function as well as making use of ast_do_masquerade() rather than forcing the masquerade on an ast_read(). The code had several redundant unlocks that would result in 'freed more times than we've locked!' errors. I cleaned these up as well as moving all the unlock logic to the end of the function. This patch should also resolve the issue people were having with the replacecall channel never being unlocked with one legged calls. (closes issue #15151) Reported by: irroot Patches: invite_w_replaces_1.4.diff uploaded by dvossel (license 671) Tested by: irroot, dvossel Review: https://reviewboard.asterisk.org/r/371/ ........ 2009-09-17 19:57 +0000 [r219264] Joshua Colp * channels/chan_sip.c: Ensure no spaces exist before "refresher=" when doing the comparison. 2009-09-17 16:25 +0000 [r219230] Sean Bright * apps/app_chanspy.c: Get this compiling under dev-mode. 2009-09-17 15:18 +0000 [r219139] Matthew Nicholson * main/channel.c, /, include/asterisk/cdr.h: Merged revisions 219136 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r219136 | mnicholson | 2009-09-17 09:58:39 -0500 (Thu, 17 Sep 2009) | 10 lines Prevent a potential race condition and crash when hanging up a channel by removing the channel from the channel list before begining channel tear down. This fix may potentially cause problems with CDR backends that access the channel a CDR is associated with via the channel list. This fix makes the channel unavabile at the time when the CDR backend is invoked. This has been documented in include/asterisk/cdr.h. (closes issue #15316) Reported by: vmarrone Tested by: mnicholson Review: https://reviewboard.asterisk.org/r/362/ ........ 2009-09-17 00:58 +0000 [r219007-219105] Tilghman Lesher * CHANGES, apps/app_chanspy.c: Add the 'E' option to exit ChanSpy, once the single channel it spied upon hangs up. In addition, there's a bit of cleanup to the arguments and documentation, in which I discovered that the last feature added to this application duplicated an option (oops!) and changed that option so that it now works. (closes issue #14909) Reported by: junky Patches: __20090901-spy_hangup_trunk.diff uploaded by lmadsen (license 10) Tested by: amilcar, junky, flujan, lmadsen * /, main/config.c, configs/extensions.conf.sample: Merged revisions 219023 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r219023 | tilghman | 2009-09-16 18:21:53 -0500 (Wed, 16 Sep 2009) | 8 lines Properly deal with quotes in the arguments of '#exec' includes. (closes issue #15583) Reported by: pkempgen Patches: 20090726__issue15583.diff.txt uploaded by tilghman (license 14) 20090726__issue15583-1.4-4.diff.txt uploaded by pkempgen (license 169) Tested by: pkempgen ........ * configure, include/asterisk/autoconfig.h.in, configure.ac: Detect whether we actually have the long double type, before looking for those functions. (closes issue #15017) Reported by: tzafrir Patches: 20090916__issue15017.diff.txt uploaded by tilghman (license 14) Tested by: tzafrir 2009-09-16 20:32 +0000 [r218973] Sean Bright * res/res_jabber.c: Remove some unused defines from res_jabber. (closes issue #15359) Reported by: snuffy Patches: bug_res_jabber_unused_defines.diff uploaded by snuffy (license 35) 2009-09-16 19:25 +0000 [r218933] Mark Michelson * channels/chan_sip.c: Reverse order of args to fread. This way, we don't always write a null byte into byte 1 of the buffer (closes issue #15905) Reported by: ebroad Patches: freadfix.patch uploaded by ebroad (license 878) Tested by: ebroad 2009-09-16 18:31 +0000 [r218918] Joshua Colp * channels/chan_sip.c: On TCP and TLS connections do not attempt to stop retransmission of the packet internally. This was preventing responses from being properly processed because the packet was not being found causing handle_response to return prematurely. 2009-09-16 18:06 +0000 [r218868] David Brooks * main/pbx.c, /: Merged revisions 218867 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r218867 | dbrooks | 2009-09-16 13:00:45 -0500 (Wed, 16 Sep 2009) | 13 lines Fixes CID pattern matching behavior to mirror that of extension pattern matching. Pattern matching for extensions uses a type of scoring system, giving values for specificity to each character in the pattern. Unfortunately, this is done character by character, in order. This does lead to some less specific patterns being first in line for matching, but it will usually get the job done. This patch merely brings CID matching to the same level as extension matching. This patch does not attempt to tackle the problem shared by extension matching. (closes issue #14708) Reported by: klaus3000 ........ 2009-09-16 13:34 +0000 [r218799] Russell Bryant * contrib/firmware/iax/iaxy.bin (removed), /, UPGRADE.txt: Merged revisions 218798 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r218798 | russell | 2009-09-16 08:33:43 -0500 (Wed, 16 Sep 2009) | 9 lines Remove the IAXy firmware from Asterisk. The firmware can now be found on downloads.digium.com, where the rest of our binary downloads live. This was the last part of our Asterisk tarballs that was considered non-free by Debian. :-) (closes issue #15838) Reported by: paravoid ........ 2009-09-15 22:33 +0000 [r218731] Tilghman Lesher * /, apps/app_voicemail.c: Merged revisions 218730 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r218730 | tilghman | 2009-09-15 17:27:41 -0500 (Tue, 15 Sep 2009) | 6 lines If the user enters the same password as before, don't signal an error when the change does nothing. (closes issue #15492) Reported by: cbbs70a Patches: 20090713__issue15492.diff.txt uploaded by tilghman (license 14) ........ 2009-09-15 19:22 +0000 [r218687] David Vossel * channels/chan_sip.c: upward bound checking for port string to int conversion 2009-09-15 16:15 +0000 [r218586] Matthew Nicholson * /, channels/chan_sip.c: Merged revisions 218578 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r218578 | mnicholson | 2009-09-15 11:03:54 -0500 (Tue, 15 Sep 2009) | 8 lines Send request contact header field with response to registrer queries instead of the address of record. (closes issue #14438) Reported by: ravindrad Patches: regquerypatch uploaded by ravindrad (license 684) Tested by: ravindrad ........ 2009-09-15 16:12 +0000 [r218583] Jeff Peeler * channels/chan_dahdi.c: Add some changes related to 218430. * Remove thread_spawned in handle_init_event since it was never used * Always check handle_init_event in case a channel is destroyed 2009-09-15 16:04 +0000 [r218579] Tilghman Lesher * /, apps/app_followme.c: Merged revisions 218577 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r218577 | tilghman | 2009-09-15 11:01:17 -0500 (Tue, 15 Sep 2009) | 9 lines Ensure FollowMe sets language in channels it creates. Also, not in the original bug report, but related fields are accountcode and musicclass, and the inheritance of datastores. (closes issue #15372) Reported by: Romik Patches: 20090828__issue15372.diff.txt uploaded by tilghman (license 14) Tested by: cervajs ........ 2009-09-15 15:40 +0000 [r218504-218566] Mark Michelson * channels/chan_sip.c: Use a better method of ensuring null-termination of the buffer while reading the SDP when using TCP. * channels/chan_sip.c: Ensure that SDP read from TCP socket is null-terminated. 2009-09-15 15:02 +0000 [r218500] Kevin P. Fleming * /: Merged revisions 218497 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r218497 | kpfleming | 2009-09-15 10:55:58 -0400 (Tue, 15 Sep 2009) | 1 line Use proper hostname for downloading sound files. ........ 2009-09-15 14:59 +0000 [r218499] Mark Michelson * channels/chan_sip.c: Fix off-by-one error when reading SDP sent over TCP. 2009-09-15 10:24 +0000 [r218465] Tzafrir Cohen * channels/chan_dahdi.c: Fix false error message on DAHDI_EVENT_REMOVED (RESULT_SUCCESS == 0) 2009-09-14 22:38 +0000 [r218430] Jeff Peeler * channels/chan_dahdi.c, channels/sig_analog.c, /, channels/sig_analog.h: Merged revisions 218401 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r218401 | jpeeler | 2009-09-14 16:47:11 -0500 (Mon, 14 Sep 2009) | 11 lines Fix handling of DAHDI_EVENT_REMOVED event to prevent crash in do_monitor. After talking to rmudgett about some of his recent iflist locking changes, it was determined that the only place that would destroy a channel without being explicitly to do so was in handle_init_event. The loop to walk the interface list has been modified to wait to destroy the channel until the dahdi_pvt of the channel to be destroyed is no longer needed. (closes issue #15378) Reported by: samy ........ 2009-09-14 20:08 +0000 [r218365] Richard Mudgett * channels/chan_dahdi.c: Add support for multiple interface lists. Also unlink the sig_pri_pri.pvts[] pointer in destroy_dahdi_pvt(). 2009-09-14 19:29 +0000 [r218361] Tilghman Lesher * /, configs/voicemail.conf.sample, sounds/Makefile, apps/app_voicemail.c: Recorded merge of revisions 218331 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r218331 | tilghman | 2009-09-14 14:16:35 -0500 (Mon, 14 Sep 2009) | 4 lines Don't say "Please try again" if we don't give the user another chance to try again. (issue #15055, SWP-129) Reported by: jthurman ........ 2009-09-14 18:16 +0000 [r218295] Joshua Colp * main/features.c: Do not attempt to add a parking extension if an error occurred while reading the configuration. 2009-09-14 14:57 +0000 [r218224] Matthew Nicholson * /, apps/app_directed_pickup.c: Merged revisions 218223 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r218223 | mnicholson | 2009-09-14 09:53:57 -0500 (Mon, 14 Sep 2009) | 8 lines Ensure we don't pickup ourselves when doing pickup by exten. (closes issue #15100) Reported by: lmsteffan Patches: (modified) pickup.patch uploaded by lmsteffan (license 779) ........ 2009-09-13 17:34 +0000 [r218184] Tzafrir Cohen * channels/chan_phone.c: gcc 4.4: Remove a nop memset size 0 that annoys gcc This memset doesn't write beyond the end of the buffer. (tmpbuf has size of 4). 2009-09-13 05:51 +0000 [r218150] Moises Silva * channels/chan_dahdi.c: get rid of mfcr2 monitor thread condition, is problematic 2009-09-12 13:08 +0000 [r218107] Michiel van Baak * res/res_rtp_asterisk.c: use the actual given ip address for 'rtp set debug ip ' instead of the word 'ip' (closes issue #15711) Reported by: davidw Patches: 2009082800-rtpdebug.diff.txt uploaded by mvanbaak (license 7) Tested by: davidw 2009-09-11 05:58 +0000 [r217990-218050] Tilghman Lesher * main/pbx.c: Check the origination priority for more matches, not the current priority. Found by Pavel Troller on the -dev list. * /, apps/app_queue.c: Merged revisions 217989 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r217989 | tilghman | 2009-09-10 18:52:22 -0500 (Thu, 10 Sep 2009) | 3 lines Don't ring another channel, if there's not enough time for a queue member to answer. (Fixes AST-228) ........ 2009-09-10 23:49 +0000 [r217954-217987] Jeff Peeler * channels/sig_pri.h, channels/chan_dahdi.c, channels/sig_pri.c: Cleanup approach in 217804 and don't reach inside the sig_pvt. * channels/chan_dahdi.c, channels/sig_analog.c, channels/sig_analog.h: Allow do not disturb to be set on analog channels via the CLI and AMI. 2009-09-10 23:12 +0000 [r217916] Tilghman Lesher * contrib/scripts/iax-friends.sql, channels/chan_sip.c, channels/chan_iax2.c: Make calltoken support work with realtime users and peers. In the course of this, I also found that the results of ast_gethostbyname were being used incorrectly in both chan_iax2 and chan_sip, so both have been fixed. 2009-09-10 22:31 +0000 [r217873-217912] Richard Mudgett * channels/chan_dahdi.c: Cleaned up chan_dahdi iflist handling and locking. * Fixed walking the iflist so it is always done with the iflock locked. * Simplified iflist walking routines. * Created chan_dahdi iflist insertion and extraction routines. * Fixed duplicate_pseudo() malloc fail handling. * Fixed infinite loop in action_dahdishowchannels() when showing a single channel. * channels/chan_dahdi.c: Miscellaneous minor changes. 2009-09-10 21:07 +0000 [r217807] David Vossel * /, channels/chan_iax2.c: Merged revisions 217806 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r217806 | dvossel | 2009-09-10 16:06:07 -0500 (Thu, 10 Sep 2009) | 22 lines IAX2 encryption regression The IAX2 Call Token security patch inadvertently broke the use of encryption due to the reorganization of code in the socket_process() function. When encryption is used, an incoming full frame must first be decrypted before the information elements can be parsed. The security release mistakenly moved IE parsing before decryption in order to process the new Call Token IE. To resolve this, decryption of full frames is once again done before looking into the frame. This involves searching for an existing callno, checking the pvt to see if encryption is turned on, and decrypting the packet before the internal fields of the full frame are accessed. (closes issue #15834) Reported by: karesmakro Patches: iax2_encryption_fix_1.4.diff uploaded by dvossel (license 671) Tested by: dvossel, karesmakro Review: https://reviewboard.asterisk.org/r/355/ ........ 2009-09-10 20:52 +0000 [r217744-217804] Jeff Peeler * channels/chan_dahdi.c: Fix crash during attended transfer over PRI. The owner pointers in the sig_pri_chan structure were not getting updated in dahdi_fixup. * channels/chan_dahdi.c, channels/sig_analog.c, channels/sig_analog.h: Stop caller id transmission when offhook event detected. This fixes the problem that would occur if an analog phone was picked up while the caller id was being sent. The caller id before sent the whole spill even after pickup and is now corrected. 2009-09-10 19:39 +0000 [r217730] Matthias Nick * res/res_musiconhold.c: Sets the correct musicclass after an announcement (closes issue #15279) Reported by: mbeckwell Patches: patch.txt uploaded by mnick (license ) Tested by: mnick (closes issue #15832) Reported by: mbeckwell Patches: patch.txt uploaded by mnick (license 874) Tested by: mnick 2009-09-10 18:29 +0000 [r217663] Olle Johansson * channels/chan_sip.c: Don't assign UINT_MAX to an INT. 2009-09-10 18:17 +0000 [r217638] Tilghman Lesher * res/res_config_odbc.c, configure, include/asterisk/autoconfig.h.in, configure.ac: Verify support for wide ODBC character types before using them. (closes issue #15870) Reported by: nic_bellamy 2009-09-10 12:06 +0000 [r217593] Olle Johansson * channels/chan_sip.c: Include ActionID in all events that are responsed to AMI Action SIPShowRegistry (closes issue #15868) Reported by: nic_bellamy Patches: manager_SIPshowregistry_actionid.patch uploaded by nic bellamy (license 299) 2009-09-10 00:35 +0000 [r217560] Richard Mudgett * channels/chan_dahdi.c: Fix available() for SS7, MFC/R2, and pseudo channels. 2009-09-09 21:48 +0000 [r217524] Moises Silva * channels/chan_dahdi.c: ast_log replaced for ast_verbose in MFCR2 event notifications 2009-09-09 20:09 +0000 [r217482] Olle Johansson * channels/chan_sip.c: Don't report transfer success until we actually know. 1xx messages are not final. Related to #12713 Patch by oej A big thank you to file for finally fixing the transfer() dialplan application. I've been waiting for years for this. Great work! 2009-09-09 18:52 +0000 [r217445] Tzafrir Cohen * res/res_phoneprov.c: gcc 4.4 fix: union instead of cast gcc 4.4 has more strict rules for aliasing. It doesn't like a struct sockaddr_in pointer pointing to a struct sockaddr. So we make it a union. 2009-09-09 12:11 +0000 [r217408] Sean Bright * main/manager.c: Properly terminate the response to the manager Ping action. In passing, correct the formatting of the Timestamp attribute so that there is a space after the colon and before the value. (closes issue #15861) Reported by: Ivan 2009-09-09 10:39 +0000 [r217367-217368] Olle Johansson * channels/chan_sip.c: Not having any TLS session to write to is a serious XMIT_ERROR. * channels/chan_sip.c: Formatting and doxygen updates 2009-09-08 23:37 +0000 [r217331-217332] Richard Mudgett * channels/sig_pri.h, channels/chan_dahdi.c, channels/sig_analog.c, channels/sig_analog.h, channels/sig_pri.c: Fix memory leak of sig_xxx private structures. * channels/chan_dahdi.c: Miscellaneous minor code cleanup in mkintf(). 2009-09-08 22:17 +0000 [r217286] Sean Bright * apps/app_meetme.c: Fix compilation of app_meetme. Reported by ebroad in #asterisk-bugs 2009-09-08 21:17 +0000 [r217236] Richard Mudgett * channels/sig_pri.c: Remove duplicate entry in the sig_pri_pri private pointer array. 2009-09-08 20:28 +0000 [r217199] Tilghman Lesher * /, apps/app_meetme.c: Merged revisions 217156 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r217156 | tilghman | 2009-09-08 15:01:45 -0500 (Tue, 08 Sep 2009) | 7 lines When MOH is playing on the channel, announcements sent through the conference are not heard. (closes issue #14588) Reported by: voipas Patches: 20090716__issue14588__2.diff.txt uploaded by tilghman (license 14) Tested by: lmadsen, twisted, tilghman ........ 2009-09-08 20:06 +0000 [r217158] Mark Michelson * include/asterisk/event.h: Add doxygen to ast_event_subscribe for the description. Most importantly, note that a NULL description will cause a crash, as I just experienced that firsthand. 2009-09-08 18:06 +0000 [r217113] Russell Bryant * addons/format_mp3.c: Fix audio problems with format_mp3. This problem was introduced when the AST_FRIENDLY_OFFSET patch was merged. I'm surprised that nobody noticed any trouble when testing that patch, but this fixes the code that fills in the buffer to start filling in after the offset portion of the buffer. (closes issue #15850) Reported by: 99gixxer Patches: issue15850.diff1.txt uploaded by russell (license 2) Tested by: 99gixxer 2009-09-08 16:37 +0000 [r217074] Kevin P. Fleming * configure, include/asterisk/autoconfig.h.in, configure.ac: Ensure that the default autoconf CFLAGS are not used. A recent change to the configure script that allows the user to specify CFLAGS and/or LDFLAGS to the script had the unfortunate side effect of letting autoconf's default CFLAGS (-g -O2) feed in to the rest of the build system, thereby overriding the DONT_OPTIMIZE setting in menuselect. That problem is now corrected. 2009-09-08 15:30 +0000 [r217033] Tilghman Lesher * res/res_limit.c: Remove what appears to be an unnecessary define. (closes issue #15851) Reported by: tzafrir 2009-09-08 15:23 +0000 [r217015] Tzafrir Cohen * contrib/scripts/live_ast: live_ast: Fix asterisk.conf instead of regenerating it * Don't write asterisk.conf from scratch. Fix the existing one. * Pass extra 'make' command-line arguments to 'install' and 'samples'. * Fix some extra typos. closes issue #15019 . 2009-09-08 14:26 +0000 [r216993] David Vossel * channels/chan_sip.c: caller id number empty parse_uri was not being given the correct scheme's, as a result, uri parsing did not parse the username correctly. One of the side effects of this is an empty caller id. (closes issue #15839) Reported by: ebroad Patches: blank_cidv2.patch uploaded by ebroad (license 878) parse_uri_fix.diff uploaded by dvossel (license 671) Tested by: ebroad, dvossel 2009-09-07 20:23 +0000 [r216883-216956] Olle Johansson * doc/manager_1_1.txt: Fixing formatting * doc/manager_1_1.txt: Add new actions under "new actions" and not in the top of the document * channels/chan_sip.c: Moving another function declared in the middle of forward declarations. Please follow the structure of the source code, thanks. Chan_sip is messy enough as it is :-) * channels/chan_sip.c: Move "deprecated_username" to a flag like the others - unsigned int blah:1 * channels/chan_sip.c: - Doxygen additions - Remove unused string in sip_registry -- "random" - Someone added a function in the middle of all forward declarations... Weird. Moved it out of that section. * channels/chan_sip.c: Clean up the "offered_media" code - Add variable for number of known media streams instead of hardcoding in definition of sip_pvt - Rename "text" to "codecs" - beacuse it's what it is - Add documentation for future developers so that we make sure that we define new sdp media types for SRTP-variants 2009-09-07 17:15 +0000 [r216846] Tilghman Lesher * configs/func_odbc.conf.sample, funcs/func_odbc.c, CHANGES: Allow multiple rows to be fetched within the normal mode of operation. 2009-09-07 16:35 +0000 [r216652-216842] Olle Johansson * channels/chan_sip.c: Make sure we reset global_exclude_static at channel reload * channels/chan_sip.c: Move capability into sip_cfg. While at it, make sure we reset it at channel reload. * channels/chan_sip.c: Move global_regcontext into the sip_cfg structure * channels/chan_sip.c: Move contact_ha to sip_cfg structure * channels/chan_sip.c: Doxygen updates * channels/chan_sip.c: Since it's possible to have more than 999 calls, I'm changing the call counter roof to something higher. * channels/chan_sip.c: add doxygen and remove duplicate declaration of variable * channels/chan_sip.c: After many years, remove VOCAL_DATA_HACK definition * channels/chan_sip.c: Remove unneeded header files (tested on Linux and OS/X) * channels/chan_sip.c: Don't send MESSAGE with sendtext() if recepient doesn't allow MESSAGE requests * channels/chan_sip.c: Add some doxygen * channels/chan_sip.c: Fix typo * channels/chan_sip.c: If there is no session timer in the INVITE, set it to default value (not unset minimum = -1) Patch by oej closes issue #15621 Reported by: fnordian Tested by: atis * configs/sip.conf.sample: Update sip.conf.sample documentation, reorganize a bit * channels/chan_sip.c: Simplify the code in this function 2009-09-04 19:32 +0000 [r216594] David Vossel * channels/chan_sip.c: sip peer matching by address only with TCP/TLS This patch removes the contact header matching logic and adds logic to match all tcp/tls connections by ip only. Thanks to oej for finding the issue and suggesting solutions. Review: https://reviewboard.asterisk.org/r/354/ 2009-09-04 19:29 +0000 [r216593] Sean Bright * apps/app_voicemail.c: Use ast_free() instead of free(). 2009-09-04 17:50 +0000 [r216547-216551] Tilghman Lesher * include/asterisk/lock.h: Fix trunk breakage. * main/pbx.c, UPGRADE-1.6.txt: Enable turning off the application delimiter warning with the 'dontwarn' option. Suggested on the -dev list, and implemented in an alternate way by me. 2009-09-04 15:05 +0000 [r216506] Michiel van Baak * /, main/utils.c: Merged revisions 216435 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r216435 | mvanbaak | 2009-09-04 15:56:10 +0200 (Fri, 04 Sep 2009) | 2 lines make asterisk compile under devmode with DEBUG_THREADS enabled on OpenBSD ........ 2009-09-04 14:02 +0000 [r216438] Olle Johansson * main/pbx.c, /, channels/chan_sip.c, apps/app_disa.c, configs/sip.conf.sample, apps/app_playback.c: Merged revisions 216430 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r216430 | oej | 2009-09-04 15:45:48 +0200 (Fre, 04 Sep 2009) | 27 lines Make apps send PROGRESS control frame for early media and fix too early media issue in SIP The issue at hand is that some legacy (dying) PBX systems send empty media frames on PRI links *before* any call progress. The SIP channel receives these frames and by default signals 183 Session progress and starts sending media. This will cause phones to play silence and ignore the later 180 ringing message. A bad user experience. The fix is twofold: - We discovered that asterisk apps that support early media ("noanswer") did not send any PROGRESS frame to indicate early media. Fixed. - We introduce a setting in chan_sip so that users can disable any relay of media frames before the outbound channel actually indicates any sort of call progress. In 1.4, 1.6.0 and 1.6.1, this will be disabled for backward compatibility. In later versions of Asterisk, this will be enabled. We don't assume that it will change your Asterisk phone experience - only for the better. We encourage third-party application developers to make sure that if they have applications that wants to send early media, add a PROGRESS control frame transmission to make sure that all channel drivers actually will start sending early media. This has not been the default in Asterisk previous to this patch, so if you got inspiration from our code, you need to update accordingly. Sorry for the trouble and thanks for your support. This code has been running for a few months in a large scale installation (over 250 servers with PRI and/or BRI links to old PBX systems). That's no proof that this is an excellent patch, but, well, it's tested :-) ........ 2009-09-04 14:00 +0000 [r216431-216437] Michiel van Baak * include/asterisk/lock.h: make sure canlog is set so we can compile with DEBUG_THREADS enabled on OpenBSD * /: Recorded merge of revisions 216432 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r216432 | mvanbaak | 2009-09-04 15:53:09 +0200 (Fri, 04 Sep 2009) | 2 lines make chan_sip compile under devmode again ........ * /: Recorded merge of revisions 216369 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r216369 | mvanbaak | 2009-09-04 15:16:29 +0200 (Fri, 04 Sep 2009) | 4 lines Make sure 'start' is always initialized. This is the same as rev 216222 in trunk but 1.4 is affected as well ........ 2009-09-04 13:14 +0000 [r216368] Russell Bryant * channels/chan_sip.c: Do not treat every SIP peer as if they were configured with insecure=port. There was a problem in the function responsible for doing peer matching by IP address and port number such that during the second pass for checking for a peer configured with insecure=port, it would end up treating every peer as if it had been configured that way. These changes fix the logic in the peer IP and port comparison callback to handle insecure=port checking properly. This problem was introduced when SIP peers were converted to astobj2. Many thanks to dvossel for noticing this while working on another peer matching issue. 2009-09-04 12:05 +0000 [r216335] Olle Johansson * doc/janitor-projects.txt: Adding to the janitor list. For new readers: The janitor list is a list of tasks we need help with in the Asterisk project. Taking up one of these is often a good way to get into Asterisk development and getting a lot of developers in the project to be grateful. It's stuff we could spend time on when the bug tracker is empty, when our employers hasn't filled our task lists and our servers is running bugfree and happily without any issues. If you want to start working on one of these small projects, feel free to ask for help in the #asterisk-dev channel on IRC or asterisk-dev mailing list. We'll be more than happy to help you to start and reach goal. Thank you for your help. 2009-09-04 10:48 +0000 [r216264] Russell Bryant * /, doc/IAX2-security.txt (added): Merged revisions 216263 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r216263 | russell | 2009-09-04 05:48:00 -0500 (Fri, 04 Sep 2009) | 9 lines Merged revisions 216262 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r216262 | russell | 2009-09-04 05:47:37 -0500 (Fri, 04 Sep 2009) | 2 lines Add a plain text version of the IAX2 security document. ........ ................ 2009-09-04 06:08 +0000 [r216222] Michiel van Baak * main/astobj2.c: make sure 'start' is always initialized. Makes asterisk compile with --enable-dev-mode 2009-09-03 21:09 +0000 [r216186] Richard Mudgett * channels/chan_dahdi.c, channels/sig_pri.c: Lets try not to use C++ keywords for variable names. 2009-09-03 19:40 +0000 [r216094] Doug Bailey * include/asterisk/callerid.h, channels/chan_dahdi.c, channels/sig_analog.c, channels/sig_analog.h: Added detection DTMF CID without polarity change alert. Added detection of DTMF tone energy levels on FXO channels in chan_dahdi monitoring loop so DTMF CID can be detected without the need of a polarity change precursor. (closes issue #9096) Reported by: fleed Patches: 9096-chan_dahdi-trunk.diff uploaded by dbailey (license 819) Tested by: cyberplant, sum, maturs 2009-09-03 19:38 +0000 [r216009-216092] Russell Bryant * /, UPGRADE.txt: Merged revisions 216085 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r216085 | russell | 2009-09-03 14:36:46 -0500 (Thu, 03 Sep 2009) | 9 lines Merged revisions 216080 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r216080 | russell | 2009-09-03 14:35:23 -0500 (Thu, 03 Sep 2009) | 2 lines Add a note about IAX2 to UPGRADE.txt. ........ ................ * /, doc/IAX2-security.pdf (added): Merged revisions 216008 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r216008 | russell | 2009-09-03 13:44:58 -0500 (Thu, 03 Sep 2009) | 9 lines Merged revisions 216005 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r216005 | russell | 2009-09-03 13:42:24 -0500 (Thu, 03 Sep 2009) | 2 lines Add IAX2 security document related to AST-2009-006. ........ ................ 2009-09-03 18:42 +0000 [r216006] Kevin P. Fleming * main/file.c, doc/lang/language-criteria.txt (added): Document language prompt submission process. This patch adds a document describing the language prompt submission process, licensing terms and other issues related to that process. In addition, it modifies the sound file searching process to support language codes with any number of suffices (not limited to just "xx" or "xx_YY"), so that prompts can be named with gender, customer/company, etc. suffices as well. (closes issue #15771) Reported by: jtodd Patches: language-criteria.txt uploaded by jtodd 2009-09-03 16:31 +0000 [r215955] David Vossel * configs/iax.conf.sample, include/asterisk/acl.h, channels/iax2-parser.h, include/asterisk/astobj2.h, channels/iax2.h, main/acl.c, channels/chan_iax2.c, channels/iax2-parser.c, main/astobj2.c: Merge code associated with AST-2009-006 (closes issue #12912) Reported by: rathaus Tested by: tilghman, russell, dvossel, dbrooks 2009-09-03 13:02 +0000 [r215891] Olle Johansson * channels/chan_sip.c: Add known internal IP address when autodomain=yes (closes issue #14573) Reported by: pj Patches: sip-internip-autodomain1.diff uploaded by mnicholson (license 96) modified by oej Tested by: pj 2009-09-03 05:57 +0000 [r215838] Michiel van Baak * doc/manager_1_1.txt: Document that SIPshowpeer and SKINNYshowline now include the configured parkinglot in their response. Prodded by snuff-work on #asterisk-dev IRC channel 2009-09-03 03:43 +0000 [r215800-215801] Tilghman Lesher * channels/chan_sip.c: Default the callback extension to "s". This is a regression. (closes issue #15764) Reported by: elguero Change-type: bugfix * include/asterisk.h: Revert attempt to standardize with _POSIX_C_SOURCE. This did not function in the way that was intended, causing more compatibility issues than it solved. It is best, therefore, that it be simply removed. (Discussed with kpfleming; agreement to remove was reached.) 2009-09-02 23:31 +0000 [r215758] Terry Wilson * /, channels/chan_sip.c: Merged revisions 215682 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r215682 | twilson | 2009-09-02 16:41:22 -0500 (Wed, 02 Sep 2009) | 18 lines Re-send non-100 provisional responses to prevent cancellation From section 13.3.1.1 of RFC 3261: If the UAS desires an extended period of time to answer the INVITE, it will need to ask for an "extension" in order to prevent proxies from canceling the transaction. A proxy has the option of canceling a transaction when there is a gap of 3 minutes between responses in a transaction. To prevent cancellation, the UAS MUST send a non-100 provisional response at every minute, to handle the possibility of lost provisional responses. (closes issue #11157) Reported by: rjain Tested by: twilson Review: https://reviewboard.asterisk.org/r/315/ ........ 2009-09-02 23:25 +0000 [r215757] Richard Mudgett * channels/sig_pri.h, channels/chan_dahdi.c, configs/chan_dahdi.conf.sample, CHANGES, channels/sig_pri.c: Made chan_dahdi able to ignore incoming calls that are not in a MSN list for ISDN PTMP CPE spans. 2009-09-02 21:39 +0000 [r215681] David Vossel * channels/chan_sip.c: port string to int conversion using sscanf There are several instances where a port is parsed from a uri or some other source and converted to an int value using atoi(), if for some reason the port string is empty, then a standard port is used. This logic is used over and over, so I created a function to handle it in a safer way using sscanf(). 2009-09-02 21:23 +0000 [r215622-215665] Michiel van Baak * channels/chan_sip.c, channels/chan_skinny.c: add Parkinglot info to sip show peer and skinny show line If we had this from the start, debugging the 'parking not using configured parkinglot' bug would have been easier. * main/features.c: - lock channel before looking for a channel variable - Init the parkings list member of struct parkinglot. Thanks Sean for the explanation why this should be here. 2009-09-02 19:49 +0000 [r215608] Doug Bailey * channels/chan_dahdi.c, channels/sig_analog.c: Fix issue where DTMF CID detect was placing channels into signed linear mode made analog_set_linear_mode return back the mode that was being overwritten so it could be restored later. 2009-09-02 18:37 +0000 [r215567] Tilghman Lesher * main/Makefile, main/app.c: Close up to the soft open file limit (same on Linux, but varies drastically on OS X). Also, a Makefile fix for Darwin (OS X). (closes issue #14542) Reported by: jtodd Patches: 20090901__issue14542.diff.txt uploaded by tilghman (license 14) Tested by: jtodd, tilghman Change-type: bugfix 2009-09-02 17:26 +0000 [r215522] David Vossel * channels/chan_sip.c: SIP uri parsing cleanup Now, the scheme passed to parse_uri can either be a single scheme, or a list of schemes ',' delimited. This gets rid of the whole problem of having to create two buffers and calling parse_uri twice to check for separate schemes. Review: https://reviewboard.asterisk.org/r/343/ 2009-09-02 16:20 +0000 [r215479] Michiel van Baak * channels/chan_skinny.c: like in chan_sip's sip_new skinny should copy the configured parkinglot from a line to the newly created channel. This makes callparking honor the configured parkinglot for skinny lines as well. 2009-09-02 16:08 +0000 [r215466] David Vossel * channels/chan_sip.c: SIP support for keep-alive event keep-alive events are used by Sipura/Linksys for NAT keepalive. There currently don't appear to be any problems with NAT, but everytime a keep-alive event is received, Asterisk responds with a "489 Bad event". This error may indicate to a user that NAT problems exist just because this even is not supported. Now, rather than respond with an error, the packet is consumed and a "200 ok" is sent just to indicate we received the packet. (issue #15084) Patches: chan_sip.keepalive.v1.diff uploaded by IgorG (license 20) 2009-09-02 15:56 +0000 [r215419-215462] Michiel van Baak * channels/chan_sip.c: Honor configured parkinglot when parking and retrieving parked calls Thank oej for pointing out the fact that sip_new did not copy parkinglot from the peer into the newly created channel. (closes issue #15538) Reported by: gracedman Patches: 2009090100_sipnewparkinglot-161.diff.txt uploaded by mvanbaak (license 7) With mod by me to also fix callparking as well (this uploaded patch only fixed retrieving a parked call) Tested by: gracedman, mvanbaak * include/asterisk.h: Let's compile again on OpenBSD 2009-09-02 06:23 +0000 [r215382] Olle Johansson * CHANGES, res/res_mutestream.c (added): Adding MUTEAUDIO() dialplan function and MuteAudio AMI action (pinepeach) Review: https://reviewboard.asterisk.org/r/345/ 2009-09-02 01:16 +0000 [r215338] Dwayne M. Hubbard * /, apps/app_softhangup.c: Merged revisions 215270 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r215270 | dhubbard | 2009-09-01 18:04:52 -0500 (Tue, 01 Sep 2009) | 12 lines Use strrchr() so SoftHangup will correctly truncate multi-hyphen channel names In general channel names are in the form Foo/Bar-Z, but the channel name could have multiple hyphens and look like Foo/B-a-r-Z. Use strrchr to truncate the channel name at the last hyphen. (closes issue #15810) Reported by: dhubbard Patches: dw-softhangup-1.4.patch uploaded by dhubbard (license 733) ........ 2009-09-01 23:41 +0000 [r215222-215301] Tilghman Lesher * channels/chan_sip.c, funcs/func_channel.c, CHANGES: Add MASTER_CHANNEL() dialplan function, as well as a useful usage. (closes issue #13140) Reported by: cpina Patches: 20090807__issue13140.diff.txt uploaded by tilghman (license 14) Tested by: lmadsen Change-type: feature * channels/chan_sip.c: Fix register such that lines with a transport string, but without an authuser, parse correctly. (AST-228) 2009-09-01 20:44 +0000 [r215212] Russell Bryant * addons/format_mp3.c: Fix memory corruption caused by format_mp3. format_mp3 claimed that it provided AST_FRIENDLY_OFFSET in frames returned by read(). However, it lied. This means that other parts of the code that attempted to make use of the offset buffer would end up corrupting the fields in the ast_filestream structure. This resulted in quite a few crashes due to unexpected values for fields in ast_filestream. This patch closes out quite a few bugs. However, some of these bugs have been open for a while and have been an area where more than one bug has been discussed. So with that said, anyone that is following one of the issues closed here, if you still have a problem, please open a new bug report for the specific problem you are still having. If you do, please ensure that the bug report is based on the newest version of Asterisk, and that this patch is applied if format_mp3 is in use. Thanks! (closes issue #15109) Reported by: jvandal Tested by: aragon, russell, zerohalo, marhbere, rgj (closes issue #14958) Reported by: aragon (closes issue #15123) Reported by: axisinternet (closes issue #15041) Reported by: maxnuv (closes issue #15396) Reported by: aragon (closes issue #15195) Reported by: amorsen Tested by: amorsen (closes issue #15781) Reported by: jensvb (closes issue #15735) Reported by: thom4fun (closes issue #15460) Reported by: marhbere 2009-09-01 19:50 +0000 [r215161] Kevin P. Fleming * main/frame.c: Ensure that frame dumps of AST_CONTROL_T38_PARAMETERS frames are properly decoded. 2009-09-01 14:40 +0000 [r215110] Olle Johansson * channels/chan_sip.c: Removing whitespace that causes red dots in reviewboard 2009-08-31 22:02 +0000 [r215069-215070] Tilghman Lesher * main/http.c: Fix a trunk compilation warning. * main/manager.c: Properly initialize the session to prevent a crash. (closes issue #15774) Reported by: lasko Patches: 20090831__issue15774.diff.txt uploaded by tilghman (license 14) Tested by: lasko 2009-08-31 18:17 +0000 [r215023] Olle Johansson * funcs/func_volume.c: By copying this code I got bad comments in reviewboard... Better fix the original. 2009-08-31 16:18 +0000 [r214819-214945] Tilghman Lesher * channels/chan_local.c, /: Merged revisions 214940 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r214940 | tilghman | 2009-08-31 11:16:52 -0500 (Mon, 31 Aug 2009) | 7 lines Also unlock the "other" channel, when returning, due to glare. (closes issue #15787) Reported by: tim_ringenbach Patches: chan_local.diff uploaded by tim ringenbach (license 540) Tested by: tim_ringenbach ........ * Makefile: Force Darwin on ppc platforms to compile with a target level that supports aliasing. * include/asterisk.h, main/poll.c: Various patches, to enable Asterisk to once again compile on Mac OS X. One note on defining _POSIX_C_SOURCE: while this feature test macro works to require certain behaviors on Linux, it works differently on *BSD platforms to REMOVE certain API calls that are not in the POSIX specification, such as vasprintf(3). Thus, defining it while depending upon vasprintf (and other extensions to the POSIX standard) to be defined is a recipe to ensure that Asterisk is only buildable on Linux. Hence, this define which was meant to INCREASE portability, effectively ensures the opposite. * configure, include/asterisk/autoconfig.h.in, configure.ac, pbx/pbx_lua.c: If lua is detected with the lua5.1 prefix (or not), adjust the include path accordingly. Based upon feedback to a release announcement on the -users list. See http://lists.digium.com/pipermail/asterisk-users/2009-August/236954.html 2009-08-28 22:44 +0000 [r214777] Russell Bryant * configure: Update configure script so that CONFIG_CFLAGS and CONFIG_LDFLAGS doesn't break the build. 2009-08-28 20:14 +0000 [r214702] Tilghman Lesher * main/channel.c, /: Merged revisions 214701 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r214701 | tilghman | 2009-08-28 15:13:32 -0500 (Fri, 28 Aug 2009) | 8 lines Modify comment to be a bit more accurate. We have kept this comment around long enough, that it's pretty clear that we're keeping the code, because changing the code would require a pretty fundamental architectural shift. We've also taken criticism in some quarters, because it was believed that it was referring to the code being nasty. No, the code isn't nasty, just the operation itself is rather odd. Fixed for eternity (probably not). ........ 2009-08-28 20:01 +0000 [r214696] Kevin P. Fleming * Makefile, include/asterisk/autoconfig.h.in, configure.ac, makeopts.in: Ensure that CFLAGS and/or LDFLAGS provided to configure script are preserved. Cross-compilation environments want to provide 'defaults' for compiler and linker options, and frequently do this by specifying CFLAGS and LDFLAGS in the environment or as command-line arguments to the configure script. This patch modifies the configure script and Makefile to preserve these settings and ensure they are used in the build process. 2009-08-28 19:13 +0000 [r214654] Richard Mudgett * channels/sig_pri.c: Move discardremoteholdretrieval test so it applies only to the specific notification indicator values. 2009-08-28 18:41 +0000 [r214650] Mark Michelson * include/asterisk/sched.h: Fix some incorrect documentation of sched_thread functions. 2009-08-28 16:50 +0000 [r214360-214611] Tilghman Lesher * res/res_musiconhold.c: Remove unnecessary define for Solaris (closes issue #15358) Reported by: snuffy Patches: bug_res_moh_remove_unneeded_include.diff uploaded by snuffy (license 35) * /, configure, include/asterisk/autoconfig.h.in, configure.ac, autoconf/libcurl.m4 (added): Merged revisions 214517 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r214517 | tilghman | 2009-08-27 16:45:34 -0500 (Thu, 27 Aug 2009) | 7 lines Use autoconf to detect libcurl, as this enables cross-compilation checks, something we didn't allow before. (closes issue #15714) Reported by: pprindeville Patches: 20090813__issue15714.diff.txt uploaded by tilghman (license 14) Tested by: pprindeville ........ * main/manager.c: Ensure that we check for the special value CONFIG_STATUS_FILEINVALID. (closes issue #15786) Reported by: a_villacis Patches: asterisk-1.6.2.0-beta4-manager-fix-crash-on-include-nonexistent-file.patch uploaded by a villacis (license 660) (Plus a few of my own, to catch the remaining places within manager.c where it could have been a problem) * /, configure, include/asterisk/autoconfig.h.in, configure.ac, autoconf/ast_ext_lib.m4: Merged revisions 214436 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r214436 | tilghman | 2009-08-27 11:53:58 -0500 (Thu, 27 Aug 2009) | 2 lines One more build system change, to make the descriptions look better, if we have better information. ........ * /, configure, include/asterisk/autoconfig.h.in, autoconf/ast_ext_lib.m4: Merged revisions 214357 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r214357 | tilghman | 2009-08-27 11:03:50 -0500 (Thu, 27 Aug 2009) | 3 lines Make autoheader descriptions render correctly in our autoconfig.h file. (Figured out while working with issue #14906) ........ 2009-08-27 15:57 +0000 [r214309-214355] Jeff Peeler * doc/tex/channelvariables.tex: Add forgotten documentation for new channel variables added in 214309. * main/features.c, CHANGES: Add two new dialplan variables when using features Added DYNAMIC_FEATURENAME which holds the last triggered dynamic feature. Added DYNAMIC_PEERNAME which holds the unique channel name on the other side and is set when a dynamic feature is triggered. (closes issue #14663) Reported by: tamiel Patches: 20090313_features.diff uploaded by tamiel (license 712) Tested by: tamiel 2009-08-26 21:56 +0000 [r214272] Richard Mudgett * configs/chan_dahdi.conf.sample: Minor punctuation change. 2009-08-26 16:53 +0000 [r214199] Tilghman Lesher * channels/chan_sip.c: Typo fix ("SIP/2.0 XXX" is 11 chars, not 10) (closes issue #15362) Reported by: klaus3000 Patches: chan_sip.c_logmessagefix_patch.txt uploaded by klaus3000 (license 65) 2009-08-26 16:38 +0000 [r214195] David Vossel * main/channel.c, /: Merged revisions 214194 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r214194 | dvossel | 2009-08-26 11:36:42 -0500 (Wed, 26 Aug 2009) | 19 lines ast_write() ignores ast_audiohook_write() results In ast_write(), if a channel has a list of audiohooks, those lists are written to and the resulting frame is what ast_write() should continue with. The problem was the returned audiohook frame was not being handled at all, and the original frame passed into it did not contain the mixed audio, so essentially audio was being lost. One result of this was chan_spy's whisper mode no longer worked. To complicate the issue, frames passed into ast_write may either be a single frame, or a list of frames. So, as the list of frames is processed in the audiohook_write, the returned frames had to be added to a new list. (closes issue #15660) Reported by: corruptor Tested by: dvossel ........ 2009-08-25 22:39 +0000 [r213900-214152] Tilghman Lesher * configure, include/asterisk/autoconfig.h.in, configure.ac: Not all versions of gnu-linux use glibc, which contains iconv. Some (especially embedded systems) don't have iconv at all. (closes issue #15169) Reported by: pprindeville * /, main/say.c: Merged revisions 214068-214069 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r214068 | tilghman | 2009-08-25 14:26:50 -0500 (Tue, 25 Aug 2009) | 6 lines Fix pronunciation of German dates. (closes issue #15273) Reported by: Benjamin Kluck Patches: say_c.patch uploaded by Benjamin Kluck (license 803) ........ r214069 | tilghman | 2009-08-25 14:28:42 -0500 (Tue, 25 Aug 2009) | 2 lines I should always compile before committing... ........ * pbx/pbx_dundi.c: DUNDILOOKUP function in 1.6 should use comma delimiters. (closes issue #15322) Reported by: chappell Patches: dundilookup-0015322.patch uploaded by chappell (license 8) * main/pbx.c, /: Merged revisions 213970 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r213970 | tilghman | 2009-08-25 01:34:44 -0500 (Tue, 25 Aug 2009) | 7 lines Improve error message by informing user exactly which function is missing a parethesis. (closes issue #15242) Reported by: Nick_Lewis Patches: pbx.c-funcparenthesis.patch2 uploaded by dbrooks (license 790) pbx.c-funcparenthesis-1.4.diff uploaded by loloski (license 68) ........ * Makefile: The DTD should be installed in the same path as the rest of the XML documentation. (closes issue #15344) Reported by: tzafrir Patches: makefile_appdocs_dtd.diff uploaded by tzafrir (license 46) * Makefile, /: Merged revisions 213899 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r213899 | tilghman | 2009-08-24 21:40:22 -0500 (Mon, 24 Aug 2009) | 4 lines Use the default runlevels for Debian derivatives, instead of making up our own. (closes issue #14730) Reported by: pkempgen ........ 2009-08-24 16:43 +0000 [r213833] Jeff Peeler * apps/app_voicemail.c: Fix storage of greetings when using IMAP_STORAGE The store macro was not getting called preventing storage of IMAP greetings at all. This has been corrected along with fixing checking if the imapgreetings option is turned on to store the greeting in IMAP. Lastly, the attachment filename was incorrectly using the full path instead of just the basename, which was causing problems with retrieval of the greeting. (closes issue #14950) Reported by: noahisaac (closes issue #15729) Reported by: lmadsen 2009-08-24 04:46 +0000 [r213790] Moises Silva * channels/chan_dahdi.c: improve handling of openr2_chan_disconnect_call API failure, unlikely, but happened on openr2 library bug 2009-08-21 23:18 +0000 [r213748] Richard Mudgett * configure, configure.ac, channels/sig_pri.c: Update configure script for libpri COLP feature dependency requirements. 2009-08-21 22:36 +0000 [r213738] Tilghman Lesher * channels/chan_sip.c: Clarifying comments in sip_register, and removing a dead section 2009-08-21 22:22 +0000 [r213716] David Vossel * channels/chan_sip.c: Register request line contains wrong address when user domain and register host differ (closes issue #15539) Reported by: Nick_Lewis Patches: chan_sip.c-registraraddr.patch uploaded by Nick (license 657) register_domain_fix_1.6.2 uploaded by dvossel (license 671) Tested by: Nick_Lewis, dvossel 2009-08-21 21:39 +0000 [r213697] Kevin P. Fleming * apps/app_voicemail.c: Ensure that realtime mailboxes properly report status on subscription. This patch modifies app_voicemail's response to mailbox status subscriptions (via the internal event system) to ensure that a subscription triggers an explicit poll of the mailbox, so the subscriber can get an immediate cached event with that status. Previously, the cache was only populated with the status of non-realtime mailboxes. (closes issue #15717) Reported by: natmlt 2009-08-21 21:02 +0000 [r213635] David Vossel * channels/chan_sip.c: fixes sip register parsing when user@domain is used (issue #15008) (issue #15672) 2009-08-21 16:53 +0000 [r213560] Tilghman Lesher * include/asterisk.h, /: Merged revisions 213559 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r213559 | tilghman | 2009-08-21 11:52:53 -0500 (Fri, 21 Aug 2009) | 7 lines Permit DEBUG_FD_LEAKS to be used with C++ source files. (closes issue #15698) Reported by: slavon Patches: 20090817__issue15698.diff.txt uploaded by tilghman (license 14) Tested by: slavon, tilghman ........ 2009-08-21 16:04 +0000 [r213494] Jason Parker * /, configs/queues.conf.sample: Merged revisions 213493 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r213493 | qwell | 2009-08-21 11:03:21 -0500 (Fri, 21 Aug 2009) | 5 lines Clarify queues.conf comments to specify that variables should be set in the dialplan. (closes issue #15755) Reported by: trendboy ........ 2009-08-21 04:09 +0000 [r213454] Moises Silva * channels/chan_dahdi.c: increment the mfcr2 monitor count when clearing the call request 2009-08-21 03:48 +0000 [r213450] Terry Wilson * main/loader.c: Make LOAD_ORDER actually work 2009-08-20 22:13 +0000 [r213414] Tilghman Lesher * apps/app_queue.c: Add original position, when logging a caller entering a queue. (closes issue #15146) Reported by: arabe Patches: asterisk-trunk.patch uploaded by arabe (license 786) 2009-08-20 21:33 +0000 [r213404] Jeff Peeler * apps/app_voicemail.c: Fix greeting retrieval from IMAP Properly check for the current voicemail state and if it doesn't exist, create it. (closes issue #14597) Reported by: wtca Patches: 14597_v2.patch uploaded by mmichelson (license 60) Tested by: jpeeler 2009-08-20 20:29 +0000 [r213327] Matthew Nicholson * main/features.c: Fix a crash by checking the proper pointer for validity before deferencing it. (closes issue #15751) Reported by: atis Patches: ast_bridge_call_peer_cdr.patch uploaded by atis (license 242) 2009-08-20 19:56 +0000 [r213284] Jeff Peeler * apps/app_voicemail.exports (added), /: Merged revisions 213283 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r213283 | jpeeler | 2009-08-20 14:53:34 -0500 (Thu, 20 Aug 2009) | 2 lines Make all the symbols for the C-client callbacks global ........ 2009-08-20 15:29 +0000 [r213248] Tilghman Lesher * addons/res_config_mysql.c: Select uncommented lines, not commented ones. (closes issue #15746) Reported by: makoto 2009-08-20 03:26 +0000 [r213216] Moises Silva * channels/chan_dahdi.c: fixed bug caused by calling ast_request without calling ast_call on an R2 channel, ie, CHANISAVAIL 2009-08-19 22:38 +0000 [r213179] Jason Parker * main/ulaw.c, main/alaw.c: Fix compile when certain G711 menuselect options are enabled. (closes issue #15697) Reported by: slavon 2009-08-19 21:21 +0000 [r213113] David Vossel * /, apps/app_mixmonitor.c: Merged revisions 213103 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r213103 | dvossel | 2009-08-19 16:18:37 -0500 (Wed, 19 Aug 2009) | 8 lines Fixes memory leak caused by incorrectly freeing mixmonitor (closes issue #15699) Reported by: edantie Patches: mixmonitor.patch uploaded by edantie (license 862) ........ 2009-08-19 21:05 +0000 [r213093-213098] Tilghman Lesher * channels/chan_sip.c, configs/sip.conf.sample: Better parsing for the "register" line Allows characters that are otherwise used as delimiters to be used within certain fields (like the secret). (closes issue #15008, closes issue #15672) Reported by: tilghman Patches: 20090818__issue15008.diff.txt uploaded by tilghman (license 14) Tested by: lmadsen, tilghman * channels/chan_sip.c: If we have realtime caching enabled, 'sip reload' must purge users/peers, even if the config files haven't changed. (closes issue #12869) Reported by: bcnit Patches: 20090819__issue12869__2.diff.txt uploaded by tilghman (license 14) Tested by: lasko 2009-08-19 15:32 +0000 [r213046] Russell Bryant * main/features.c: Don't blow up on a NULL cdr. Reported in #asterisk-dev. 2009-08-18 23:53 +0000 [r213007] Richard Mudgett * channels/sig_pri.h, CHANGES, channels/sig_pri.c: Add COLP support to chan_dahdi/sig_pri. Add Connected Line Presentation (COLP) support to chan_dahdi/libpri as an addition to issue 8824. This is the chan_dahdi/sig_pri portion. COLP support is now available for any switch for which libpri supports COLP (currently ETSI PTP, ETSI PTMP, and Q.SIG) with this patch. (closes issue #14068) Tested by: rmudgett Review: https://reviewboard.asterisk.org/r/340/ 2009-08-18 20:33 +0000 [r212922-212939] Kevin P. Fleming * /: Remove some accidentally-committed properties. * CREDITS, /, UPGRADE-1.4.txt, sounds/sounds.xml, build_tools/prep_tarball, sounds/Makefile, doc/tex/asterisk.tex: Convert this branch to Opsound music-on-hold. For more details: http://blogs.digium.com/2009/08/18/asterisk-music-on-hold-changes/ 2009-08-18 19:49 +0000 [r212857-212883] Tilghman Lesher * addons/res_config_mysql.c: Clarify some of the error messages, to help upgraders. * configs/extconfig.conf.sample: Make the default extconfig.conf match entries with the sample res_mysql.conf. This eliminates a future source of possible confusion with the configuration of 1.6.1 and higher. 2009-08-18 18:57 +0000 [r212844] Olle Johansson * apps/app_meetme.c: Small doxygen changes 2009-08-18 16:38 +0000 [r212764] Sean Bright * main/manager.c, /: Merged revisions 212763 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r212763 | seanbright | 2009-08-18 12:36:00 -0400 (Tue, 18 Aug 2009) | 11 lines Delay the creation of temporary files until we have a valid manager command to handle. Without this patch, asterisk creates a temporary file before determining if the specified command is valid. If invalid, we weren't properly cleaning up the file. (closes issue #15730) Reported by: zmehmood Patches: M15730.diff uploaded by junky (license 177) Tested by: zmehmood ........ 2009-08-18 16:29 +0000 [r212758] Richard Mudgett * /, channels/misdn/isdn_lib.c: Merged revisions 212727 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r212727 | rmudgett | 2009-08-18 11:00:56 -0500 (Tue, 18 Aug 2009) | 1 line Removed some deadwood and added some doxygen comments. ........ 2009-08-17 20:40 +0000 [r212672] Kevin P. Fleming * include/asterisk.h: Relax check for XOPEN_VERSION. It's not clear that we actually require XOPEN_VERSION to be 600 or greater at this time, so skip the check for now. 2009-08-17 19:57 +0000 [r212627] Tilghman Lesher * apps/app_voicemail.c: Check the return value of opendir(3), or we may crash. (closes issue #15720) Reported by: tobias_e 2009-08-17 18:50 +0000 [r212574-212581] Sean Bright * channels/chan_agent.c: Correct spelling of AGENTACCEPTDTMF in chan_agent. (closes issue #15668) Reported by: davidw * main/logger.c: Correct the return value check for ast_safe_system. The logic here was reversed as ast_safe_system returns -1 on error and not on success. Fix suggested by reporter. (closes issue #15667) Reported by: loic 2009-08-17 16:50 +0000 [r212506] Jeff Peeler * /, channels/misdn_config.c: Merged revisions 212498 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r212498 | jpeeler | 2009-08-17 11:34:56 -0500 (Mon, 17 Aug 2009) | 12 lines Fix segfault when reloading chan_misdn. If more ports were specified than configured in misdn.conf a reload would crash asterisk. The problem was the unconfigured port was using data from the previously configured port. When the data for an unconfigured port was freed a crash would result from the double free. (closes issue #12113) Reported by: agupta Patches: bug12113.patch uploaded by jpeeler (license 325) ........ 2009-08-17 16:25 +0000 [r212463] Kevin P. Fleming * include/asterisk.h, main/xml.c: Define our desires for POSIX and X/OPEN API features properly. Based on a post on the gcc-help mailing list and some subsequent reading, we can increase our portability to various platforms by directly defining the POSIX and X/OPEN API feature sets we wish to have available. This patch does that, and also includes a double-check to ensure that the system we are compiling on can actually provide the requested feature sets. 2009-08-17 15:42 +0000 [r212431] Richard Mudgett * channels/chan_dahdi.c, channels/sig_analog.c, /: Merged revisions 212430 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 Fix uninitialized variable causing random MWI indications. (closes issue #15727) Reported by: doda Patches: dahdi_changes.patch uploaded by doda (license 853) ........ r212430 | rmudgett | 2009-08-17 10:36:28 -0500 (Mon, 17 Aug 2009) | 1 line Fix uninitialized variable. ........ 2009-08-16 19:27 +0000 [r212390] Joshua Colp * main/rtp_engine.c, include/asterisk/rtp_engine.h: Add two more API calls for getting the current glue and channel in bridging code. 2009-08-15 11:36 +0000 [r212339-212343] Michiel van Baak * res/res_calendar.c: cast time_t type variables to long where needed. This makes res_calendar.c compile on OpenBSD and the same cast is used in a lot of other places where time_t type vars are used. (closes issue #15656) Reported by: mvanbaak Patches: 2009081100-rescalendarcompilefix.diff.txt uploaded by mvanbaak (license 7) * main/xmldoc.c: Add an empty line after each option when printing the documentation of a function/application. This will make reading the docs on the CLI way more easy. (closes issue #15694) Reported by: mvanbaak Patches: 2009081100-extralinesoptionlist.diff.txt uploaded by mvanbaak (license 7) 2009-08-14 23:07 +0000 [r212287-212291] Jeff Peeler * channels/sig_analog.c: Add braces where missing and a few whitespace fixes in sig_analog (closes issue #15678) Reported by: alecdavis Patches: sig_analog_mainly_braces.diff.txt uploaded by alecdavis (license 585) Tested by: alecdavis * channels/chan_dahdi.c, channels/sig_analog.c, channels/sig_analog.h: More code that somehow got left out of sig_analog * confirmanswer option now respected * check and set waiting for dialtone timer * unneeded needcallerid flag removed from analog_subchannel * ss_astchan does not need to be a void pointer * swap_channels callback updated to trunk * analog_hangup now resets channel to default law 2009-08-14 17:36 +0000 [r212249] Tilghman Lesher * funcs/func_curl.c: Add SSL_VERIFYPEER, as requested on the -users list 2009-08-13 17:33 +0000 [r212199] Richard Mudgett * channels/chan_misdn.c: Send a generic return result when we receive a CallDeflection facility message in chan_misdn. ETSI 300-196 implies that a facility return result without arguments does not have the operation-value. This fact implies for ETSI that you can only use the invoke-id to match requests with responses. 2009-08-13 16:44 +0000 [r212161] Joshua Colp * main/rtp_engine.c, include/asterisk/rtp_engine.h: Add an API call for retrieving the engine in use by an RTP instance. 2009-08-13 15:46 +0000 [r212113] Kevin P. Fleming * channels/chan_sip.c: Ensure that T38FaxVersion is put into outgoing SDP in the proper case. 2009-08-13 13:51 +0000 [r212067] Joshua Colp * channels/chan_sip.c: Check an actual populated variable when seeing if we need to do video or not. 2009-08-13 11:37 +0000 [r212027] Gavin Henry * contrib/scripts/asterisk.ldap-schema, contrib/scripts/asterisk.ldif: Fixed typo (closes issue #15710) Reported by: suretec 2009-08-12 23:14 +0000 [r211947-211957] Matthew Nicholson * /, apps/app_queue.c: Merged revisions 211953 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r211953 | mnicholson | 2009-08-12 18:04:02 -0500 (Wed, 12 Aug 2009) | 10 lines This patch adds additional checking when generating queue log TRANSFER events. The additional checks prevent generation of false TRANSFER events in certain situations. (closes issue #14536) Reported by: aragon Patches: queue-log-xfer-fix1.diff uploaded by mnicholson (license 96) Tested by: aragon, mnicholson ........ * channels/chan_sip.c, configs/sip.conf.sample: This patch adds support for choosing a realm based on the domain in the From or To header in the incoming request. Eligible domains are taken from the domains list in the config file. This functionality is enabled when domainsasrealm is enabled in the config file. (closes issue #11361) Reported by: arkadia Patches: sip_realm_mnich_to_added_2.patch uploaded by arkadia (license 233) Tested by: arkadia 2009-08-12 20:47 +0000 [r211908] Jeff Peeler * channels/chan_dahdi.c, channels/sig_analog.c, channels/sig_analog.h: Fix chan_dahdi option ringtimeout dahdi_read relies on the dahdi_pvt copy of ringt which was not getting set in sig_analog. This patch adds a callback to do so. (closes issue #15288) Reported by: alecdavis Patches: chan_dahdi.ringtimeout.diff.txt uploaded by alecdavis (license 585) Tested by: alecdavis 2009-08-12 19:53 +0000 [r211876] Matthew Nicholson * channels/chan_sip.c: Make asterisk handle 423 Interval Too Short messages better. This change uses separate values for the acceptable minimum expiry provided by the 423 error and the expiry value stored in the configuration file. Previously, the value pulled from the configuration file would be overwritten. (closes issue #14366) Reported by: Nick_Lewis Patches: sip-expiry-fix1.diff uploaded by mnicholson (license 96) chan_sip.c-reqexpiry.patch uploaded by Nick (license 657) Tested by: mnicholson 2009-08-12 16:00 +0000 [r211767] Gavin Henry * res/res_config_ldap.c, contrib/scripts/asterisk.ldap-schema, contrib/scripts/asterisk.ldif: Added three new attributes and applied a patch to res_config_ldap.c attributetype ( AstAccountSubscribeContext NAME 'AstAccountSubscribeContext' DESC 'Asterisk subscribe context' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) attributetype ( AstAccountIpAddr NAME 'AstAccountIpAddr' DESC 'Asterisk aaccount IP address' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) attributetype ( AstAccountUserAgent NAME 'AstAccountUserAgent' DESC 'Asterisk account user context' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) and patch fix_empty_attributes_1.6.1.4_v2.patch (closes issue #13725) Reported by: macogeek Patches: fix_empty_attributes_1.6.1.4_v2.patch uploaded by xvisor (license 863) Tested by: suretec 2009-08-12 10:11 +0000 [r211732] Russell Bryant * channels/chan_jingle.c, channels/chan_unistim.c, channels/chan_skinny.c, channels/chan_h323.c, channels/chan_gtalk.c, channels/chan_mgcp.c: Always specify which RTP engine is desired for a new RTP instance. This fixes a crash reported in #asterisk-dev where chan_mgcp unexpectedly allocated an RTP instance from res_rtp_multicast, since by not specifying an engine, you get the first one in the list of engines. 2009-08-10 23:21 +0000 [r211675] Richard Mudgett * channels/chan_dahdi.c: Encapsulate testing for which signaling styles are used by sig_pri. Created the dahdi_sig_pri_lib_handles() function and SIG_PRI_LIB_HANDLE_CASES macro to simplify testing for which signaling styles are handled by sig_pri. 2009-08-10 19:49 +0000 [r211539-211584] Tilghman Lesher * doc/CODING-GUIDELINES, /: Merged revisions 211583 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r211583 | tilghman | 2009-08-10 14:48:48 -0500 (Mon, 10 Aug 2009) | 1 line Conversion specifiers, not format specifiers ........ * cel/cel_pgsql.c, funcs/func_speex.c, funcs/func_rand.c, apps/app_dahdibarge.c, main/frame.c, addons/chan_ooh323.c, apps/app_readfile.c, /, apps/app_record.c, apps/app_alarmreceiver.c, cdr/cdr_adaptive_odbc.c, res/res_http_post.c, channels/chan_iax2.c, main/indications.c, main/config.c, main/cli.c, pbx/pbx_loopback.c, channels/chan_dahdi.c, pbx/pbx_spool.c, res/res_smdi.c, channels/chan_skinny.c, main/features.c, main/http.c, main/pbx.c, funcs/func_sprintf.c, funcs/func_timeout.c, apps/app_privacy.c, codecs/codec_speex.c, channels/chan_agent.c, funcs/func_math.c, apps/app_disa.c, apps/app_morsecode.c, channels/iax2-provision.c, funcs/func_cut.c, apps/app_talkdetect.c, main/netsock.c, res/res_config_curl.c, channels/chan_misdn.c, apps/app_waitforring.c, funcs/func_channel.c, apps/app_macro.c, addons/cdr_mysql.c, pbx/pbx_config.c, apps/app_mixmonitor.c, apps/app_chanspy.c, main/asterisk.c, res/res_odbc.c, cel/cel_adaptive_odbc.c, main/timing.c, apps/app_voicemail.c, doc/CODING-GUIDELINES, addons/app_mysql.c, utils/muted.c, apps/app_meetme.c, main/utils.c, res/res_musiconhold.c, cdr/cdr_pgsql.c, apps/app_followme.c, res/res_config_sqlite.c, main/enum.c, utils/frame.c, channels/misdn_config.c, main/channel.c, res/ael/pval.c, main/cdr.c, funcs/func_enum.c, channels/chan_phone.c, main/manager.c, apps/app_setcallerid.c, apps/app_osplookup.c, funcs/func_odbc.c, res/res_agi.c, apps/app_minivm.c, channels/xpmr/xpmr.c, res/res_config_ldap.c, apps/app_rpt.c, channels/chan_mgcp.c, apps/app_adsiprog.c, res/res_config_pgsql.c, funcs/func_dialplan.c, main/dnsmgr.c, channels/chan_sip.c, res/res_limit.c, apps/app_waitforsilence.c, agi/eagi-test.c, main/acl.c, apps/app_waituntil.c, apps/app_originate.c, channels/sig_pri.c, apps/app_queue.c, channels/chan_oss.c, agi/eagi-sphinx-test.c, channels/chan_usbradio.c, res/snmp/agent.c, pbx/pbx_dundi.c, apps/app_sms.c, utils/extconf.c, apps/app_stack.c, apps/app_verbose.c, addons/app_saycountpl.c, main/dsp.c, addons/res_config_mysql.c: AST-2009-005 2009-08-10 18:01 +0000 [r211475] Michiel van Baak * channels/chan_skinny.c: add manager events when a skinny device registers/unregisters like we have in chan_sip (closes issue #15499) Reported by: arifzaman Patches: 2009072600-skinnymanagerevents.diff.txt uploaded by mvanbaak (license 7) 2009-08-10 17:17 +0000 [r211435] Jeff Peeler * channels/chan_dahdi.c, channels/sig_pri.c: Fix PRI/BRI channels when in alarm condition to only be marked for hangup if T309 is not enabled. 2009-08-10 15:53 +0000 [r211392] Richard Mudgett * channels/sig_pri.h, channels/chan_dahdi.c, channels/sig_pri.c: Restoring some code to sig_pri. Not sure if it is really needed. Putting some DSP code back into sig_pri that was removed by the chan_dahdi/sig_pri reorganization. 2009-08-10 15:46 +0000 [r211390] Russell Bryant * main/channel.c: Fix up some issues with getting a channel by "name". Even though the get_channel_by_name() API advertised that you could search by name or uniqueid (just as the old API did), searching by uniqueid was not actually implemented. This patch fixes that problem. The ast_channel_get_full() function now makes a second search attempt by uniqueid if the parameter was a name. The channel comparison function also now knows how to compare by unqieueid. Finally, a bug was fixed in passing where OBJ_POINTER was being passed in some scenarios where it should not have been. 2009-08-10 14:07 +0000 [r211347] Joshua Colp * channels/chan_sip.c: Fix retrieval of the port used for the video stream when adding SDP to a SIP message. (closes issue #15121) Reported by: jsmith 2009-08-09 15:42 +0000 [r211232-211275] Tilghman Lesher * /, main/astfd.c: Merged revisions 211274 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r211274 | tilghman | 2009-08-09 10:41:01 -0500 (Sun, 09 Aug 2009) | 2 lines Small oops. Clear the flags which have been checked. ........ * apps/app_stack.c: Check for NULL frame, before dereferencing pointer. (closes issue #15617) Reported by: rain 2009-08-07 23:30 +0000 [r211191-211197] Richard Mudgett * channels/chan_dahdi.c: Fixed some unsafe down cast pointer operations for sig_pri. You cannot cast the struct dahdi_pvt.sig_pvt pointer to a specific signaling private pointer without first checking that it is in fact pointing to the correct signaling private structure. * channels/sig_pri.c: Fix static on line when PRI does overlap dialing. The wrong encoding law was used because = was used when it should have been ==. 2009-08-07 20:12 +0000 [r211113] Russell Bryant * /: Recorded merge of revisions 211112 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r211112 | russell | 2009-08-07 15:11:31 -0500 (Fri, 07 Aug 2009) | 4 lines Resolve a deadlock involving app_chanspy and masquerades. (ABE-1936) ........ 2009-08-07 18:17 +0000 [r211040] Tilghman Lesher * /, apps/app_queue.c: Merged revisions 211038 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r211038 | tilghman | 2009-08-07 13:16:28 -0500 (Fri, 07 Aug 2009) | 14 lines QUEUE_MEMBER_LIST _really_ wants the interface name, not the membername. This is a partial revert of revision 82590, which was an attempted cleanup, but in reality, it broke QUEUE_MEMBER_LIST, which has always been intended as a method by which component interfaces could be queried from the queue. Membername isn't useful here, because that field cannot be used to obtain further information about the member. See the documentation on QUEUE_MEMBER_LIST, RemoveQueueMember, QUEUE_MEMBER_PENALTY, and the various AMI commands which take a member argument for further justification. (closes issue #15664) Reported by: rain Patches: app_queue-queue_member_list.diff uploaded by rain (license 327) ........ 2009-08-07 13:08 +0000 [r210992] Kevin P. Fleming * main/udptl.c: Workaround broken T.38 endpoints that offer tiny MaxDatagram sizes. Some T.38 endpoints treat T38FaxMaxDatagram as the maximum IFP size that should be sent to them, rather than the maximum packet payload size. If such an endpoint also requests UDPRedundancy as the error correction mode, we'll end up calculating a tiny maximum IFP size, so small as to be unusable. This patch sets a lower bound on what we'll consider the remote's maximum IFP size to be, assuming that endpoints that do this really can accept larger packets than they've offered to accept. (closes issue #15649) Reported by: dazza76 2009-08-06 21:46 +0000 [r210908-210914] Tilghman Lesher * main/channel.c, /: Merged revisions 210913 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r210913 | tilghman | 2009-08-06 16:45:01 -0500 (Thu, 06 Aug 2009) | 7 lines Because channel information can be accessed outside of the channel thread, we must lock the channel prior to modifying it. (closes issue #15397) Reported by: caspy Patches: 20090714__issue15397.diff.txt uploaded by tilghman (license 14) Tested by: caspy ........ * include/asterisk/app.h, main/app.c, apps/app_stack.c: Allow Gosub to recognize quote delimiters without consuming them. (closes issue #15557) Reported by: rain Patches: 20090723__issue15557.diff.txt uploaded by tilghman (license 14) Tested by: rain Review: https://reviewboard.asterisk.org/r/316/ 2009-08-06 20:15 +0000 [r210866-210869] Richard Mudgett * channels/sig_analog.c: Miscellaneous minor fixes to sig_analog. * Sanity adjustments to __analog_ss_thread for sig_analog environment. * Deleted some duplicated code. * Fixed analog_ss_thread_start passing the wrong pointer. * channels/sig_pri.c: Sanity adjustments to pri_ss_thread for sig_pri environment. 2009-08-06 17:47 +0000 [r210817] Joshua Colp * channels/chan_sip.c: Accept additional T.38 reinvites after an initial one has been handled. Discussion of this subject has yielded that it is not actually acceptable to change T.38 parameters after the initial reinvite but declining is harsh and can cause the fax to fail when it may be possible to allow it to continue. This patch changes things so that additional T.38 reinvites are accepted but parameter changes ignored. This gives the fax a fighting chance. (closes issue #15610) Reported by: huangtx2009 2009-08-06 16:07 +0000 [r210777] Kevin P. Fleming * configure, include/asterisk/autoconfig.h.in, apps/app_fax.c, configure.ac: Minor improvements to app_fax. This patch makes some small changes to handle watchdog timeouts in a better way, and also uses a 'cleaner' method of including the spandsp header files. (closes issue #14769) Reported by: andrew Patches: app_fax-20090406.diff uploaded by andrew (license 240) v1-14769.patch uploaded by dimas (license 88) Tested by: freh, deti, caspy, dimas, sgimeno, Dovid 2009-08-05 23:44 +0000 [r210640-210732] Richard Mudgett * channels/sig_pri.c: Fix potential deadlock issue with USERUSERINFO channel variable. * channels/sig_pri.h, channels/chan_dahdi.c, channels/sig_pri.c: More changes from chan_dahdi that did not make it into sig_pri. * Q.SIG channel mapping option. * discardremoteholdretrieval option. * libPRI debug defines. * pri_set_overlapdial() now set correctly. * pthread creation of pri_ss_thread now matches. * /, channels/sig_pri.c: Merged revisions 210575 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r210575 | rmudgett | 2009-08-05 14:18:56 -0500 (Wed, 05 Aug 2009) | 14 lines Dialplan starts execution before the channel setup is complete. * Issue 15655: For the case where dialing is complete for an incoming call, dahdi_new() was asked to start the PBX and then the code set more channel variables. If the dialplan hungup before these channel variables got set, asterisk would likely crash. * Fixed potential for overlap incoming call to erroneously set channel variables as global dialplan variables if the ast_channel structure failed to get allocated. * Added missing set of CALLINGSUBADDR in the dialing is complete case. (closes issue #15655) Reported by: alecdavis ........ 2009-08-05 18:49 +0000 [r210564] Leif Madsen * doc/tex/imapstorage.tex, /: Merged revisions 210563 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r210563 | lmadsen | 2009-08-05 13:46:21 -0500 (Wed, 05 Aug 2009) | 11 lines Update imapstorage.txt documentation. Updated the imapstorage.txt documentation to reflect that issues with c-client versions older than 2007 seem to cause crashing issues that are not seen with more recent versions. Documentation has been updated to reflect this. (closes issue #14496) Reported by: vbcrlfuser Patches: __20090727-imap-documentation-patch.txt uploaded by lmadsen (license 10) Tested by: lmadsen, mmichelson, dbrooks ........ 2009-08-05 14:09 +0000 [r210522] Russell Bryant * main/file.c: Revert some silly code that snuck into trunk from my working copy. Sorry! 2009-08-05 08:03 +0000 [r210478] Michiel van Baak * addons/mp3: ignore the .i files when compiling in 'DONT_OPTIMIZE' in the addons/mp3 directory 2009-08-04 17:46 +0000 [r210353-210387] Richard Mudgett * channels/sig_pri.h, channels/chan_dahdi.c, channels/sig_pri.c: Fix CALLERID() values for sig_pri on incoming calls. * main/channel.c, include/asterisk/channel.h: Initial minimum ast_party_caller support. * channels/chan_dahdi.c: Removed some dead code. 2009-08-04 15:35 +0000 [r210302] Jeff Peeler * main/features.c: Fix broken call pickup The find_channel_by_group callback was only looking at the channel that was attempting to make the pickup instead of the other channels in the container. 2009-08-04 14:53 +0000 [r210190-210238] Kevin P. Fleming * Makefile, /: Merged revisions 210237 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r210237 | kpfleming | 2009-08-04 09:51:39 -0500 (Tue, 04 Aug 2009) | 10 lines Eliminate spurious compiler warnings from system headers on *BSD platforms. Ensure that system headers located in /usr/local/include are actually treated as system headers by the compiler, and not as local headers which are subject to warnings from the -Wundef compiler option and others. (closes issue #15606) Reported by: mvanbaak ........ * contrib/scripts/realtime_pgsql.sql, channels/chan_sip.c, channels/chan_skinny.c, configs/mgcp.conf.sample, doc/res_config_sqlite.txt, doc/tex/phoneprov.tex, UPGRADE.txt, configs/res_ldap.conf.sample, configs/sip.conf.sample, configs/skinny.conf.sample, channels/chan_mgcp.c, doc/chan_sip-perf-testing.txt: Rename 'canreinvite' option to 'directmedia', with backwards compatibility. It is clear from multiple mailing list, forum, wiki and other sorts of posts that users don't really understand the effects that the 'canreinvite' config option actually has, and that in some cases they think that setting it to 'no' will actually cause various other features (T.38, MOH, etc.) to not work properly, when in fact this is not the case. This patch changes the proper name of the option to what it should have been from the beginning ('directmedia'), but preserves backwards compatibility for existing configurations. 2009-08-03 18:05 +0000 [r210094-210154] Richard Mudgett * channels/chan_dahdi.c, channels/sig_pri.c: Changes from chan_dahdi that did not make it into sig_pri. * Moved SUPPORT_USERUSER to sig_pri.c * Fix PRI_DEADLOCK_AVOIDANCE parameter. * Whitespace changes. * Added missing unlock in pri_dchannel():PRI_EVENT_RING case. * Balanced curly braces. * ast_debug/ast_log changes from chan_dahdi. * sig_pri_indicate() should default to return -1 if the indication is not handled. * channels/sig_pri.h, channels/sig_analog.c, channels/sig_pri.c: Trim trailing whitespace. 2009-08-03 14:29 +0000 [r210027] Mark Michelson * main/channel.c: Fix order and redundancy of channel rename manager events in ast_do_masquerade. Patch contributed by Mark Spencer. 2009-08-03 14:01 +0000 [r209993] Matthew Nicholson * addons/chan_mobile.c, configs/chan_mobile.conf.sample: Add an 'sms' option to mobile.conf to manually enable or disable SMS support. (closes issue #15071) Reported by: ughnz Patches: optional-sms1.diff uploaded by mnicholson (license 96) Tested by: ughnz, mnicholson 2009-08-01 23:33 +0000 [r209958-209959] Bradley Latus * doc/tex/realtime.tex: Update documentation in relation to UnixODBC (closes issue #15516) Reported by: snuffy Patches: bug_odbc_tex_update_v2.diff uploaded by snuffy (license 35) * doc/CODING-GUIDELINES: (closes issue #15515) 2009-08-01 11:29 +0000 [r209835-209887] Russell Bryant * /, main/db1-ast/mpool/mpool.c: Merged revisions 209879 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r209879 | russell | 2009-08-01 06:27:25 -0500 (Sat, 01 Aug 2009) | 5 lines Resolve a valgrind warning about a read from uninitialized memory. (issue #15396) Reported by: aragon ........ * /, apps/app_milliwatt.c: Merged revisions 209838 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r209838 | russell | 2009-08-01 05:59:05 -0500 (Sat, 01 Aug 2009) | 13 lines Modify how Playtones() is used in Milliwatt() to resolve gain issue. When Milliwatt() was changed internally to use Playtones() so that the proper tone was used, it introduced a drop in gain in the output signal. So, use the playtones API directly and specify a volume argument such that the output matches the gain of the original Milliwatt() code. (closes issue #15386) Reported by: rue_mohr Patches: issue_15386.rev2.diff uploaded by russell (license 2) Tested by: rue_mohr ........ * main/event.c: Fix ast_event_queue_and_cache() to actually do the cache() part. (closes issue #15624) Reported by: ffossard Tested by: russell 2009-08-01 01:04 +0000 [r209760-209761] Kevin P. Fleming * Makefile: Revert accidental Makefile change. * Makefile, channels/chan_dahdi.c, channels/chan_misdn.c, /, main/Makefile, channels/misdn/ie.c, pbx/pbx_config.c, utils/frame.c: Merged revisions 209759 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r209759 | kpfleming | 2009-07-31 19:52:00 -0500 (Fri, 31 Jul 2009) | 7 lines Minor changes inspired by testing with latest GCC. The latest GCC (what will become 4.5.x) has a few new warnings, that in these cases found some either downright buggy code, or at least seriously poorly designed code that could be improved. ........ 2009-07-31 21:53 +0000 [r209711] Russell Bryant * main/event.c: Fix some places where ast_event_type was used instead of ast_event_ie_type. 2009-07-31 17:57 +0000 [r209673-209674] Mark Michelson * configs/sip.conf.sample: Add configuration sample code for previous commit. * channels/chan_sip.c: Improve chan_sip's ability to determine what methods should and should not be used in a dialog. The previous effort here was to store what a peer is capable of receiving by parsing REGISTER requests from the peer and keeping that information for as long as the registration was active. The problem with this is that there are a great number of SIP devices which give no indication of the methods allowed in their REGISTER requests, and it is unreasonable to try to guess what the device may or may not support. In addition, some SIP devices have been found to claim support for a specific method, but their handling the method is less than ideal, or they are actually lying. With this patch, we now determine what methods a device supports by parsing the Allow header we receive from them, and we do this with each new dialog. In addition, a configuration option has been added so that an administrator can essentially blacklist certain methods from being used with certain peers if the admin knows that support for a specific method is dodgy or nonexistent. ABE-1822 2009-07-30 23:37 +0000 [r209623] Sean Bright * configure, configure.ac, makeopts.in: Allow passing 'noisy' to configure's --enable-dev-mode argument to turn on verbose builds. (closes issue #15607) Reported by: mvanbaak Patches: 20090730_issue15607.patch uploaded by seanbright (license 71) Tested by: seanbright 2009-07-30 23:31 +0000 [r209619] Jeff Peeler * channels/sig_pri.h, channels/sig_pri.c: Add missing ifdef-s for service maintenance message functionality (closes issue #15614) Reported by: fabled 2009-07-30 16:07 +0000 [r209554] David Brooks * channels/sig_pri.h, apps/app_forkcdr.c, channels/chan_dahdi.c, contrib/init.d/rc.debian.asterisk, addons/chan_ooh323.c, addons/ooh323c/src/ooGkClient.h, funcs/func_math.c, apps/app_sms.c, codecs/lpc10/pitsyn.c, channels/chan_console.c, include/asterisk/abstract_jb.h: Fixes numerous spelling errors. Patch submitted by alecdavis. (closes issue #15595) Reported by: alecdavis 2009-07-30 14:38 +0000 [r209516] Mark Michelson * channels/chan_sip.c: Fix a crash that can result if text codecs are allowed but textsupport is disabled. (closes issue #15596) Reported by: fabled Patches: sip-red.patch uploaded by fabled (license 448) 2009-07-29 21:46 +0000 [r209453-209484] Matthew Nicholson * addons/chan_mobile.c: This patch adds the ability to send a CUSD command to a bluetooth device. (closes issue #15278) Reported by: Artem Patches: cusd5.patch uploaded by Artem (license 800) Tested by: mnicholson, Artem Review: https://reviewboard.asterisk.org/r/274/ * addons/chan_mobile.c: Fixed a comment for hfp_parse_clip 2009-07-28 13:49 +0000 [r209400] Kevin P. Fleming * channels/chan_usbradio.c, include/asterisk/utils.h, channels/chan_sip.c, channels/chan_alsa.c, channels/chan_console.c, channels/chan_oss.c, main/poll.c: Define side-effect-safe MIN and MAX macros and remove duplicate definitions from various files. 2009-07-28 00:20 +0000 [r209317-209331] Tilghman Lesher * sounds/sounds.xml: Regex FTL * /, sounds/sounds.xml: Merged revisions 209315 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r209315 | tilghman | 2009-07-27 19:12:03 -0500 (Mon, 27 Jul 2009) | 2 lines Publish French extra sounds ........ 2009-07-27 21:43 +0000 [r209256-209279] Kevin P. Fleming * apps/app_fax.c: Cleanup T.38 negotiation changes. Convert LOG_NOTICE messages about T.38 negotiation in debug level 1 messages, clean up some looping logic, and correct an improper use of ast_free() for freeing an ast_frame. * apps/app_fax.c: Make T.38 switchover in ReceiveFAX synchronous. In receive mode, if the channel that ReceiveFAX is running on supports T.38, we should *always* attempt to switch T.38, rather than listening for an incoming CNG tone and only triggering on that. The channel may be using a low-bitrate codec that distorts the CNG tone, the sending FAX endpoint may not send CNG at all, or there could be a variety of other reasons that we don't detect it, but in all those cases if T.38 is available we certainly want to use it. 2009-07-27 20:54 +0000 [r209132-209235] Mark Michelson * res/res_rtp_asterisk.c: Gracefully handle malformed RTP text packets. AST-2009-004 * res/res_musiconhold.c: Honor channel's music class when using realtime music on hold. (closes issue #15051) Reported by: alexh Patches: 15051.patch uploaded by mmichelson (license 60) Tested by: alexh * main/udptl.c, /, configs/udptl.conf.sample: Merged revisions 209131 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r209131 | mmichelson | 2009-07-27 12:44:06 -0500 (Mon, 27 Jul 2009) | 18 lines Allow for UDPTL to use only even-numbered ports if desired. There are some VoIP providers out there that will not accept SDP offers with odd numbered UDPTL ports. While it is my personal opinion that these VoIP providers are misinterpreting RFC 2327, it really is not a big deal to play along with their silly little games. Of course, since restricting UDPTL ports to only even numbers reduces the range of available ports by half, so the option to use only even port numbers is off by default. A user can enable the behavior by setting use_even_ports=yes in udptl.conf. (closes issue #15182) Reported by: CGMChris Patches: 15182.patch uploaded by mmichelson (license 60) Tested by: CGMChris ........ 2009-07-27 16:33 +0000 [r209098] David Brooks * channels/chan_dahdi.c, channels/chan_vpb.cc, res/res_smdi.c, include/asterisk/module.h, main/features.c, pbx/pbx_dundi.c, res/res_jabber.c, addons/chan_mobile.c, apps/app_rpt.c, main/loader.c: Fixing typos. Replaces "recieved" with "received" and "initilize" with "initialize" (closes issue #15571) Reported by: alecdavis 2009-07-27 15:38 +0000 [r209056] Kevin P. Fleming * Makefile: Restore explicit export of ASTCFLAGS/ASTLDFLAGS and underscore-variants to sub-makes. During the recent Makefile improvements I made, it seemed the 'make' was automatically carrying down the ASTCFLAGS/ASTLDFLAGS settings to sub-makes, so I removed the explict export of them. However, there are some circumstances where make does this, and some where it does not, so I've brought them back to ensure they are always exported. I also removed an extraneous double setting of _ASTLDFLAGS on *BSD platforms. 2009-07-27 01:20 +0000 [r208924] Jeff Peeler * /, main/translate.c, channels/chan_iax2.c: Merged revisions 208923 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r208923 | jpeeler | 2009-07-26 20:18:31 -0500 (Sun, 26 Jul 2009) | 2 lines Fix logic errors from 208746 ........ 2009-07-26 14:00 +0000 [r208886] Michiel van Baak * contrib/scripts/install_prereq: add OpenBSD to the install_prereq script 2009-07-25 12:28 +0000 [r208813-208848] Michiel van Baak * contrib/scripts/install_prereq: libxml2-dev is needed as well by default. * configs/cli_aliases.conf.sample, main/cli.c: add default alias reload to run module reload. Requiring 'module reload' to reload everything, including core etc makes russell very unhappy. The default configuration already loads the 'friendly' aliases template. Added 'reload=module reload' to that template. Also removed the comment in main/cli.c that reload should come back. 2009-07-25 06:23 +0000 [r208749] Jeff Peeler * /, channels/chan_skinny.c, main/translate.c, channels/chan_iax2.c: Merged revisions 208746 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r208746 | jpeeler | 2009-07-25 01:19:50 -0500 (Sat, 25 Jul 2009) | 7 lines Fix compiling under dev-mode with gcc 4.4.0. Mostly trivial changes, but I did not know of any other way to fix the "dereferencing type-punned pointer will break strict-aliasing rules" error without creating a tmp variable in chan_skinny. ........ 2009-07-24 21:12 +0000 [r208593-208709] Russell Bryant * pbx/pbx_dundi.c: Remove trailing whitespace. * main/cli.c: Note that "reload" needs to be added back. I keep getting annoyed at having to type "module reload" to reload everything, so I'm adding a note that we need to add "reload" back. "module reload" doesn't really make sense as the command to reload everything, including the core. * main/cli.c: Don't log a warning for something that does not affect operation. * apps/app_dial.c, /: Merged revisions 208592 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r208592 | russell | 2009-07-24 13:38:24 -0500 (Fri, 24 Jul 2009) | 7 lines Do not log an ERROR if autoservice_stop() returns -1. This does not indicate an error. A return of -1 just means that the channel has been hung up. (reported in #asterisk-dev) ........ 2009-07-24 18:31 +0000 [r208588] Mark Michelson * /, channels/chan_sip.c: Merged revisions 208587 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r208587 | mmichelson | 2009-07-24 13:26:50 -0500 (Fri, 24 Jul 2009) | 10 lines Only send a BYE when hanging up a channel that is up. For cases where Asterisk sends an INVITE and receives a non 2XX final response, Asterisk would follow the INVITE transaction by immediately sending a BYE, which was unnecessary. (closes issue #14575) Reported by: chris-mac ........ 2009-07-24 15:02 +0000 [r208548] Kevin P. Fleming * main/udptl.c, channels/chan_sip.c, include/asterisk/udptl.h: Resolve a T.38 negotiation issue left over from the udptl-updates merge. The udptl-updates branch that was merged yesterday failed to properly send back T.38 SDP responses with the correct error correction mode, if the incoming SDP from the other end caused us to change error correction modes. This patch corrects that situation. 2009-07-24 14:35 +0000 [r208542] Michiel van Baak * contrib/scripts/install_prereq: use aptitude for debian based systems The function to check wether we need to install packages was using dpkg-query which was gives wrong output on Debian 5 Also, the apt-get has been replaced with aptitude because aptitude is now the preferred way to handle packages on Debian (closes issue #15570) Reported by: mvanbaak Patches: 2009072400_installprereq-aptitude.diff uploaded by mvanbaak (license 7) 2009-07-23 22:32 +0000 [r208464-208504] Kevin P. Fleming * UPGRADE.txt: T.38 change note is not necessary in this branch * main/channel.c, main/udptl.c, main/frame.c, main/rtp_engine.c, channels/chan_sip.c, apps/app_fax.c, UPGRADE.txt, include/asterisk/udptl.h, include/asterisk/frame.h: Rework of T.38 negotiation and UDPTL API to address interoperability problems Over the past couple of months, a number of issues with Asterisk negotiating (and successfully completing) T.38 sessions with various endpoints have been found. This patch attempts to address many of them, primarily focused around ensuring that the endpoints' MaxDatagram size is honored, and in addition by ensuring that T.38 session parameter negotiation is performed correctly according to the ITU T.38 Recommendation. The major changes here are: 1) T.38 applications in Asterisk (app_fax) only generate/receive IFP packets, they do not ever work with UDPTL packets. As a result of this, they cannot be allowed to generate packets that would overflow the other endpoints' MaxDatagram size after the UDPTL stack adds any error correction information. With this patch, the application is told the maximum *IFP* size it can generate, based on a calculation using the far end MaxDatagram size and the active error correction mode on the T.38 session. The same is true for sending *our* MaxDatagram size to the remote endpoint; it is computed from the value that the application says it can accept (for a single IFP packet) combined with the active error correction mode. 2) All treatment of T.38 session parameters as 'capabilities' in chan_sip has been removed; these parameters are not at all like audio/video stream capabilities. There are strict rules to follow for computing an answer to a T.38 offer, and chan_sip now follows those rules, using the desired parameters from the application (or channel) that wants to accept the T.38 negotiation. 3) chan_sip now stores and forwards ast_control_t38_parameters structures for tracking 'our' and 'their' T.38 session parameters; this greatly simplifies negotiation, especially for pass-through calls. 4) Since T.38 negotiation without specifying parameters or receiving the final negotiated parameters is not very worthwhile, the AST_CONTROL_T38 control frame has been removed. A note has been added to UPGRADE.txt about this removal, since any out-of-tree applications that use it will no longer function properly until they are upgraded to use AST_CONTROL_T38_PARAMETERS. Review: https://reviewboard.asterisk.org/r/310/ 2009-07-23 19:34 +0000 [r208388] Mark Michelson * /, channels/chan_sip.c: Merged revisions 208386 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r208386 | mmichelson | 2009-07-23 14:24:21 -0500 (Thu, 23 Jul 2009) | 17 lines Fix a problem where a 491 response could be sent out of dialog. This generalizes the fix for issue 13849. The initial fix corrected the problem that Asterisk would reply with a 491 if a reinvite were received from an endpoint and we had not yet received an ACK from that endpoint for the initial INVITE it had sent us. This expansion also allows Asterisk to appropriately handle an INVITE with authorization credentials if Asterisk had not received an ACK from the previous transaction in which Asterisk had responded to an unauthorized INVITE with a 407. (closes issue #14239) Reported by: klaus3000 Patches: 14239.patch uploaded by mmichelson (license 60) Tested by: klaus3000 ........ 2009-07-23 19:21 +0000 [r208383] Jeff Peeler * channels/chan_dahdi.c, /: Merged revisions 208380 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r208380 | jpeeler | 2009-07-23 14:19:53 -0500 (Thu, 23 Jul 2009) | 6 lines Only set the priindication setting when not performing a reload (closes issue #14696) Reported by: fdecher ........ 2009-07-23 16:29 +0000 [r208314] Mark Michelson * /, channels/chan_sip.c: Merged revisions 208312 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r208312 | mmichelson | 2009-07-23 11:29:18 -0500 (Thu, 23 Jul 2009) | 3 lines Remove inaccurate XXX comment. ........ 2009-07-23 15:59 +0000 [r208267] Jeff Peeler * channels/sig_pri.h, channels/chan_dahdi.c, channels/sig_pri.c: Fix sending of interface identifier unconditionally in sig_pri The wrong logic was being used in chan_dahdi to convert a sig_pri_chan to the proper libpri channel number. The most significant bit must only be set only when trunk groups are being used. (closes issue #15452) Reported by: alecdavis Patches: bug15452.patch uploaded by jpeeler (license 325) Tested by: alecdavis 2009-07-23 15:46 +0000 [r208229-208263] Mark Michelson * /, channels/chan_sip.c: Merged revisions 208262 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r208262 | mmichelson | 2009-07-23 10:43:07 -0500 (Thu, 23 Jul 2009) | 8 lines Properly handle 183 responses which do not contain an SDP. (closes issue #15442) Reported by: ffloimair Patches: 15442.patch uploaded by mmichelson (license 60) Tested by: tkarl, ffloimair ........ * channels/chan_sip.c: Fix potential crash if p->owner is NULL. Problem was observed when a call-forwarding loop was accidentally configured. ABE-1906 2009-07-23 01:31 +0000 [r208193] Russell Bryant * main/cel.c: Resolve compiler warning on mac. 2009-07-22 22:42 +0000 [r208155] Jeff Peeler * channels/chan_dahdi.c: Reset the fax buffers back to default settings regardless of signaling in use - Pointed out by Matt F. Also in the case of not using a signaling module, set the law back to the default as well. 2009-07-22 22:35 +0000 [r208151] Tilghman Lesher * /, include/asterisk/compat.h, main/strcompat.c, main/asterisk.exports: Merged revisions 208083 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r208083 | tilghman | 2009-07-22 15:23:53 -0500 (Wed, 22 Jul 2009) | 4 lines Export symbols for functions included in our compatibility headers. (closes issue #15556) Reported by: smw1218 ........ 2009-07-22 21:43 +0000 [r208113] Jason Parker * apps/app_festival.c: Restore an int declaration on PPC platforms. This x is one crafty little bugger... It was used for 2 different things (one of which was only done on PPC) in 1.4. One of the uses were removed in trunk, and with it went the declaration. (closes issue #14038) Reported by: ffloimair 2009-07-22 16:49 +0000 [r208052] Tilghman Lesher * res/res_realtime.c: Clarify documentation on 'realtime update2' to show more than one condition. (closes issue #15357) Reported by: snuffy Patches: bug_fix_doc_update2.diff uploaded by snuffy (license 35) (slightly modified by me) 2009-07-22 14:35 +0000 [r208018] Russell Bryant * include/asterisk/channel.h: Remove trailing whitespace. 2009-07-22 14:35 +0000 [r208017] Mark Michelson * apps/app_directed_pickup.c: Fix the crash in directed pickups. For real this time. A shallow pointer copy was causing an ast_party_connected_line structure to be freed multiple times, thus causing a crash. (closes issue #15441) Reported by: lmsteffan Patches: 15441.patch uploaded by mmichelson (license 60) Tested by: lmsteffan 2009-07-21 22:51 +0000 [r207950] Jeff Peeler * channels/sig_pri.c: Do not dial digits when none were specified for sig_pri based calls (closes issue #15524) Reported by: elguero Patches: pri-sig-no-dest-set.patch uploaded by elguero (license 37) 2009-07-21 22:45 +0000 [r207946] Tilghman Lesher * /, funcs/func_strings.c: Merged revisions 207945 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r207945 | tilghman | 2009-07-21 17:38:54 -0500 (Tue, 21 Jul 2009) | 8 lines Force an error if a blank is passed to QUOTE (because the documentation states the argument is not optional). This change makes URIENCODE and QUOTE behave similarly, since the documentation states that the argument is not optional, for both. (closes issue #15439) Reported by: pkempgen Patches: 20090706__issue15439.diff.txt uploaded by tilghman (license 14) ........ 2009-07-21 22:24 +0000 [r207934] Jeff Peeler * channels/chan_dahdi.c: whitespace fix only 2009-07-21 22:22 +0000 [r207925] Russell Bryant * doc/CODING-GUIDELINES: Note that we use tabs instead of spaces for indentation. I'm surprised this was never actually in here... 2009-07-21 22:02 +0000 [r207854-207902] Jeff Peeler * channels/chan_dahdi.c: Fix my_is_off_hook to check rxbits only for FXS signaling * channels/chan_dahdi.c, channels/sig_analog.c, /: Merged revisions 207827 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r207827 | jpeeler | 2009-07-21 15:16:55 -0500 (Tue, 21 Jul 2009) | 9 lines Wait for wink before dialing when using E&M wink signaling There was already code for other signaling types in dahdi_handle_event to handle dialing if a dial operation dial string was present. Simply add SIG_EMWINK to the list. (closes issue #14434) Reported by: araasch ........ 2009-07-21 14:29 +0000 [r207723] Mark Michelson * main/manager.c, /: Merged revisions 207714 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r207714 | mmichelson | 2009-07-21 09:26:00 -0500 (Tue, 21 Jul 2009) | 5 lines Document default timeout for AMI originations. AST-224 ........ 2009-07-21 13:28 +0000 [r207680] Kevin P. Fleming * /, main/Makefile, codecs/gsm/Makefile, Makefile.moddir_rules, res/Makefile, pbx/Makefile, Makefile.rules, channels/Makefile, doc/video_console.txt, Makefile, utils/Makefile, codecs/Makefile, agi/Makefile, addons/Makefile, funcs/Makefile, codecs/lpc10/Makefile, main/db1-ast/Makefile: Merged revisions 207647 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r207647 | kpfleming | 2009-07-21 08:04:44 -0500 (Tue, 21 Jul 2009) | 12 lines Ensure that user-provided CFLAGS and LDFLAGS are honored. This commit changes the build system so that user-provided flags (in ASTCFLAGS and ASTLDFLAGS) are supplied to the compiler/linker *after* all flags provided by the build system itself, so that the user can effectively override the build system's flags if desired. In addition, ASTCFLAGS and ASTLDFLAGS can now be provided *either* in the environment before running 'make', or as variable assignments on the 'make' command line. As a result, the use of COPTS and LDOPTS is no longer necessary, so they are no longer documented, but are still supported so as not to break existing build systems that supply them when building Asterisk. ........ 2009-07-20 23:08 +0000 [r207522-207551] Mark Michelson * apps/app_directed_pickup.c: Okay, that didn't fix the crash. It didn't really do anything useful. * apps/app_directed_pickup.c: Initialize connected line instance when doing a directed pickup. This helps to prevent a crash which may occur due to our freeing garbage due to a struct being uninitialized. 2009-07-20 20:45 +0000 [r207484] David Vossel * channels/chan_sip.c: reg->username is parsed only once on sip reload The registration string can contain an expanded user portion of the form user@domain. This expanded user portion was stored in reg->username and parsed each time there is a registration refresh. Now, the domain portion of the user is parsed and stored separately in the regdomain field. (closes issue #14331) Reported by: Nick_Lewis Patches: chan_sip.c.domainparse3.patch uploaded by Nick (license 657) Tested by: Nick_Lewis, dvossel 2009-07-20 19:48 +0000 [r207424] Mark Michelson * /, channels/chan_sip.c: Merged revisions 207423 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r207423 | mmichelson | 2009-07-20 14:39:59 -0500 (Mon, 20 Jul 2009) | 33 lines Answer video SDP offers properly when videosupport is not enabled. Copied from Review board: In issue 12434, the reporter describes a situation in which audio and video is offered on the call, but because videosupport is disabled in sip.conf, Asterisk gives no response at all to the video offer. According to RFC 3264, all media offers should have a corresponding answer. For offers we do not intend to actually reply to with meaningful values, we should still reply with the port for the media stream set to 0. In this patch, we take note of what types of media have been offered and save the information on the sip_pvt. The SDP in the response will take into account whether media was offered. If we are not otherwise going to answer a media offer, we will insert an appropriate m= line with the port set to 0. It is important to note that this patch is pretty much a bandage being applied to a broken bone. The patch *only* helps for situations where video is offered but videosupport is disabled and when udptl_pt is disabled but T.38 is offered. Asterisk is not guaranteed to respond to every media offer. Notable cases are when multiple streams of the same type are offered. The 2 media stream limit is still present with this patch, too. In trunk and the 1.6.X branches, things will be a bit different since Asterisk also supports text in SDPs as well. (closes issue #12434) Reported by: mnnojd Review: https://reviewboard.asterisk.org/r/311 Review: https://reviewboard.asterisk.org/r/313 ........ 2009-07-20 16:36 +0000 [r207361] Russell Bryant * main/channel.c, /: Merged revisions 207360 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r207360 | russell | 2009-07-20 11:26:24 -0500 (Mon, 20 Jul 2009) | 9 lines Only do the chan->fdno check in ast_read() in a developer build. I changed this check to only happen in a dev-mode build. I also added a comment explaining what is going on. I also made it so that detection of this situation does not affect ast_read() operation. (closes issue #14723) Reported by: seadweller ........ 2009-07-18 04:17 +0000 [r207318] Richard Mudgett * channels/chan_misdn.c, CHANGES: Merged 207316 from https://origsvn.digium.com/svn/asterisk/be/branches/C.2-... .......... r207316 | rmudgett | 2009-07-17 23:05:05 -0500 (Fri, 17 Jul 2009) | 20 lines Fixed incoming calls being matched to MSNs without type-of-number prefix added. For an incoming ISDN call the dialed.number is incorrectly matched against the configured MSNs in misdn.conf. The numbers passed to the dialplan include the configured prefix for the dialed.number_type, whereas the check against the configured MSNs (to decide if the call is accepted at all), is executed without the configured prefix. e.g., dialed.number = 241168020, TON = national, configured national prefix is "0". (This is the TON which is used by ISDN providers in the Netherlands.) In chan_misdn.c:cb_events() in case EVENT_SETUP the call to misdn_cfg_is_msn_valid() uses the unnormalized number 241168020, but 57 lines later the call to read_config() adds the prefix, and the dialed.number is now 0241168020, which is then used in the dialplan. misdn_cfg_is_msn_valid() must use the normalized number, too. JIRA ABE-1912 2009-07-18 04:16 +0000 [r207317] Tilghman Lesher * apps/app_voicemail.c: Flag field in wrong position. Reported by "Hoggins!" on asterisk-dev list. 2009-07-18 01:31 +0000 [r207285] Richard Mudgett * /: Recorded merge of revisions 145293,158010 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r145293 | rmudgett | 2008-09-30 18:55:24 -0500 (Tue, 30 Sep 2008) | 54 lines channels/chan_misdn.c channels/misdn/isdn_lib.c * Miscellaneous other fixes from trunk to make merging easier later. ........ r145200 | rmudgett | 2008-09-30 16:00:54 -0500 (Tue, 30 Sep 2008) | 7 lines * Miscellaneous formatting changes to make v1.4 and trunk more merge compatible in the mISDN area. channels/chan_misdn.c * Eliminated redundant code in cb_events() EVENT_SETUP ........ r144257 | crichter | 2008-09-24 03:42:55 -0500 (Wed, 24 Sep 2008) | 9 lines improved helptext of misdn_set_opt. ........ r142181 | rmudgett | 2008-09-09 12:30:52 -0500 (Tue, 09 Sep 2008) | 1 line Cleaned up comment ........ r138738 | rmudgett | 2008-08-18 16:07:28 -0500 (Mon, 18 Aug 2008) | 30 lines channels/chan_misdn.c * Made bearer2str() use allowed_bearers_array[] * Made use the causes.h defines instead of hardcoded numbers. * Made use Asterisk presentation indicator values if either of the mISDN presentation or screen options are negative. * Updated the misdn_set_opt application option descriptions. * Renamed the awkward Caller ID presentation misdn_set_opt application option value not_screened to restricted. Deprecated the not_screened option value. channels/misdn/isdn_lib.c * Made use the causes.h defines instead of hardcoded numbers. * Fixed some spelling errors and typos. * Added all defined facility code strings to fac2str(). channels/misdn/isdn_lib.h * Added doxygen comments to struct misdn_bchannel. channels/misdn/isdn_lib_intern.h * Added doxygen comments to struct misdn_stack. channels/misdn_config.c configs/misdn.conf.sample * Updated the mISDN presentation and screen parameter descriptions. doc/misdn.txt (doc/tex/misdn.tex) * Updated the misdn_set_opt application option descriptions. * Fixed some spelling errors and typos. ................ r158010 | rmudgett | 2008-11-19 19:46:09 -0600 (Wed, 19 Nov 2008) | 9 lines Merged revision 157977 from https://origsvn.digium.com/svn/asterisk/team/group/issue8824 ........ Fixes JIRA ABE-1726 The dial extension could be empty if you are using MISDN_KEYPAD to control ISDN provider features. ................ 2009-07-17 22:29 +0000 [r207255] Tilghman Lesher * doc/voicemail_odbc_postgresql.txt: Add flag here, too (as requested by jsmith) 2009-07-17 22:07 +0000 [r207225] David Vossel * channels/chan_iax2.c: fixes an error in r203638 CEL commit (closes issue #15525) Reported by: elguero Patches: iax2-double-unlock.patch uploaded by elguero (license 37) 15525.diff uploaded by dvossel (license 671) Tested by: dvossel 2009-07-17 22:04 +0000 [r207224] Tilghman Lesher * doc/tex/odbcstorage.tex, UPGRADE.txt: Document the "flag" field in the voicemessages table. 2009-07-17 19:37 +0000 [r207095-207156] Jeff Peeler * channels/chan_dahdi.c, /: Merged revisions 207155 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r207155 | jpeeler | 2009-07-17 14:36:19 -0500 (Fri, 17 Jul 2009) | 7 lines Fix format specifier to print out an unsigned long long. Yep, it's even ifdefed out code. But it made it to the RR list... (closes issue #14726) Reported by: lmadsen ........ * configs/chan_dahdi.conf.sample: Update some missing allowed options for overlapdial 2009-07-17 17:51 +0000 [r207029] David Vossel * channels/chan_sip.c: sip option flags handled incorrectly (closes issue #15376) Reported by: Takehiko Ooshima Tested by: dvossel, Takehiko_Ooshima 2009-07-17 17:02 +0000 [r206998] Jeff Peeler * channels/chan_dahdi.c, channels/sig_analog.c: Fix segfault in sig_analog when using callwaiting, respect callwaiting options Sig_analog handles allocating the sub channel for callwaiting, so no longer try to do it in chan_dahdi. Modified analog_alloc_sub to only mark the sub as allocated upon success of the alloc_sub callback, which was responsible for the segfault. Also, the callwaiting and callwaitingcallerid options were being unconditionally set to true. Now, the options are properly set from chan_dahdi.conf. (closes issue #15508) Reported by: elguero Tested by: elguero 2009-07-17 16:13 +0000 [r206868-206939] David Vossel * /, channels/chan_sip.c: Merged revisions 206938 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r206938 | dvossel | 2009-07-17 11:05:06 -0500 (Fri, 17 Jul 2009) | 14 lines SIP incorrect From: header information when callpres is prohib Some ITSP make use of the "Anonymous" display name to detect a requirement to withhold caller id across the PSTN. This does not work if the display name is "Unknown". (closes issue #14465) Reported by: Nick_Lewis Patches: chan_sip.c-callerpres.patch uploaded by Nick (license 657) chan_sip.c-callerpres_trunk.patch uploaded by dvossel (license 671) Tested by: Nick_Lewis, dvossel ........ * funcs/func_timeout.c: TIMEOUT(absolute) returned negative value. (closes issue #15513) Reported by: ys * configs/iax.conf.sample, /: Merged revisions 206872 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r206872 | dvossel | 2009-07-16 16:33:19 -0500 (Thu, 16 Jul 2009) | 6 lines error in iax.conf related IP-based access control (closes issue #15518) Reported by: pkempgen ........ * /, main/callerid.c: Merged revisions 206867 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r206867 | dvossel | 2009-07-16 16:24:16 -0500 (Thu, 16 Jul 2009) | 8 lines avoid segfault caused by user error If the CALLERPRES() dialplan function is set to nothing, a segfault occurs. This is user error to begin with, but I'd rather see a cli warning message than have Asterisk crash on me. ........ 2009-07-16 16:51 +0000 [r206808] Tilghman Lesher * /, funcs/func_realtime.c: Merged revisions 206807 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r206807 | tilghman | 2009-07-16 11:27:35 -0500 (Thu, 16 Jul 2009) | 6 lines Fix a memory leak. (closes issue #15517) Reported by: adomjan Patches: func_realtime.c-ast_variable_destroy.diff uploaded by adomjan (license 487) ........ 2009-07-15 22:04 +0000 [r206768] David Vossel * channels/chan_sip.c: Session timer were not activated if Supported header field in INVITE had both "timer" and other options. (closes issue #15403) Reported by: makoto Patches: sip-session-timer.patch uploaded by makoto (license 38) 2009-07-15 22:02 +0000 [r206767] Jeff Peeler * channels/sig_pri.h, channels/chan_dahdi.c, channels/sig_analog.c, channels/sig_analog.h, channels/sig_pri.c: The dialing flag was mistakingly removed from sig_pri. This readds the proper setting of the flag and is really a continuation of r205731. The flag was being set properly in sig_analog, but use of the newly added set_dialing callback allowed for some simplification in chan_dahdi. (closes issue #15486) Reported by: rmudgett 2009-07-15 21:14 +0000 [r206707] Richard Mudgett * channels/misdn/isdn_lib_intern.h, /, channels/misdn/isdn_lib.c: Merged revisions 206706 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r206706 | rmudgett | 2009-07-15 15:44:55 -0500 (Wed, 15 Jul 2009) | 26 lines Merged revision 206700 from https://origsvn.digium.com/svn/asterisk/be/branches/C.2-... .......... Fixed chan_misdn crash because mISDNuser library is not thread safe. With Asterisk the mISDNuser library is driven by two threads concurrently: 1. channels/misdn/isdn_lib.c::manager_event_handler() 2. channels/misdn/isdn_lib.c::misdn_lib_isdn_event_catcher() Calls into the library are done concurrently and recursively from isdn_lib.c. Both threads can fiddle with the master/child layer3_proc_t lists. One thread may traverse the list when the other interrupts it and then removes the list element which the first thread was currently handling. This is exactly what caused the crash. About 60 calls were needed to a Gigaset CX475 before it occurred once. This patch adds locking when calling into the mISDNuser library. This also fixes some cb_log calls with wrong port parameter. JIRA ABE-1913 Patches: misdn-locking.patch (Modified with mostly cosmetic changes) .......... ................ 2009-07-15 20:20 +0000 [r206702] David Vossel * channels/chan_sip.c: callerid(num) is wrong when username is missing A domain only sip uri would return 123.123.123.123 as callid num. Now, if the username is missing from a uri, the callerid num field is left empty. (closes issue #15476) Reported by: viraptor 2009-07-15 16:00 +0000 [r206636] Sean Bright * /, codecs/codec_dahdi.c: Merged revisions 206635 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r206635 | seanbright | 2009-07-15 11:57:51 -0400 (Wed, 15 Jul 2009) | 1 line Only print debug info in codec_dahdi if we are asking for it. ........ 2009-07-14 20:38 +0000 [r206603] Jeff Peeler * configs/chan_dahdi.conf.sample: fix a typo in sample config file for option change 2009-07-14 20:14 +0000 [r206567] Tilghman Lesher * apps/app_meetme.c, contrib/scripts/meetme.sql: Document all meetme realtime fields, and in the process, make some field lengths more consistent. (closes issue #15493) Reported by: lasko Patches: meetme.diff uploaded by lasko (license 833) 2009-07-14 20:01 +0000 [r206566] Jeff Peeler * channels/chan_dahdi.c, channels/sig_analog.c, channels/sig_analog.h: Restore some missing functionality to sig_analog. The main purpose of this commit is to restore missing functionality present in the ss_thread before all the sig related work was done. Two of the biggest missing things were distinctive ring detection and cid handling for V23. fxsoffhookstate and associated mwi variables have been moved inside sig_analog as they were not being set properly as well. 2009-07-14 17:03 +0000 [r206490] Mark Michelson * apps/app_dial.c: I AM A TERRIBLE PERSON 2009-07-14 17:01 +0000 [r206489] Richard Mudgett * channels/misdn/isdn_lib.h, channels/chan_misdn.c, /, channels/misdn/isdn_lib.c: Merged revisions 206487 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r206487 | rmudgett | 2009-07-14 11:44:47 -0500 (Tue, 14 Jul 2009) | 28 lines Fixes several call transfer issues with chan_misdn. * issue #14355 - Crash if attempt to transfer a call to an application. Masquerade the other pair of the four asterisk channels involved in the two calls. The held call already must be a bridged call (not an applicaton) or it would have been rejected. * issue #14692 - Held calls are not automatically cleared after transfer. Allow the core to initate disconnect of held calls to the ISDN port. This also fixes a similar case where the party on hold hangs up before being transferred or taken off hold. * JIRA ABE-1903 - Orphaned held calls left in music-on-hold. Do not simply block passing the hangup event on held calls to asterisk core. * Fixed to allow held calls to be transferred to ringing calls. Previously, held calls could only be transferred to connected calls. * Eliminated unused call states to simplify hangup code. * Eliminated most uses of "holded" because it is not a word. (closes issue #14355) (closes issue #14692) Reported by: sodom Patches: misdn_xfer_v14_r205839.patch uploaded by rmudgett (license 664) Tested by: rmudgett ........ 2009-07-14 16:09 +0000 [r206455] Mark Michelson * apps/app_dial.c: Reset the sentringing indication when redirects occur. If a redirecting control frame is processed or a call forward occurs, we need to reset the sentringing flag so that we can send another ringing indication to the phone that may contain a connected line update. AST-164 2009-07-14 14:51 +0000 [r206386] Russell Bryant * /, channels/chan_iax2.c: Merged revisions 206385 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r206385 | russell | 2009-07-14 09:48:00 -0500 (Tue, 14 Jul 2009) | 13 lines Merged revisions 206384 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r206384 | russell | 2009-07-14 09:45:47 -0500 (Tue, 14 Jul 2009) | 6 lines Ensure apathetic replies are sent out on the proper socket. chan_iax2 supports multiple address bindings. The send_apathetic_reply() function did not attempt to send its response on the same socket that the incoming message came in on. ........ ................ 2009-07-14 00:48 +0000 [r206341] Richard Mudgett * channels/chan_misdn.c, /, channels/misdn/isdn_lib.c: Merged revisions 206284 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r206284 | rmudgett | 2009-07-13 19:17:28 -0500 (Mon, 13 Jul 2009) | 4 lines Fix some memory leaks in chan_misdn. JIRA ABE-1911 ........ 2009-07-13 23:26 +0000 [r206280] David Vossel * channels/chan_sip.c: dns lookup of peername rather than peer's host in transmit_register() (closes issue #15052) Reported by: fsantulli Patches: chan_sip_bug_15052_[20090626204511].patch uploaded by fsantulli (license 818) Tested by: fsantulli 2009-07-13 18:46 +0000 [r206225] Sean Bright * contrib/upstart/asterisk.upstart-0.3.9: Make sure that since we are passing -c to asterisk that we have a console. Without this line, Asterisk will busy-loop trying to read and write to /dev/null (woops... my bad). 2009-07-13 16:23 +0000 [r206185] Tilghman Lesher * apps/app_voicemail.c: Remove reference to non-existent help file (closes issue #15427) Reported by: brushtyler Patches: app_voicemail.c.diff uploaded by brushtyler (license 821) 2009-07-13 14:06 +0000 [r206092-206094] Kevin P. Fleming * .cleancount: Bump up cleancount so that existing checkouts will update themselves properly for the 'Addons' -> 'ADDONS' change. * addons/Makefile: Make the menuselect category for Add-Ons consistent with the other directories (uppercase). 2009-07-11 19:30 +0000 [r206021-206049] Russell Bryant * CHANGES: note the security events API in CHANGES * doc/tex/security-events.tex (added), tests/test_security_events.c (added), main/manager.c, main/security_events.c (added), include/asterisk/event_defs.h, main/event.c, include/asterisk/security_events.h (added), doc/tex/asterisk.tex, include/asterisk/security_events_defs.h (added), res/res_security_log.c (added), tests/test_ami_security_events.sh (added): Add an API for reporting security events, and a security event logging module. This commit introduces the security events API. This API is to be used by Asterisk components to report events that have security implications. A simple example is when a connection is made but fails authentication. These events can be used by external tools manipulate firewall rules or something similar after detecting unusual activity based on security events. Inside of Asterisk, the events go through the ast_event API. This means that they have a binary encoding, and it is easy to write code to subscribe to these events and do something with them. One module is provided that is a subscriber to these events - res_security_log. This module turns security events into a parseable text format and sends them to the "security" logger level. Using logger.conf, these log entries may be sent to a file, or to syslog. One service, AMI, has been fully updated for reporting security events. AMI was chosen as it was a fairly straight forward service to convert. The next target will be chan_sip. That will be more complicated and will be done as its own project as the next phase of security events work. For more information on the security events framework, see the documentation generated from doc/tex/. "make asterisk.pdf" Review: https://reviewboard.asterisk.org/r/273/ 2009-07-10 21:42 +0000 [r205985] David Vossel * channels/chan_sip.c: SIP register not using peer's outbound proxy If callbackextension is defined for a peer it successfully causes a registration to occur, but the registration ignores the outboundproxy settings for the peer. This patch allows the peer to be passed to obproxy_get() in transmit_register(). (closes issue #14344) Reported by: Nick_Lewis Patches: callbackextension_peer_trunk.diff uploaded by dvossel (license 671) Tested by: dvossel Review: https://reviewboard.asterisk.org/r/294/ 2009-07-10 18:44 +0000 [r205939] Kevin P. Fleming * main/udptl.c: Update comments about the level of T.38 support in Asterisk. 2009-07-10 17:39 +0000 [r205878] Mark Michelson * /, channels/chan_sip.c: Merged revisions 205877 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r205877 | mmichelson | 2009-07-10 12:39:13 -0500 (Fri, 10 Jul 2009) | 23 lines Merged revisions 205776 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r205776 | mmichelson | 2009-07-10 10:56:45 -0500 (Fri, 10 Jul 2009) | 16 lines Merged revisions 205775 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r205775 | mmichelson | 2009-07-10 10:51:36 -0500 (Fri, 10 Jul 2009) | 10 lines Ensure that outbound NOTIFY requests are properly routed through stateful proxies. With this change, we make note of Record-Route headers present in any SUBSCRIBE request that we receive so that our outbound NOTIFY requests will have the proper Route headers in them. (closes issue #14725) Reported by: ibc ........ ................ ................ 2009-07-10 16:42 +0000 [r205840] David Vossel * /, channels/chan_sip.c: Merged revisions 205804 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r205804 | dvossel | 2009-07-10 11:23:59 -0500 (Fri, 10 Jul 2009) | 31 lines SIP registration auth loop caused by stale nonce If an endpoint sends two registration requests in a very short period of time with the same nonce, both receive 401 responses from Asterisk, each with a different nonce (the second 401 containing the current nonce and the first one being stale). If the endpoint responds to the first 401, it does not match the current nonce so Asterisk sends a third 401 with a newly generated nonce (which updates the current nonce)... Now if the endpoint responds to the second 401, it does not match the current nonce either and Asterisk sends a fourth 401 with a newly generated nonce... This loop goes on and on. There appears to be a simple fix for this. If the nonce from the request does not match our nonce, but is a good response to a previous nonce, instead of sending a 401 with a newly generated nonce, use the current one instead. This breaks the loop as the nonce is not updated until a response is received. Additional logic has been added to make sure no nonce can be responded to twice though. (closes issue #15102) Reported by: Jamuel Patches: patch-bug_0015102 uploaded by Jamuel (license 809) nonce_sip.diff uploaded by dvossel (license 671) Tested by: Jamuel Review: https://reviewboard.asterisk.org/r/289/ ........ 2009-07-10 16:00 +0000 [r205780] Kevin P. Fleming * apps/app_fax.c: Eliminate extraneous LOG_DEBUG messages generated by app_fax. The transmit_audio() and transmit_t38() functions in app_fax have processing loops that are supposed to wait for frames to arrive on the channel and then handle them, but they also have short timeouts so that the loops can have watchdog timers and do other required processing. This commit changes the loops to not actually call ast_read() and attempt to process the returned frame unless a frame actually arrived, eliminating hundreds of LOG_DEBUG messages and slightly improving performance. 2009-07-10 15:56 +0000 [r205776] Mark Michelson * /, channels/chan_sip.c: Merged revisions 205775 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r205775 | mmichelson | 2009-07-10 10:51:36 -0500 (Fri, 10 Jul 2009) | 10 lines Ensure that outbound NOTIFY requests are properly routed through stateful proxies. With this change, we make note of Record-Route headers present in any SUBSCRIBE request that we receive so that our outbound NOTIFY requests will have the proper Route headers in them. (closes issue #14725) Reported by: ibc ........ 2009-07-10 15:28 +0000 [r205770] Kevin P. Fleming * apps/app_fax.c: Fix some remaining T.38 negotiation problems in app_fax. Revision 205696 did not quite fix all the issues with the T.38 negotiation changes and app_fax; this patch corrects them, along with a couple of other minor issues. (closes issue #15480) Reported by: dimas Patches: test2-15480.patch uploaded by dimas (license 88) 2009-07-09 21:32 +0000 [r205700] Matthew Nicholson * addons/chan_mobile.c: Fix mbl_fixup() in chan_mobile to update newchan->tech_pvt instead of oldchan. (closes issue #15299) Reported by: nikkk 2009-07-09 21:20 +0000 [r205696] Kevin P. Fleming * channels/chan_sip.c, apps/app_fax.c, include/asterisk/frame.h: Repair ability of SendFAX/ReceiveFAX to respond to T.38 switchover. Recent changes in T.38 negotiation in Asterisk caused these applications to not respond when the other endpoint initiated a switchover to T.38; this resulted in the T.38 switchover failing, and the FAX attempt to be made using an audio connection, instead of T.38 (which would usually cause the FAX to fail completely). This patch corrects this problem, and the applications will now correctly respond to the T.38 switchover request. In addition, the response will include the appopriate T.38 session parameters based on what the other end offered and what our end is capable of. (closes issue #14849) Reported by: afosorio 2009-07-09 20:04 +0000 [r205666] Matthew Nicholson * funcs/func_odbc.c: Convert func_odbc to use ast_dummy_alloc_channel() Review: https://reviewboard.asterisk.org/r/290/ 2009-07-09 16:19 +0000 [r205600] David Vossel * /, include/asterisk/time.h: Merged revisions 205599 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r205599 | dvossel | 2009-07-09 11:18:09 -0500 (Thu, 09 Jul 2009) | 2 lines Changing ast_samp2tv to not use floating point. ........ 2009-07-09 14:10 +0000 [r205532-205562] Michiel van Baak * main/cel.c: make this compile again under devmode * main/ssl.c: pthread_self returns a pthread_t which is not an unsigned int on all pthread implementations. Casting it to an unsigned int fixes compiler warnings. Tested on OpenBSD and Linux both 32 and 64 bit 2009-07-08 23:19 +0000 [r205479] David Vossel * res/res_rtp_asterisk.c, /, channels/chan_iax2.c, include/asterisk/frame.h: Merged revisions 205471 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r205471 | dvossel | 2009-07-08 18:15:54 -0500 (Wed, 08 Jul 2009) | 10 lines Fixes 8khz assumptions Many calculations assume 8khz is the codec rate. This is not always the case. This patch only addresses chan_iax.c and res_rtp_asterisk.c, but I am sure there are other areas that make this assumption as well. Review: https://reviewboard.asterisk.org/r/306/ ........ 2009-07-08 23:07 +0000 [r205469] Matthew Nicholson * main/pbx.c: Fix a CEL related regression with hints updating by subscribing to AST_DEVICE_STATE instead of AST_DEVICE_STATE_CHANGED. (closes issue #15440) Reported by: lmsteffan 2009-07-08 22:15 +0000 [r205410-205412] David Vossel * include/asterisk/devicestate.h, main/pbx.c, /, main/devicestate.c, include/asterisk/pbx.h: Merged revisions 205409 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r205409 | dvossel | 2009-07-08 16:35:12 -0500 (Wed, 08 Jul 2009) | 6 lines moving ast_devstate_to_extenstate to pbx.c from devicestate.c ast_devstate_to_extenstate belongs in pbx.c. This change fixes a compile time error with chan_vpb as well. ........ * main/devicestate.c: missing comma in devstatestring array 2009-07-08 19:26 +0000 [r205350] Mark Michelson * /, apps/app_queue.c: Merged revisions 205349 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r205349 | mmichelson | 2009-07-08 14:26:13 -0500 (Wed, 08 Jul 2009) | 14 lines Prevent phantom calls to queue members. If a caller were to hang up while a periodic announcement or position were being said, the return value for those functions would incorrectly indicate that the caller was still in the queue. With these changes, the problem does not occur. (closes issue #14631) Reported by: latinsud Patches: queue_announce_ghost_call2.diff uploaded by latinsud (license 745) (with small modification from me) ........ 2009-07-08 18:19 +0000 [r205291] Jason Parker * config.sub, /, config.guess: Merged revisions 205288 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r205288 | qwell | 2009-07-08 13:19:03 -0500 (Wed, 08 Jul 2009) | 1 line Update config.guess and config.sub from the savannah.gnu.org git repo. ........ 2009-07-08 17:26 +0000 [r205254] David Brooks * main/features.c: Fixes Park() argument handling Park() was not respecting the arguments passed to it. Any extension/context/priority given to it was being ignored. This patch remedies this. (closes issue #15380) Reported by: DLNoah 2009-07-08 16:59 +0000 [r205221] Tilghman Lesher * main/say.c: Oops, fixing build 2009-07-08 16:54 +0000 [r205216] David Vossel * /, include/asterisk/time.h: Merged revisions 205215 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r205215 | dvossel | 2009-07-08 11:53:40 -0500 (Wed, 08 Jul 2009) | 10 lines ast_samp2tv needs floating point for 16khz audio In ast_samp2tv(), (1000000 / _rate) = 62.5 when _rate is 16000. The .5 is currently stripped off because we don't calculate using floating points. This causes madness with 16khz audio. (issue ABE-1899) Review: https://reviewboard.asterisk.org/r/305/ ........ 2009-07-08 16:43 +0000 [r205214] Sean Bright * utils/muted.c, configure, include/asterisk/autoconfig.h.in, configure.ac, main/dns.c: Fix a few compilation problems found when building Asterisk against uClibc. 2009-07-08 16:27 +0000 [r205196] Tilghman Lesher * /, main/say.c: Merged revisions 205188 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r205188 | tilghman | 2009-07-08 11:26:15 -0500 (Wed, 08 Jul 2009) | 2 lines Add redirection warnings for the invalid language codes previously removed. ........ 2009-07-08 15:56 +0000 [r205120-205151] Russell Bryant * main/ssl.c: Use tabs instead of spaces for indentation. * res/res_crypto.c, main/ssl.c (added), include/asterisk/_private.h, res/res_jabber.c, main/asterisk.c: Move OpenSSL initialization to a single place, make library usage thread-safe. While doing some reading about OpenSSL, I noticed a couple of things that needed to be improved with our usage of OpenSSL. 1) We had initialization of the library done in multiple modules. This has now been moved to a core function that gets executed during Asterisk startup. We already link OpenSSL into the core for TCP/TLS functionality, so this was the most logical place to do it. 2) OpenSSL is not thread-safe by default. However, making it thread safe is very easy. We just have to provide a couple of callbacks. One callback returns a thread ID. The other handles locking. For more information, start with the "Is OpenSSL thread-safe?" question on the FAQ page of openssl.org. 2009-07-08 14:45 +0000 [r205118] Luigi Rizzo * bootstrap.sh: FreeBSD now has autoconf 2.62 in the ports, 2.61 has disappeared. 2009-07-07 21:10 +0000 [r205086] Tilghman Lesher * channels/chan_sip.c: Permit setting custom headers from the peer definition. (closes issue #14059) Reported by: fnordian 2009-07-07 18:24 +0000 [r205014-205047] Matthew Nicholson * channels/sig_analog.c: Fix a deadlock in sig_analog * channels/sig_analog.c: Add CEL transfer events to analog (chan_dahdi) transfers. 2009-07-06 21:37 +0000 [r204986] Tilghman Lesher * addons/res_config_mysql.c: Merged revisions 981 via svnmerge from https://origsvn.digium.com/svn/asterisk-addons/branches/1.4 ........ r981 | tilghman | 2009-07-06 16:30:13 -0500 (Mon, 06 Jul 2009) | 7 lines Don't reset reconnect time, unless a reconnect really occurred. (closes issue #15375) Reported by: kowalma Patches: 20090628__issue15375.diff.txt uploaded by tilghman (license 14) Tested by: kowalma, jacco ........ 2009-07-06 13:38 +0000 [r204948] Kevin P. Fleming * main/channel.c: Improve handling of AST_CONTROL_T38 and AST_CONTROL_T38_PARAMETERS for non-T.38-capable channels. This change allows applications that request T.38 negotiation on a channel that does not support it to get the proper indication that it is not supported, rather than thinking that negotiation was started when it was not. 2009-07-03 15:44 +0000 [r204893-204919] Sean Bright * channels/sig_pri.h, channels/chan_dahdi.c, configure, include/asterisk/autoconfig.h.in, configure.ac, channels/sig_pri.c: Add a configure check for Reverse Charging Indication support in LibPRI. Also go back and wrap all of the places that use the specific reverse charge APIs with preprocessor conditionals. * include/asterisk/rtp_engine.h: Wrap rtp_engine.h header comments to 80 characters. 2009-07-02 22:01 +0000 [r204835] Richard Mudgett * channels/chan_misdn.c, /: Merged revisions 204834 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r204834 | rmudgett | 2009-07-02 16:59:43 -0500 (Thu, 02 Jul 2009) | 10 lines Removed confusing warning message "Got Busy in Connected State" If an incoming mISDN call is answered with the Answer application and a subsequent Dial gets a busy endpoint then it is valid for that already connected channel to get the busy indication. Asterisk will play the busy tones until the dialplan plays something else or hangs up the call. (closes issue #11974) Reported by: fvdb ........ 2009-07-02 20:37 +0000 [r204807] Matthew Nicholson * main/channel.c, main/features.c: Moved trigger for BRIDGE_END CEL event so that it is more accurate. 2009-07-02 17:46 +0000 [r204749] Sean Bright * channels/sig_pri.h, channels/chan_dahdi.c, configs/chan_dahdi.conf.sample, funcs/func_channel.c, CHANGES, channels/sig_pri.c: Support setting and receiving Reverse Charging Indication over ISDN PRI. This is a continuation of revision 885 to LibPRI (Capture and expose the Reverse Charging Indication IE on ISDN PRI) which added the ability to get/set Reverse Charging Indication in LibPRI. This patch adds the ability to specify RCI on the outbound leg of a PRI call from within Asterisk, by prefixing the dialed number with a capital 'C' like: ...,Dial(DAHDI/g1/C4445556666) And to read it off an inbound channel: exten => s,1,Set(RCI=${CHANNEL(reversecharge)}) Thanks again to rmudgett for the thorough review. (closes issue #13760) Reported by: mrgabu Review: https://reviewboard.asterisk.org/r/303/ 2009-07-02 16:03 +0000 [r204710] David Vossel * include/asterisk/devicestate.h, main/pbx.c, /, main/devicestate.c: Merged revisions 204681 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r204681 | dvossel | 2009-07-02 10:05:57 -0500 (Thu, 02 Jul 2009) | 14 lines Improved mapping of extension states from combined device states. This fixes a few issues with incorrect extension states and adds a cli command, core show device2extenstate, to display all possible state mappings. (closes issue #15413) Reported by: legart Patches: exten_helper.diff uploaded by dvossel (license 671) Tested by: dvossel, legart, amilcar Review: https://reviewboard.asterisk.org/r/301/ ........ 2009-07-01 19:47 +0000 [r204654] Ryan Brindley * configs/http.conf.sample: - cfgbasic.html has been replaced by index.html in the GUI for some time now 2009-07-01 16:06 +0000 [r204622] Sean Bright * apps/app_voicemail.c: A bunch of CODING_GUIDELINES related fixes. Not even close to done. 2009-06-30 20:41 +0000 [r204563] Tilghman Lesher * /, main/say.c, UPGRADE.txt: Merged revisions 204556 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r204556 | tilghman | 2009-06-30 15:23:51 -0500 (Tue, 30 Jun 2009) | 6 lines More incorrect language codes, plus ensuring that regionalizations use the specified language, and not English for grammar. (closes issue #15022) Reported by: greenfieldtech Patches: 20090519__issue15022.diff.txt uploaded by tilghman (license 14) ........ 2009-06-30 20:39 +0000 [r204561] Sean Bright * apps/app_voicemail.c: Remove an unnecessary #ifdef 2009-06-30 19:59 +0000 [r204530-204532] Mark Michelson * channels/chan_sip.c: Move the masquerade in local_attended_transfer to a point where we hold the channel lock. Masquerading without the channel's lock held is a *horrible* idea. * channels/chan_sip.c: Remove some bogus deadlock avoidance code from local_attended_transfer. First of all, the code was unnecessary. The goal was to lock a channel which was already locked. Second, the assumption of the deadlock avoidance loop was that the sip_pvt was already locked and we were trying to get the channel lock. The problem is that the sip_pvt was unlocked a few lines above. Basically, I'm removing 5 lines of no-op. 2009-06-30 18:48 +0000 [r204475] Jason Parker * /, main/say.c: Merged revisions 204474 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r204474 | qwell | 2009-06-30 13:47:06 -0500 (Tue, 30 Jun 2009) | 1 line Fix ast_say_counted_noun to correctly handle Polish. Fix a comment typo in passing. ........ 2009-06-30 18:36 +0000 [r204470] Tilghman Lesher * /, main/say.c, UPGRADE.txt, apps/app_voicemail.c: Recorded merge of revisions 204469 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r204469 | tilghman | 2009-06-30 13:23:35 -0500 (Tue, 30 Jun 2009) | 11 lines "tw" is the language specification for Twi (from Ghana) not Taiwanese. (closes issue #15346) Reported by: volivier Patches: 20090617__issue15346__1.4.diff.txt uploaded by tilghman (license 14) 20090617__issue15346__trunk.diff.txt uploaded by tilghman (license 14) 20090617__issue15346__1.6.0.diff.txt uploaded by tilghman (license 14) 20090617__issue15346__1.6.1.diff.txt uploaded by tilghman (license 14) 20090617__issue15346__1.6.2.diff.txt uploaded by tilghman (license 14) Tested by: volivier ........ 2009-06-30 17:22 +0000 [r204417-204440] Russell Bryant * configs/res_config_sqlite.conf (removed), configs/res_config_sqlite.conf.sample (added): Rename res_config_sqlite.conf to res_config_sqlite.conf.sample (missing .sample). * addons/chan_ooh323.c, configs/chan_ooh323.conf.sample (added), configs/ooh323.conf.sample (removed): Rename ooh323.conf to chan_ooh323.conf, make module support both names * configs/mobile.conf.sample (removed), addons/chan_mobile.c, configs/chan_mobile.conf.sample (added): Rename mobile.conf to chan_mobile.conf, make module support old name, too * configs/res_config_mysql.conf.sample (added), configs/res_mysql.conf.sample (removed), addons/res_config_mysql.c: Rename res_mysql.conf to res_config_mysql.conf, make module support both * Makefile: Make addons build last - this is for Qwell. * addons/app_mysql.c, configs/app_mysql.conf.sample (added), configs/mysql.conf.sample (removed): Rename mysql.conf to app_mysql.conf, make module support both names * addons/Makefile, addons/cdr_mysql.c (added), addons/cdr_addon_mysql.c (removed): Rename cdr_addon_mysql to cdr_mysql * addons/app_mysql.c (added), addons/app_addon_sql_mysql.c (removed), addons/Makefile: Rename app_addon_sql_mysql to app_mysql 2009-06-30 17:04 +0000 [r204415] Kevin P. Fleming * build_tools/embed_modules.xml, Makefile.moddir_rules, addons/Makefile: Add-ons related build system improvements. Ensure that add-on modules can be embedded, fix up Makefile.moddir_rules to allow module directory Makefiles to more easily specify the modules to be built, and explicitly list the addons modules in its Makefile, since the module names don't follow any pattern. 2009-06-30 16:40 +0000 [r204413] Russell Bryant * autoconf/ast_ext_tool_check.m4, addons/ooh323c/src/oochannels.h, addons/ooh323c/src/printHandler.h, addons/chan_ooh323.c, addons/ooh323c/src/ooq931.h, include/asterisk/autoconfig.h.in, addons/ooh323c/src/ootrace.h, addons/chan_ooh323.h, addons/ooh323c/src/ooasn1.h, configs/res_mysql.conf.sample (added), addons/ooh323c/src/ooStackCmds.c, addons/ooh323c/src/errmgmt.c, addons/ooh323c/src/ooStackCmds.h, addons/ooh323c/src/eventHandler.c, addons/ooh323c/src/h323/H235-SECURITY-MESSAGES.h, addons/mp3/huffman.h, configure, addons/ooh323c/src/eventHandler.h, addons/ooh323cDriver.c, include/asterisk/mod_format.h, addons/mp3/interface.c, doc/tex/asterisk.tex, addons/ooh323cDriver.h, addons/cdr_addon_mysql.c, addons/ooh323c/src/encode.c, addons/mp3/MPGLIB_README, addons/ooh323c/src/h323/H235-SECURITY-MESSAGESEnc.c, configure.ac, doc/tex/chan_mobile.tex (added), addons/ooh323c/src/ooports.c, addons/mp3/mpg123.h, addons/mp3/mpglib.h, addons (added), addons/ooh323c/src/h323/MULTIMEDIA-SYSTEM-CONTROL.c, addons/ooh323c/src/ooports.h, addons/ooh323c/src/memheap.c, Makefile, addons/ooh323c/src/h323/MULTIMEDIA-SYSTEM-CONTROL.h, addons/ooh323c/src/ooh245.c, addons/mp3/common.c, addons/ooh323c/src/memheap.h, addons/ooh323c/src/perutil.c, addons/mp3/decode_i386.c, addons/ooh323c/src/ooh245.h, addons/mp3/dct64_i386.c, addons/ooh323c/src/ooSocket.c, addons/ooh323c/src/h323/H235-SECURITY-MESSAGESDec.c, addons/mp3/layer3.c, addons/ooh323c/src/ooper.h, addons/ooh323c/src/ooCmdChannel.c, addons/ooh323c/src/ooSocket.h, addons/ooh323c/src/ooCommon.h, addons/ooh323c/src/ooCmdChannel.h, addons/ooh323c/COPYING, addons/format_mp3.c, addons/ooh323c/src/Makefile.in, configs/mobile.conf.sample (added), addons/ooh323c/src/ootypes.h, addons/mp3, addons/ooh323c/src/ooLogChan.c, addons/ooh323c/src/ooTimer.c, addons/ooh323c/src/ooLogChan.h, addons/ooh323c/src/dlist.c, addons/ooh323c/src/ooCapability.c, addons/ooh323c/src/oohdr.h, README-addons.txt (added), addons/app_addon_sql_mysql.c, addons/ooh323c/src/ooTimer.h, addons/ooh323c/src/ooCapability.h, addons/ooh323c/src/dlist.h, addons/mp3/Makefile, addons/Makefile, addons/ooh323c/README, addons/ooh323c, doc/tex/cdrdriver.tex, addons/ooh323c/src/h323/H323-MESSAGESEnc.c, addons/chan_mobile.c, configs/cdr_mysql.conf.sample (added), addons/ooh323c/src/ooDateTime.c, addons/ooh323c/src/rtctype.c, addons/ooh323c/src/ooCalls.c, addons/ooh323c/src/ooGkClient.c, addons/ooh323c/src/h323, addons/ooh323c/src/ooUtils.c, addons/ooh323c/src/ooDateTime.h, addons/ooh323c/src/h323/MULTIMEDIA-SYSTEM-CONTROLEnc.c, addons/ooh323c/src/rtctype.h, addons/ooh323c/src/ooCalls.h, configs/mysql.conf.sample (added), addons/ooh323c/src/ooh323ep.c, addons/ooh323c/src/ooGkClient.h, addons/ooh323c/src/h323/H323-MESSAGES.c, addons/ooh323c/src/ooUtils.h, addons/mp3/README, UPGRADE.txt, addons/mp3/MPGLIB_TODO, addons/ooh323c/src/ooh323ep.h, addons/ooh323c/src/h323/H323-MESSAGES.h, addons/mp3/decode_ntom.c, configs/ooh323.conf.sample (added), addons/ooh323c/src/ooh323.c, addons/ooh323c/src/h323/H323-MESSAGESDec.c, addons/ooh323c/src, build_tools/menuselect-deps.in, addons/mp3/tabinit.c, addons/ooh323c/src/ooh323.h, doc/tex/Makefile, addons/ooh323c/src/decode.c, addons/ooh323c/src/context.c, main/file.c, addons/ooh323c/src/h323/MULTIMEDIA-SYSTEM-CONTROLDec.c, makeopts.in, addons/ooh323c/src/oochannels.c, addons/app_saycountpl.c, addons/ooh323c/src/printHandler.c, addons/ooh323c/src/ooq931.c, addons/ooh323c/src/ootrace.c, addons/res_config_mysql.c: Move Asterisk-addons modules into the main Asterisk source tree. Someone asked yesterday, "is there a good reason why we can't just put these modules in Asterisk?". After a brief discussion, as long as the modules are clearly set aside in their own directory and not enabled by default, it is perfectly fine. For more information about why a module goes in addons, see README-addons.txt. chan_ooh323 does not currently compile as it is behind some trunk API updates. However, it will not build by default, so it should be okay for now. 2009-06-29 23:50 +0000 [r204355] Sean Bright * apps/app_meetme.c: A few const changes in app_meetme.c that I noticed while browsing the source. 2009-06-29 22:50 +0000 [r204247-204301] Mark Michelson * /, channels/chan_sip.c: Merged revisions 204300 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r204300 | mmichelson | 2009-06-29 17:45:34 -0500 (Mon, 29 Jun 2009) | 9 lines Add error message so that it is clear why a SIP peer was not processed when a DNS lookup fails on a host or outboundproxy. (closes issue #13432) Reported by: p_lindheimer Patches: outboundproxy.patch uploaded by p (license 558) ........ * /, channels/chan_sip.c: Merged revisions 204243,204246 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r204243 | mmichelson | 2009-06-29 16:23:43 -0500 (Mon, 29 Jun 2009) | 22 lines Fix a problem where chan_sip would ignore "old" but valid responses. chan_sip has had a problem for quite a long time that would manifest when Asterisk would send multiple SIP responses on the same dialog before receiving a response. The problem occurred because chan_sip only kept track of the highest outgoing sequence number used on the dialog. If Asterisk sent two requests out, and a response arrived for the first request sent, then Asterisk would ignore the response. The result was that Asterisk would continue retransmitting the requests and ignoring the responses until the maximum number of retransmissions had been reached. The fix here is to rearrange the code a bit so that instead of simply comparing the sequence number of the response to our latest outgoing sequence number, we walk our list of outstanding packets and determine if there is a match. If there is, we continue. If not, then we ignore the response. In doing this, I found a few completely useless variables that I have now removed. (closes issue #11231) Reported by: flefoll Review: https://reviewboard.asterisk.org/r/298 ........ r204246 | mmichelson | 2009-06-29 16:37:05 -0500 (Mon, 29 Jun 2009) | 3 lines Fix build oops. ........ 2009-06-29 20:29 +0000 [r204119-204217] Sean Bright * configs/cel_adaptive_odbc.conf.sample: Reorganize this adaptive CEL config a bit. * apps/app_rpt.c: Get app_rpt compiling again. I doubt seriously that it actually works. Also, the code in this module is horrendous and we should remove it from the tree. I'm not sure who is supposed to be maintaning this thing, but they clearly are not. I don't see the sense of leaving it in the main tree. If it lives *anywhere* it should be in addons. * configs/cel_sqlite3_custom.conf.sample, configs/cel.conf.sample, configs/cel_adaptive_odbc.conf.sample, configs/cel_pgsql.conf.sample, configs/cel_custom.conf.sample: Add common headers to CEL related configs. 2009-06-29 17:56 +0000 [r204069-204118] Tilghman Lesher * main/channel.c, include/asterisk/channel.h: Allow trunk to once again compile under MALLOC_DEBUG * configs/cel_adaptive_odbc.conf.sample: Remove invalid entries in the config. This might seem like a legitimate comment that merely needed semicolon prefixes, but in reality, the adaptive layer is designed to allow arbitrary CDR variables, without needing the use of a userfield to store multiple items. It's therefore not only invalid syntax but also goes against the intent of the adaptive method. 2009-06-27 20:26 +0000 [r203985] Sean Bright * CHANGES: Another CHANGES spelling fix. 2009-06-27 10:04 +0000 [r203960-203962] Russell Bryant * main/app.c: Only update total silence counter after a counter reset. (closes issue #2264) Reported by: pfn Patches: silent-vm-1.6.2-fix2.txt uploaded by pfn (license 810) Tested by: pfn * UPGRADE.txt, CHANGES: Minor tweaks and spelling fixes for CHANGES and UPGRADE.txt. 2009-06-27 01:07 +0000 [r203909] Richard Mudgett * /, channels/sig_pri.c: Merged revisions 203908 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r203908 | rmudgett | 2009-06-26 19:55:12 -0500 (Fri, 26 Jun 2009) | 16 lines The ISDN CPE side should not exclusively pick B channels normally. Before this patch, Asterisk unconditionally picked B channels exclusively on the CPE side and normally allowed alternative B channels on the network side. Now Asterisk does the opposite. Reasons for the CPE side to normally not pick B channels exclusively: * For CPE point-to-multipoint mode (i.e. phone side), the CPE side does not have enough information to exclusively pick B channels. (There may be other devices on the line.) * Q.931 gives preference to the network side picking B channels. * Some telcos require the CPE side to not pick B channels exclusively. (closes issue #14383) Reported by: mbrancaleoni ........ 2009-06-26 22:11 +0000 [r203853] Jeff Peeler * channels/chan_dahdi.c, /: Merged revisions 203848 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r203848 | jpeeler | 2009-06-26 17:09:19 -0500 (Fri, 26 Jun 2009) | 5 lines Make sure to recreate the dahdi pseudo channel after dahdi restart (closes issue #14477) Reported by: timking ........ 2009-06-26 22:08 +0000 [r203846] Sean Bright * cdr/cdr_syslog.c (added), build_tools/menuselect-deps.in, configure, configure.ac, configs/cdr_syslog.conf.sample (added), CHANGES: Add a new module, cdr_syslog, which allows writing CDRs to syslog. The original patch for this was written by Brett Bryant, and I split it out into it's own module. (closes issue #12876) Reported by: bbryant Patches: 06162008_cdr_custom_syslog.diff uploaded by bbryant (license 36) 05212009_cdr_syslog.patch uploaded by seanbright (license 71) Tested by: seanbright Review: https://reviewboard.asterisk.org/r/297/ 2009-06-26 21:48 +0000 [r203802-203842] Russell Bryant * CHANGES, apps/app_chanspy.c: Add 's' option to ChanSpy, which makes the app exit when no channels are left to spy on. (closes issue #14594) Reported by: JimDickenson Patches: chanspy.diff uploaded by JimDickenson (license 710) * /, main/file.c: Merged revisions 203785 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r203785 | russell | 2009-06-26 16:16:39 -0500 (Fri, 26 Jun 2009) | 15 lines Don't fast forward past the end of a message. This is nice change for users of the voicemail application. If someone gets a little carried away with fast forwarding through a message, they can easily get to the end and accidentally exit the voicemail application by hitting the fast forward key during the following prompt. This adds some safety by not allowing a fast forward past the end of a message. (closes issue #14554) Reported by: lacoursj Patches: 21761.patch uploaded by lacoursj (license 707) Tested by: lacoursj ........ 2009-06-26 20:52 +0000 [r203783] Mark Michelson * doc/manager_1_1.txt, main/manager.c: Add timestamp to response to "Ping" manager action. (closes issue #14596) Reported by: JimDickenson Patches: pong2.diff uploaded by JimDickenson (license 710) 2009-06-26 20:45 +0000 [r203779] Russell Bryant * channels/chan_sip.c: Ensure the TCP read buffer is fully initialized before handling each packet. (closes issue #14452) Reported by: umberto71 2009-06-26 20:19 +0000 [r203735] Joshua Colp * channels/chan_sip.c, configs/sip.conf.sample, CHANGES: Fix the 'nat' option to actually do RFC3581 as expected and extend the configurable values for finer control. (closes issue #8855) Reported by: mikma Tested by: klaus3000, file 2009-06-26 20:13 +0000 [r203721] David Brooks * apps/app_voicemail.c: Fixing voicemail's error in checking max silence vs min message length Max silence was represented in milliseconds, yet vmminsecs (minmessage) was represented as seconds. Also, the inequality was reversed. The warning, if triggered, was "Max silence should be less than minmessage or you may get empty messages", which should have been logged if max silence was greater than minmessage, but the check was for less than. Also, conforming if statement to coding guidelines. closes issue #15331) Reported by: markd Review: https://reviewboard.asterisk.org/r/293/ 2009-06-26 19:47 +0000 [r203710] David Vossel * channels/chan_iax2.c: moving debug message from level 0 to 1. (closes issue #15404) Reported by: leobrown Patches: iax_codec_debug.patch uploaded by leobrown (license 541) 2009-06-26 19:31 +0000 [r203702] Russell Bryant * include/asterisk/devicestate.h, main/pbx.c, main/devicestate.c: Make invalid hints report Unavailable instead of Idle. (closes issue #14413) Reported by: pj 2009-06-26 19:27 +0000 [r203699] Joshua Colp * main/channel.c, main/frame.c, main/rtp_engine.c, channels/chan_sip.c, apps/app_fax.c, configs/sip.conf.sample, include/asterisk/frame.h: Improve T.38 negotiation by exchanging session parameters between application and channel. 2009-06-26 19:03 +0000 [r203672] Jeff Peeler * channels/sig_analog.c: Check if polarityonanswerdelay has elapsed before setting a channel as answered after a polarity reversal. Previously on a polarity switch event chan_dahdi would set the channel immediately as answered. This would cause problems if a polarity reversal occurred when the line was picked up as the dial would not have yet occurred. Now if the polarity reversal occurs before delay has elapsed after coming off hook or an answer, it is ignored. Also, some refactoring was done in _handle_event. (closes issue #13917) Reported by: alecdavis Patches: chan_dahdi.bug13917.feb09.diff2.txt uploaded by alecdavis (license 585) Tested by: alecdavis 2009-06-26 15:42 +0000 [r203638-203640] Russell Bryant * include/asterisk/doxyref.h, include/asterisk/channel.h: Note a new API call, and one that changed in doxygen. * cel/cel_pgsql.c, configs/cel_sqlite3_custom.conf.sample (added), cdr/cdr_sqlite3_custom.c, configs/cel.conf.sample (added), channels/chan_local.c, include/asterisk/cel.h (added), main/devicestate.c, apps/app_chanisavail.c, channels/chan_iax2.c, doc/tex/cel-doc.tex (added), main/loader.c, main/cli.c, channels/chan_dahdi.c, channels/sig_analog.c, channels/chan_skinny.c, include/asterisk/event_defs.h, main/features.c, res/ais/evt.c, channels/sig_analog.h, channels/chan_alsa.c, doc/tex/asterisk.tex, cdr/cdr_manager.c, apps/app_dial.c, main/pbx.c, include/asterisk/utils.h, channels/chan_bridge.c, cel/cel_tds.c, channels/chan_agent.c, configs/cel_adaptive_odbc.conf.sample (added), include/asterisk/cdr.h, include/asterisk/channel.h, CHANGES, main/cel.c (added), Makefile, channels/chan_misdn.c, funcs/func_channel.c, funcs/func_cdr.c, doc/tex/celdriver.tex (added), main/asterisk.c, cel/cel_adaptive_odbc.c, apps/app_voicemail.c, res/res_calendar.c, channels/chan_unistim.c, tests/test_substitution.c, cel/cel_radius.c, channels/chan_multicast_rtp.c, channels/chan_vpb.cc, apps/app_meetme.c, channels/chan_gtalk.c, apps/app_followme.c, configs/cel_tds.conf.sample (added), main/channel.c, main/cdr.c, channels/chan_phone.c, main/dial.c, main/manager.c, include/asterisk/event.h, bridges/bridge_builtin_features.c, funcs/func_odbc.c, cel/cel_custom.c, cel/cel_manager.c, cdr/cdr_sqlite.c, res/res_agi.c, apps/app_minivm.c, main/logger.c, apps/app_confbridge.c, configs/cel_custom.conf.sample (added), channels/chan_mgcp.c, apps/app_parkandannounce.c, cdr/cdr_custom.c, channels/chan_sip.c, cel (added), configs/cel_pgsql.conf.sample (added), channels/chan_console.c, include/asterisk/_private.h, channels/sig_pri.c, apps/app_queue.c, channels/chan_oss.c, channels/sig_pri.h, channels/chan_usbradio.c, channels/chan_jingle.c, cel/Makefile, apps/app_celgenuserevent.c (added), apps/app_directed_pickup.c, channels/chan_h323.c, cel/cel_sqlite3_custom.c, main/event.c, channels/chan_nbs.c: Merge the new Channel Event Logging (CEL) subsystem. CEL is the new system for logging channel events. This was inspired after facing many problems trying to represent what is possible to happen to a call in Asterisk using CDR records. For more information on CEL, see the built in HTML or PDF documentation generated from the files in doc/tex/. Many thanks to Steve Murphy (murf) and Brian Degenhardt (bmd) for their hard work developing this code. Also, thanks to Matt Nicholson (mnicholson) and Sean Bright (seanbright) for their assistance in the final push to get this code ready for Asterisk trunk. Review: https://reviewboard.asterisk.org/r/239/ 2009-06-26 13:00 +0000 [r203569-203605] Sean Bright * include/asterisk/syslog.h, main/syslog.c: Add functions to map syslog facilities and priorities constants to strings. Also change the default casing of the string contants to lowercase. This really just saves us from have to lowercase them later when displaying them. * configure, include/asterisk/autoconfig.h.in, configure.ac, main/syslog.c: Add checks in configure for non-POSIX syslog facilities. 2009-06-26 00:23 +0000 [r203525-203534] Russell Bryant * main/syslog.c: One more formatting nit ... use spaces for inline indentation. * main/syslog.c: Convert spaces to tabs for indentation. 2009-06-25 23:54 +0000 [r203508] Sean Bright * include/asterisk/syslog.h (added), main/logger.c, main/syslog.c (added): Move syslog utility functions into a separate file so they can be re-used. This has the pleasant side effect of cleaning up the header inclusion process in logger.c. 2009-06-25 22:48 +0000 [r203479] Jeff Peeler * channels/chan_dahdi.c: make sure chan_dahdi compiles with only libss7 and not libpri installed 2009-06-25 21:45 +0000 [r203444] David Vossel * main/ast_expr2.fl, main/ast_expr2.c: fixes a few redundant conditions (issue #15269) 2009-06-25 21:34 +0000 [r203443] Richard Mudgett * channels/chan_dahdi.c: Picking nits 2009-06-25 21:22 +0000 [r203402] Jeff Peeler * channels/chan_dahdi.c, configs/chan_dahdi.conf.sample: Remove some unnecessary code and update sample config file with respect to GR-303. 2009-06-25 21:15 +0000 [r203381] Terry Wilson * /, main/cli.c: Merged revisions 203380 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r203380 | twilson | 2009-06-25 16:13:10 -0500 (Thu, 25 Jun 2009) | 4 lines I didn't see that Mark already fixed the underlying issue! Yay for removing useless code. ........ 2009-06-25 21:04 +0000 [r203376] Russell Bryant * /, main/features.c: Merged revisions 203375 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r203375 | russell | 2009-06-25 16:02:18 -0500 (Thu, 25 Jun 2009) | 9 lines Fix a case where CDR answer time could be before the start time involving parking. (closes issue #13794) Reported by: davidw Patches: 13794.patch uploaded by murf (license 17) 13794.patch.160 uploaded by murf (license 17) Tested by: murf, dbrooks ........ 2009-06-25 20:25 +0000 [r203338] Terry Wilson * /, main/cli.c: Merged revisions 203311 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r203311 | twilson | 2009-06-25 15:09:15 -0500 (Thu, 25 Jun 2009) | 2 lines Don't try to free NULL ........ 2009-06-25 19:54 +0000 [r203304] Jeff Peeler * channels/sig_pri.h (added), channels/chan_dahdi.c, channels/sig_analog.c, channels/sig_analog.h, channels/sig_pri.c (added), channels/Makefile: New signaling module to handle PRI/BRI operations in chan_dahdi This merge splits the PRI/BRI signaling logic out of chan_dahdi.c into sig_pri.c. Functionality in theory should not change (mostly). A few trivial changes were made in sig_analog with verbose messages and commenting. 2009-06-25 19:22 +0000 [r203258] Jason Parker * channels/chan_dahdi.c: Unmute when we get a dtmfup (we muted on dtmfdown) event. This would occasionally cause one-way audio when using hardware DTMF detection. (closes issue #14761) Reported by: tzafrir Patches: v1-14761.patch uploaded by dimas (license 88) Tested by: tzafrir, dimas 2009-06-25 18:25 +0000 [r203227] Joshua Colp * res/res_rtp_multicast.c (added), channels/chan_multicast_rtp.c (added), CHANGES: Add support for multicast RTP paging. (closes issue #11797) Reported by: macbrody Review: https://reviewboard.asterisk.org/r/270/ 2009-06-25 17:01 +0000 [r203188] Sean Bright * main/logger.c: Pass a logmsg to ast_log_vsyslog instead of separate arguments. 2009-06-25 16:18 +0000 [r203126] Doug Bailey * channels/chan_dahdi.c: Insure ring cadence is set for fxs ports Moved SETCADENCE ioctl call to before call into new analog signal module to insure that it gets set. (closes issue #15381) Reported by: alecdavis Patches: fix15381.diff uploaded by dbailey (license 819) Tested by: dbailey 2009-06-25 16:04 +0000 [r203116] Russell Bryant * /, channels/chan_sip.c: Merged revisions 203115 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r203115 | russell | 2009-06-25 11:02:16 -0500 (Thu, 25 Jun 2009) | 11 lines Resolve a crash related to a T.38 reinvite race condition. This change resolves a crash observed locally during some T.38 testing. A call was set up using a call file, and when the T.38 reinvite came in, the channel state was still AST_STATE_DOWN. The reason is explained by a comment in the code that previously lived in the handling of AST_STATE_RINGING. This change modifies the logic to handle the same race condition for any channel state that is not UP. (closes ABE-1895) ........ 2009-06-24 21:08 +0000 [r203037] Richard Mudgett * channels/chan_dahdi.c, /: Merged revisions 203036 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r203036 | rmudgett | 2009-06-24 16:01:43 -0500 (Wed, 24 Jun 2009) | 8 lines Improved chan_dahdi.conf pritimer error checking. Valid format is: pritimer=timer_name,timer_value * Fixed segfault if the ',' is missing. * Completely check the range returned by pri_timer2idx() to prevent possible access outside array bounds. ........ 2009-06-24 18:29 +0000 [r202967] Mark Michelson * /, channels/chan_sip.c: Merged revisions 202966 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r202966 | mmichelson | 2009-06-24 13:28:47 -0500 (Wed, 24 Jun 2009) | 3 lines Use the handy UNLINK macro instead of hand-coding the same thing in-line. ........ 2009-06-24 18:08 +0000 [r202925] Joshua Colp * channels/chan_sip.c: Ensure the default settings are applied for T.38 when we set it up for a peer. 2009-06-24 13:53 +0000 [r202840-202889] Sean Bright * doc/tex: Ignore some files generated when asterisk.pdf is created. * configs/cdr_tds.conf.sample, cdr/cdr_tds.c: Update sample cdr_tds configuration to try and eliminate some confusion. Also change the preferred configuration option from 'hostname' (which was misleading because it didn't actually treat the value as a hostname) to 'connection' and added some verbage explaining that the user would need to refer to their freetds.conf file for those settings. 'hostname' was kept as a backwards compatible configuration parameter. * doc/tex/billing.tex, doc/tex/cdrdriver.tex: Change some section names in the CDR tex documentation. * doc/tex/cdrdriver.tex: Remove some trailing whitespace before making content changes. 2009-06-23 22:47 +0000 [r202804] Russell Bryant * doc/tex/cdrdriver.tex: Clean up section hierarchy for the CDR chapter. 2009-06-23 22:08 +0000 [r202761] Matthew Fredrickson * channels/chan_dahdi.c: I could have sworn I committed this patch ages ago, but... bug fix with setting NAI properly on linksets in certain situations. 2009-06-23 21:38 +0000 [r202755] Richard Mudgett * channels/chan_misdn.c: Make outgoing_colp=2 misdn.conf port parameter not send redirecting or transfer messages. If the outgoing_colp parameter is set to not send COLP information, then it does not make sense to send redirecting or transfer messages announcing new COLP information that is blocked. The service provider may supply the listed number for that line when it passes the messages to the next hop. Why tell the switch that these events happened when the information is otherwise suppressed? Also blocked the number of previous redirects that may have occurred to calls going out the port when outgoing_colp is 2. Follow on to JIRA ABE-1853. 2009-06-23 21:25 +0000 [r202753] Ryan Brindley * main/config.c: If we delete the info, lets also delete the lines (closes issue #14509) Reported by: timeshell Patches: 20090504__bug14509.diff.txt uploaded by tilghman (license 14) Tested by: awk, timeshell 2009-06-23 16:31 +0000 [r202672] David Vossel * /, channels/chan_sip.c: Merged revisions 202671 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r202671 | dvossel | 2009-06-23 11:28:46 -0500 (Tue, 23 Jun 2009) | 12 lines MWI NOTIFY contains a wrong URI if Asterisk listens to non-standard port and transport (closes issue #14659) Reported by: klaus3000 Patches: patch_chan_sip_fixMWIuri_1.4.txt uploaded by klaus3000 (license 65) mwi_port-transport_trunk.diff uploaded by dvossel (license 671) Tested by: dvossel, klaus3000 Review: https://reviewboard.asterisk.org/r/288/ ........ 2009-06-23 14:54 +0000 [r202497-202570] Russell Bryant * main/app.c, CHANGES: Ignore voicemail messages that are just silence. (closes issue #2264) Reported by: pfn Patches: silent-vm-1.6.2.txt uploaded by pfn (license 810) * main/channel.c, /: Merged revisions 202496 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r202496 | russell | 2009-06-22 15:08:53 -0500 (Mon, 22 Jun 2009) | 4 lines Report CallerID change during a masquerade. Reported by: markster ........ 2009-06-22 16:09 +0000 [r202417] Sean Bright * cdr/cdr_sqlite3_custom.c: Fix lock usage in cdr_sqlite3_custom to avoid potential crashes during reload. Pointed out by Russell while working on the CEL branch. 2009-06-22 16:05 +0000 [r202415] Russell Bryant * /, channels/chan_sip.c: Merged revisions 202414 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r202414 | russell | 2009-06-22 11:00:00 -0500 (Mon, 22 Jun 2009) | 2 lines Make Polycom subscription type override check more explicit. ........ 2009-06-22 15:33 +0000 [r202410] David Vossel * include/asterisk/module.h, main/loader.c: attempting to load running modules Modules placed in the priority heap for loading were not properly removed from the linked list. This resulted in some modules attempting to load twice. 2009-06-22 14:58 +0000 [r202337-202343] Mark Michelson * /, channels/chan_sip.c: Merged revisions 202341-202342 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r202341 | mmichelson | 2009-06-22 09:42:55 -0500 (Mon, 22 Jun 2009) | 26 lines Fix a situation in which Asterisk would not stop retransmitting 487s. If a CANCEL were received by Asterisk, we would send a 487 in response to the original INVITE and a 200 OK for the CANCEL. If there were a network hiccup which caused the 200 OK and the 487 to be lost, then the UA communicating with Asterisk may try to retransmit its CANCEL. Asterisk's response to this used to be to try sending another 487 to the canceled INVITE and another 200 OK to the CANCEL. The problem here is that the originally-sent 487 was sent "reliably" meaning that it will be retransmitted until it is received properly. So when we receive the second CANCEL it is likely that the first batch of 487s we sent is still going strong and reaches the UA. The result was that the second set of 487s would be retransmitted constantly until the maximum number of retries had been reached. The fix for this is that if we receive a second CANCEL for an INVITE, then we cancel the retransmission of the first set of 487s and start a second set. This causes the dialog to be terminated reasonably. (closes issue #14584) Reported by: klaus3000 Patches: 14584_v2.patch uploaded by mmichelson (license 60) Tested by: klaus3000 ........ r202342 | mmichelson | 2009-06-22 09:44:58 -0500 (Mon, 22 Jun 2009) | 3 lines Remove an extra debug line left from previous commit. ........ * /, channels/chan_sip.c: Merged revisions 202336 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r202336 | mmichelson | 2009-06-22 09:34:05 -0500 (Mon, 22 Jun 2009) | 25 lines Fix a possible infinite loop in SDP parsing during glare situation. There was a while loop in get_ip_and_port_from_sdp which was controlled by a call to get_sdp_iterate. The loop would exit either if what we were searching for was found or if the return was NULL. The problem is that get_sdp_iterate never returns NULL. This means that if what we were searching for was not present, the loop would run infinitely. This modification of the loop fixes the problem. (closes issue #15213) Reported by: schmidts (closes issue #15349) Reported by: samy (closes issue #14464) Reported by: pj (closes issue #15345) Reported by: aragon Patches: sip_inf_loop.patch uploaded by mmichelson (license 60) Tested by: aragon ........ 2009-06-21 16:36 +0000 [r202223-202301] Russell Bryant * cdr/cdr_sqlite3_custom.c: Note a bug in cdr_sqlite3_custom so I don't forget about it. * cdr/cdr_manager.c: Fix possibility of crashiness during reload in custom fields handling. * cdr/cdr_manager.c: Standardize return values of load_config() so reload() doesn't report an error on success. * cdr/cdr_manager.c: Leave a note about some unsafe code in cdr_manager 2009-06-20 19:09 +0000 [r202183] Sean Bright * apps/app_fax.c: Fix version detection for API changes in spandsp. (closes issue #15355) Reported by: deuffy 2009-06-20 14:09 +0000 [r202109] Russell Bryant * main/cdr.c, cdr/cdr_adaptive_odbc.c, cdr/cdr_pgsql.c: Remove unnecessary usleep() from a couple of module unload callbacks. In passing, also tweak cdr_unregister() to hold the list lock a bit less time. 2009-06-19 21:25 +0000 [r202039] Matthew Nicholson * channels/chan_sip.c: Use sched_yield() instead of usleep(1) 2009-06-19 20:24 +0000 [r201994] David Vossel * /, channels/chan_iax2.c: Merged revisions 201993 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r201993 | dvossel | 2009-06-19 15:22:02 -0500 (Fri, 19 Jun 2009) | 8 lines timestamp was being converted to host order as a short rather than a long (closes issue #15361) Reported by: ffloimair Patches: ts_issue.diff uploaded by dvossel (license 671) ........ 2009-06-19 17:40 +0000 [r201944] Terry Wilson * CHANGES: Add note about the addition of calendar support 2009-06-19 15:47 +0000 [r201904] Tilghman Lesher * res/res_config_odbc.c: Fix 2 typos and add support for wide character types. Reported by Benny Amorsen via the asterisk-users mailing list. http://lists.digium.com/pipermail/asterisk-users/2009-June/233622.html 2009-06-19 15:41 +0000 [r201902] Joshua Colp * main/rtp_engine.c, channels/chan_sip.c, include/asterisk/rtp_engine.h: Add support for allowing an RTP engine to decide on whether it is possible for specific formats to be transcoded for an RTP instance. 2009-06-19 00:43 +0000 [r201745-201829] Tilghman Lesher * /, main/features.c: Merged revisions 201828 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r201828 | tilghman | 2009-06-18 19:40:41 -0500 (Thu, 18 Jun 2009) | 6 lines If the "h" extension fails, give it another chance in main/pbx.c. If the "h" extension fails, give it another chance in main/pbx.c, when it returns from the bridge code. Fixes an issue where the "h" extension may occasionally not fire, when a Dial is executed from a Macro. Debugged in #asterisk with user tompaw. ........ * apps/Makefile: One of the changes in 1.6.1 was to allow app_directory to use functionality within app_voicemail for directory functions. It is therefore no longer necessary for app_directory to be linked against the ODBC libraries (and it never was necessary for app_directory to be linked against IMAP, though it was). * funcs/func_cut.c: Clarify CUT code, and in the process, fix a bug in trunk only (closes issue #15320) Reported by: chappell Patches: cut_fix.patch uploaded by chappell (license 8) cut_clarify.patch uploaded by chappell (license 8) 2009-06-18 17:41 +0000 [r201717] Matthew Nicholson * channels/chan_sip.c: Added deadlock protection to try_suggested_sip_codec in chan_sip.c. Review: https://reviewboard.asterisk.org/r/285/ 2009-06-18 16:37 +0000 [r201678] David Vossel * codecs/gsm/src/gsm_destroy.c, channels/h323/ast_h323.cxx, main/ast_expr2f.c, res/ael/ael_lex.c, utils/ael_main.c, utils/extconf.c, channels/xpmr/xpmr.c, pbx/pbx_config.c, res/res_config_ldap.c, apps/app_rpt.c, channels/misdn/isdn_lib.c, main/asterisk.c, utils/conf2ael.c, main/ast_expr2.c, utils/stereorize.c: fixes some memory leaks and redundant conditions (closes issue #15269) Reported by: contactmayankjain Patches: patch.txt uploaded by contactmayankjain (license 740) memory_leak_stuff.trunk.diff uploaded by dvossel (license 671) Tested by: contactmayankjain, dvossel 2009-06-18 15:27 +0000 [r201610] Russell Bryant * /, res/res_musiconhold.c: Merged revisions 201600 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r201600 | russell | 2009-06-18 10:24:31 -0500 (Thu, 18 Jun 2009) | 29 lines Fix memory corruption and leakage related reloads of non files mode MoH classes. For Music on Hold classes that are not files mode, meaning that we are executing an application that will feed us audio data, we use a thread to monitor the external application and read audio from it. This thread also makes use of the MoH class object. In the MoH class destructor, we used pthread_cancel() to ask the thread to exit. Unfortunately, the code did not wait to ensure that the thread actually went away. What needed to be done is a pthread_join() to ensure that the thread fully cleans up before we proceed. By adding this one line, we resolve two significant problems: 1) Since the thread was never joined, it never fully goes away. So, on every reload of non-files mode MoH, an unused thread was sticking around. 2) There was a race condition here where the application monitoring thread could still try to access the MoH class, even though the thread executing the MoH reload has already destroyed it. (issue #15109) Reported by: jvandal (issue #15123) Reported by: axisinternet (issue #15195) Reported by: amorsen (issue AST-208) ........ 2009-06-18 15:20 +0000 [r201583] Mark Michelson * res/res_rtp_asterisk.c, main/rtp_engine.c, channels/chan_sip.c, include/asterisk/rtp_engine.h: Trunk implementation of setting an alternate RTP source. This contains the interface by which we can let an rtp instance know that it might start receiving audio from a new source. This is similar in nature to revision 197588 of Asterisk 1.4. Review: https://reviewboard.asterisk.org/r/276 2009-06-18 15:16 +0000 [r201534-201570] David Vossel * channels/chan_sip.c: parsing extension correctly from sip register lines If a transport type was specified, but no extension, parsing of the extension would return whatever was after the transport rather than defaulting to 's'. (closes issue #15111) Reported by: ffs Patches: chan_sip.c_register-parser.patch uploaded by ffs (license 730) Tested by: ffs, dvossel * configs/iax.conf.sample, CHANGES, channels/chan_iax2.c: Add rtsavesysname to chan_iax chan_sip has an option to save the sysname on rtupdate. This patch copies that same logic to chan_iax. (closes issue #14837) Reported by: barthpbx Patches: iax2-rtsavesysname.patch uploaded by barthpbx (license 744) rt_iax.diff uploaded by dvossel (license 671) 2009-06-17 21:31 +0000 [r201531] Tilghman Lesher * apps/app_voicemail.c: Initialize additional variables, to prevent a possible crash. (closes issue #15186) Reported by: ajohnson Patches: 20090528__issue15186.diff.txt uploaded by tilghman (license 14) Tested by: ajohnson 2009-06-17 20:10 +0000 [r201458-201462] Mark Michelson * channels/chan_sip.c: Fix problem with no audio due to ignoring the SDP. A recent change to our SDP version comparison made audio not function on some calls. This was because of a test wherein we were trying to see if an unsigned value was less than 0. This is a dumb comparison and arguably the compiler should have warned about it. Alas, though, it slipped past. Now it's fixed by changing the variable to be a signed type. Found by several developers. Tested by mnicholson and dbrooks. * main/channel.c, /: Merged revisions 201450 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r201450 | mmichelson | 2009-06-17 14:59:31 -0500 (Wed, 17 Jun 2009) | 9 lines Change the datastore traversal in ast_do_masquerade to use a safe list traversal. It is possible for datastore fixup functions to remove the datastore from the list and free it. In particular, the queue_transfer_fixup in app_queue does this. While I don't yet know of this causing any crashes, it certainly could. Found while discussing a separate issue with Brian Degenhardt. ........ 2009-06-17 20:00 +0000 [r201445-201453] David Vossel * doc/datastores.txt: ast_channel_datastore_alloc is no longer used. updating datastores.txt to reflect that. * /, apps/app_mixmonitor.c: Merged revisions 201423 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r201423 | dvossel | 2009-06-17 14:28:12 -0500 (Wed, 17 Jun 2009) | 19 lines StopMixMonitor race condition (not giving up file immediately) StopMixMonitor only indicates to the MixMonitor thread to stop writing to the file. It does not guarantee that the recording's file handle is available to the dialplan immediately after execution. This results in a race condition. To resolve this, the filestream pointer is placed in a datastore on the channel. When StopMixMonitor is called, the datastore is retrieved from the channel and the filestream is closed immediately before returning to the dialplan. Documentation indicating the use of StopMixMonitor to free files has been updated as well. (closes issue #15259) Reported by: travisghansen Tested by: dvossel Review: https://reviewboard.asterisk.org/r/283/ ........ 2009-06-17 19:15 +0000 [r201381] David Brooks * /, channels/chan_sip.c: Merged revisions 201380 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r201380 | dbrooks | 2009-06-17 13:45:50 -0500 (Wed, 17 Jun 2009) | 9 lines Checks for NULL sip_pvt pointer in chan_sip.c->acf_channel_read() Zombie channels could be passed, and chan_sip.c wasn't checking for it. Could crash Asterisk. Now checking for NULL pointer. (closes issue #15330) Reported by: okrief Tested by: dbrooks ........ 2009-06-17 15:20 +0000 [r201331-201344] David Vossel * channels/chan_sip.c: SIP registry ref count error During a sip reload, the list of sip_registry objects are supposed to be traversed, unlinked, and destroyed, but destruction never takes place due to a ref counting error. This causes a memory leak when registry items are removed from sip.conf and reloaded. While the registries are removed from the global list, they are not removed from the scheduler. Because of this, SIP register attempts continue to be sent out for the item even though it may no longer be in the .conf. (closes issue #15295) Reported by: amorsen Review: https://reviewboard.asterisk.org/r/282/ * channels/chan_iax2.c: update chan_iax to use 64bit feature flags. (closes issue #15335) Reported by: lmadsen Review: https://reviewboard.asterisk.org/r/284/ 2009-06-17 12:04 +0000 [r201262] Kevin P. Fleming * /, include/asterisk/linkedlists.h: Merged revisions 201261 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r201261 | kpfleming | 2009-06-17 07:03:25 -0500 (Wed, 17 Jun 2009) | 9 lines Correct AST_LIST_APPEND_LIST behavior when list to be appended is empty. When the list to be appended is empty, and the list to be appended to is *not*, AST_LIST_APPEND_LIST would actually cause the target list to become broken, and no longer have a pointer to its last entry. This patch fixes the problem. (reported by Stanislaw Pitucha on the asterisk-dev mailing list) ........ 2009-06-16 22:29 +0000 [r201223] David Vossel * channels/chan_sip.c: fix issue with build_contact introduced by the "SIP trasnport type issues" commit 2009-06-16 22:11 +0000 [r201190] Sean Bright * CREDITS: Update my e-mail address (thanks for the props, russell :)) 2009-06-16 21:10 +0000 [r200985-201139] Kevin P. Fleming * channels/chan_dahdi.c, channels/chan_sip.c, apps/app_fax.c, include/asterisk/frame.h: Enable applications to enable/disable digit and tone detection. Some applications (notably app_fax) do not need digit detection nor FAX tone detection while they are running, and if Asterisk is using software DSPs to provide the detection, this consumes extra CPU cycles that could be better spent on the actual application. This patch allows applications to query and control the state of digit and tone detection on a channel, and modifies app_fax to disable them while the FAX operations are occurring (and re-enable digit detection afterwards). * configure, configure.ac: Explicitly test for 'static weakref' support. Since we use 'static' weakref symbols, and not all GCC versions support them, test for that combination explicitly. * Makefile: When compiling in an Emacs-spawned shell, always print directory names. This change ensures that Emacs can find the proper source files when parsing compiler error messages, since it uses the 'make' output including directory names to do it. * configure, autoconf/ast_gcc_attribute.m4, configure.ac: Another minor fix to compiler attribute checking. Defaulting to 'static' for the function scope was bad... so remove it. * main/channel.c, main/autoservice.c, main/frame.c, /, apps/app_meetme.c, main/slinfactory.c, include/asterisk/linkedlists.h, main/file.c, include/asterisk/channel.h, include/asterisk/frame.h, apps/app_chanspy.c, apps/app_mixmonitor.c: Merged revisions 200991 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r200991 | kpfleming | 2009-06-16 12:05:38 -0500 (Tue, 16 Jun 2009) | 11 lines Improve support for media paths that can generate multiple frames at once. There are various media paths in Asterisk (codec translators and UDPTL, primarily) that can generate more than one frame to be generated when the application calling them expects only a single frame. This patch addresses a number of those cases, at least the primary ones to solve the known problems. In addition it removes the broken TRACE_FRAMES support, fixes a number of bugs in various frame-related API functions, and cleans up various code paths affected by these changes. https://reviewboard.asterisk.org/r/175/ ........ * configure, autoconf/ast_gcc_attribute.m4, configure.ac: Fix problems with new compiler attribute checking in configure script. The last changes to ast_gcc_attribute.m4 caused some problems checking for various attributes, because the scope of the symbol the attribute is applied to can be important; this patch allows the scope to be specified for the check. 2009-06-16 16:03 +0000 [r200946] David Vossel * channels/chan_sip.c: SIP transport type issues What this patch addresses: 1. ast_sip_ouraddrfor() by default binds to the UDP address/port reguardless if the sip->pvt is of type UDP or not. Now when no remapping is required, ast_sip_ouraddrfor() checks the sip_pvt's transport type, attempting to set the address and port to the correct TCP/TLS bindings if necessary. 2. It is not necessary to send the port number in the Contact header unless the port is non-standard for the transport type. This patch fixes this and removes the todo note. 3. In sip_alloc(), the default dialog built always uses transport type UDP. Now sip_alloc() looks at the sip_request (if present) and determines what transport type to use by default. 4. When changing the transport type of a sip_socket, the file descriptor must be set to -1 and in some cases the tcptls_session's ref count must be decremented and set to NULL. I've encountered several issues associated with this process and have created a function, set_socket_transport(), to handle the setting of the socket type. (closes issue #13865) Reported by: st Patches: dont_add_port_if_tls.patch uploaded by Kristijan (license 753) 13865.patch uploaded by mmichelson (license 60) tls_port_v5.patch uploaded by vrban (license 756) transport_issues.diff uploaded by dvossel (license 671) Tested by: mmichelson, Kristijan, vrban, jmacz, dvossel Review: https://reviewboard.asterisk.org/r/278/ 2009-06-16 15:51 +0000 [r200943] Michiel van Baak * apps/app_voicemail.c: add FILE_STORAGE to Voicemail Build Options Voicemail can only use one storage module at the moment. Because it's unclear that selecting one of the storage modules in menuselect will disable filesystem storage we now have a FILE_STORAGE option that conflicts with the other modules. (closes issue #15333) 2009-06-16 15:26 +0000 [r200942] Russell Bryant * CREDITS: Add Sean Bright to CREDITS - Thanks, Sean! 2009-06-16 14:12 +0000 [r200841-200878] Eliel C. Sardanons * /: Recorded merge of revisions 200875 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r200875 | eliel | 2009-06-16 09:25:51 -0400 (Tue, 16 Jun 2009) | 5 lines Show the interface name on error, if it is not found. If the smdiport specified is not found, show the interface name instead of '(null)'. ........ * res/res_smdi.c: Show the interface name on error, if it is not found. If the smdiport specified is not found, show the interface name instead of '(null)'. 2009-06-16 02:32 +0000 [r200805] Russell Bryant * main/manager.c: Don't claim a char * is a mansession object. Since there was only 1 bucket, and no hash function was specified, the code actually worked perfectly fine. However, in theory, this was invalid use of the OBJ_POINTER flag, so remove it so the code provides a better usage example. 2009-06-16 02:24 +0000 [r200799] Moises Silva * channels/chan_dahdi.c, configs/chan_dahdi.conf.sample: keep backwards compatible chan_dahdi with older openr2 versions by not using the new skip category feature unless supported 2009-06-16 01:28 +0000 [r200764] Kevin P. Fleming * configure, autoconf/ast_gcc_attribute.m4: Ensure that configure-script testing for compiler attributes actually works. The configure script tests for compiler attributes didn't actually enable enough warnings or provide a proper test harness to determine whether the compiler supports the attribute in question or not; this caused gcc 4.1 to report that it supports 'weakref', but it doesn't actually support it in the way that is needed for our optional API mechanism. The new configure script test will properly distinguish between full support and partial support for this attribute, among others. 2009-06-16 01:26 +0000 [r200762] Russell Bryant * doc/tex/channelvariables.tex: Add missing closure of verbatim environment. 2009-06-16 01:03 +0000 [r200519-200726] Kevin P. Fleming * CHANGES: Document the new automatic 'ignoresdpversion' behavior. Asterisk will now automatically ignore incorrect incoming SDP version numbers when necessary to complete a T.38 re-INVITE operation. * channels/chan_sip.c: Accept T.38 re-INVITE responses with invalid SDP versions. This commit changes the 'incoming SDP version' check logic a bit more; when 'ignoresdpversion' is *not* set for a peer, if we initiate a re-INVITE to switch to T.38, we'll always accept the peer's SDP response, even if they don't properly increment the SDP version number as they should. If this situation occurs, a warning message will be generated suggesting that the peer's configuration be changed to include the 'ignoresdpversion' configuration option (although ideally they'd fix their SIP implementation to be RFC compliant). AST-221 * doc/CODING-GUIDELINES, apps/app_read.c, apps/app_page.c, apps/app_fax.c, apps/app_readexten.c, apps/app_queue.c, include/asterisk/app.h, apps/app_skel.c, apps/app_minivm.c, apps/app_macro.c, apps/app_url.c, apps/app_sms.c, apps/app_externalivr.c, apps/app_stack.c, apps/app_mixmonitor.c, apps/app_voicemail.c: Last batch of 'static' qualifiers for module-level global variables. Fix up modules in the 'apps' directory, and also correct the bad example of enum definitions in include/asterisk/app.h, which many developers followed (thanks for reading the documentation!). In addition, add some basic usage examples of the 'pahole' and 'pglobal' tools to the coding guidelines. * res/res_snmp.c, main/devicestate.c, funcs/func_vmcount.c, res/res_calendar_caldav.c, formats/format_wav_gsm.c, res/res_jabber.c, main/loader.c, main/cli.c, funcs/func_enum.c, main/manager.c, res/res_smdi.c, funcs/func_odbc.c, main/features.c, main/logger.c, main/http.c, pbx/pbx_realtime.c, main/image.c, main/db.c, cdr/cdr_manager.c, res/res_calendar_exchange.c, res/res_calendar_icalendar.c, res/res_config_pgsql.c, funcs/func_lock.c, pbx/pbx_lua.c, funcs/func_cut.c, include/asterisk/calendar.h, funcs/func_realtime.c, funcs/func_curl.c, funcs/func_cdr.c, funcs/func_channel.c, main/file.c, main/event.c, pbx/pbx_dundi.c, main/xmldoc.c, res/res_calendar.c: More 'static' qualifiers on module global variables. The 'pglobal' tool is quite handy indeed :-) * channels/chan_dahdi.c, channels/chan_misdn.c, channels/chan_sip.c, channels/chan_skinny.c, channels/chan_agent.c, channels/chan_h323.c, channels/chan_iax2.c: Convert a number of global module variables to 'static'. These modules all contained variables that are module-global but not system-global, but were not marked 'static'. * channels/chan_sip.c: Some minor structure size improvements in sip_pvt and sip_peer. Using the 'pahole' tool, it is now quite easy to see where structure fields could be organized differently to keep the compiler from having to add padding to satisfy alignment requirements. These changes reduced the sizes of sip_pvt and sip_peer by a few bytes each (on 64-bit platforms), and also fixed a spelling error in a field name. * include/asterisk/agi.h, main/Makefile, include/asterisk/autoconfig.h.in, res/res_smdi.exports, configure.ac, res/res_agi.exports, include/asterisk/compiler.h, apps/app_queue.c, res/res_monitor.c, include/asterisk/optional_api.h, Makefile, res/res_smdi.c, configure, res/res_agi.c, include/asterisk/monitor.h, apps/app_stack.c, include/asterisk/smdi.h, res/res_monitor.exports, apps/app_voicemail.c: Redesigned 'optional API' support. This patch provides a new implementation of the optional API support defined in asterisk/optional_api.h; this new version provides solves compatibility issues with the use of linker version scripts for suppressing global symbols. In addition, there is now a functional (and tested!) implementation for Mac OS/X, so module writers no longer need to use special tests before calling optional API functions. All future implementations must provide these same semantics, so that module writers can rely on them. 2009-06-15 15:22 +0000 [r200514] Mark Michelson * /, channels/chan_sip.c: Merged revisions 200513 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r200513 | mmichelson | 2009-06-15 10:21:46 -0500 (Mon, 15 Jun 2009) | 5 lines Add INFO to our allowed methods so that endpoints know they may send it to us. AST-223 ........ 2009-06-14 06:13 +0000 [r200477] Moises Silva * channels/chan_dahdi.c, configs/chan_dahdi.conf.sample, build_tools/menuselect-deps.in: added openr2 to menuselect-deps.in, recent commit in menuselect made me realize this was never done but was working anyways also added support for skip category request feature of openr2 and updated chan_dahdi.conf.sample 2009-06-12 19:46 +0000 [r200428-200430] Sean Bright * contrib/upstart/asterisk.upstart-0.3.9: Include basic installation and usage instructions for upstart script. * contrib/upstart/asterisk.upstart-0.3.9 (added), contrib/upstart (added): First shot at an upstart script for asterisk on Ubuntu. This works relatively well (assuming you are using /var/run/asterisk) as your run directory and upstart 0.3.9. Needs to be generalized and eventually added to the 'make install' target for Ubuntu. 2009-06-12 19:07 +0000 [r200290-200361] Mark Michelson * main/channel.c, /: Merged revisions 200360 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r200360 | mmichelson | 2009-06-12 14:06:41 -0500 (Fri, 12 Jun 2009) | 10 lines Suppress a warning message and give a better return code when generating inband ringing after a call is answered. (closes issue #15158) Reported by: madkins Patches: 15158.patch uploaded by mmichelson (license 60) Tested by: madkins ........ * channels/chan_local.c, apps/app_queue.c: Fix some bad locking stemming from trying to forward a call to a non-existent extension from a queue. * apps/app_queue.c: Fix a potential crash from trying to access a NULL channel pointer. 2009-06-12 02:20 +0000 [r200254] Sean Bright * contrib/init.d/rc.debian.asterisk: Call chgrp instead of chown when setting run directory group ownership. (issue #13153) Reported by: pabelanger 2009-06-11 21:17 +0000 [r200146] Mark Michelson * channels/chan_sip.c: Fix a crash due to a potentially NULL p->options. Thanks to mnicholson for pointing it out. 2009-06-11 15:40 +0000 [r200108] Eliel C. Sardanons * main/channel.c: Release the allocated channel decreasing the reference counter. When allocating the channel use ao2_ref(-1) to release it, instead of calling ast_free(). Also avoid freeing structures inside that channel (on error) if they will be released by the channel destructor being called if the reference counter reachs 0. 2009-06-11 12:15 +0000 [r200039] Leif Madsen * build_tools/make_version_c, build_tools/make_version_h: Fix path for .flavor and .version (issue #14737) Reported by: davidw Patches: flavor.patch uploaded by davidw (license 780) Tested by: davidw 2009-06-10 20:40 +0000 [r200000] Sean Bright * sample.call: Remove some trailing whitespace and steal revision 200000. 2009-06-10 20:15 +0000 [r199958] Mark Michelson * channels/chan_sip.c: Only try to use the invite_branch on outgoing INVITEs with auth credentials. I have added a comment to the code to help ease understanding of the logic here as well. 2009-06-10 20:00 +0000 [r199957] David Brooks * main/pbx.c: Fixes the argument order in definition of new_find_extension(). In the definition of new_find_extension(), the arguments 'callerid' and 'label' were swapped. The prototype declaration and all calls to the function are ordered 'callerid' then 'label', but the function itself was ordered 'label' then 'callerid'. (closes issue #15303) Reported by: JimDickenson 2009-06-10 18:58 +0000 [r199923] Mark Michelson * main/channel.c: Use ast_channel_unref to instead of ast_free on a newly created channel. Also I removed an unnecessary free of a cid_name. This will be freed properly in the channel destructor. Reported by mnicholson in #asterisk-dev. 2009-06-10 16:10 +0000 [r199857] Sean Bright * include/asterisk/utils.h, /: Merged revisions 199856 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r199856 | seanbright | 2009-06-10 12:08:35 -0400 (Wed, 10 Jun 2009) | 2 lines __WORDSIZE is not available on all platforms, so use sizeof(void *) instead. ........ 2009-06-09 20:47 +0000 [r199818] David Vossel * channels/chan_sip.c: CLI NOTIFY sending wrong transport type. SIP's cli NOTIFY command only used UDP rather than copying the transport type from the peer. (closes issue #15283) Reported by: jthurman Patches: sip-notify-tcp-svn199728.patch uploaded by jthurman (license 614) Tested by: jthurman, dvossel 2009-06-09 18:08 +0000 [r199781] Sean Bright * Makefile: Fix all of the parallel build warnings issued when running make -j#. 2009-06-09 16:22 +0000 [r199743] David Vossel * res/res_timing_pthread.c, include/asterisk/module.h, res/res_timing_dahdi.c, res/res_timing_timerfd.c, main/loader.c: module load priority This patch adds the option to give a module a load priority. The value represents the order in which a module's load() function is initialized. The lower the value, the higher the priority. The value is only checked if the AST_MODFLAG_LOAD_ORDER flag is set. If the AST_MODFLAG_LOAD_ORDER flag is not set, the value will never be read and the module will be given the lowest possible priority on load. Since some modules are reliant on a timing interface, the timing modules have been given a high load priorty. (closes issue #15191) Reported by: alecdavis Tested by: dvossel Review: https://reviewboard.asterisk.org/r/262/ 2009-06-08 22:08 +0000 [r199696] Tilghman Lesher * doc/janitor-projects.txt: Add sigaction janitor 2009-06-08 19:33 +0000 [r199630] Sean Bright * include/asterisk/utils.h, /: Merged revisions 199626,199628 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r199626 | seanbright | 2009-06-08 15:24:32 -0400 (Mon, 08 Jun 2009) | 21 lines Increase the size of our thread stack on 64 bit processors. We were setting the stack size for each thread to 240KB regardless of architecture, which meant that in some scenarios we actually had less available stack space on 64 bit processors (pointers use 8 bytes instead of 4). So now we calculate the stack size we reserve based on the platform's __WORDSIZE, which gives us: 32 bit -> 240KB 64 bit -> 496KB 128 bit -> 1008KB (that's right, we're ready for 128 bit processors) Patch typed by me but written by several members of #asterisk-dev, including Kevin, Tilghman, and Qwell. (closes issue #14932) Reported by: jpiszcz Patches: 06052009_issue14932.patch uploaded by seanbright (license 71) Tested by: seanbright ........ r199628 | seanbright | 2009-06-08 15:28:33 -0400 (Mon, 08 Jun 2009) | 2 lines Fix a typo in the stack size calculation just introduced. ........ 2009-06-08 17:32 +0000 [r199588] Mark Michelson * channels/chan_sip.c: Fix a deadlock that could occur when setting rtp stats on SIP calls. (closes issue #15143) Reported by: cristiandimache Patches: 15143.patch uploaded by mmichelson (license 60) Tested by: cristiandimache 2009-06-07 19:15 +0000 [r199514-199547] Eliel C. Sardanons * apps/app_osplookup.c: Move OSP* applications static documentation to XML. Move OSP* applications static documentation to the new AstXML form. (closes issue #15245) Reported by: eliel Patches: app_osplookup_static_conversion.txt uploaded by lmadsen (license 10) * apps/app_externalivr.c: Move application ExternalIVR static documentation to XML. Move application ExternalIVR static documentation to the new AstXML form. (issue #15245) Reported by: eliel Patches: app_externalivr.diff uploaded by eliel (license 64) 2009-06-07 14:55 +0000 [r199479] Russell Bryant * apps/app_dial.c, apps/app_dahdibarge.c, apps/app_dictate.c, apps/app_authenticate.c, apps/app_echo.c, apps/app_fax.c, apps/app_dahdiras.c, apps/app_disa.c, apps/app_alarmreceiver.c, apps/app_chanisavail.c, apps/app_exec.c, apps/app_db.c, apps/app_controlplayback.c, apps/app_channelredirect.c, apps/app_directed_pickup.c, apps/app_dumpchan.c, apps/app_amd.c, apps/app_confbridge.c, apps/app_directory.c, apps/app_chanspy.c, apps/app_adsiprog.c: Global var cleanup - constification and removing unused vars. 2009-06-06 23:28 +0000 [r199374-199446] Eliel C. Sardanons * apps/app_stack.c: Move AGI command 'gosub' static documentation to XML. Move AGI command 'gosub' statis documentation to the new AstXML form. (issue #15245) Reported by: eliel Patches: app_stack_static_conversion.txt uploaded by lmadsen (license 10) (with minor changes by me) * res/res_musiconhold.c: Move music on hold related applications documentation to XML. Move MusicOnHold, SetMusicOnHold, StartMusicOnHold, StopMusicOnHold static documentation to the new AstXML form. (issue #15245) Reported by: eliel Patches: res_musiconhold_static_conversion.txt uploaded by lmadsen (license 10) (with some fixes and formatting by me) * res/res_phoneprov.c: Move function PP_EACH_USER and PP_EACH_EXTENSION documentation to XML. Move function PP_EACH_USER and PP_EACH_EXTENSION documentation to the new AstXML form. (issue #15245) Reported by: eliel Patches: res_phoneprov_static_conversion.txt uploaded by lmadsen (license 10) (with PP_EACH_USER add by me) * apps/app_meetme.c: Move function MEETME_INFO documentation to XML. Move function MEETME_INFO static documentation to the new AstXML form. (issue #15245) Reported by: eliel Patches: app_meetme_static_conversion.txt uploaded by lmadsen (license 10) * apps/app_minivm.c: Move function MINIVMACCOUNT and MINIVMCOUNTER static documentation to XML. Move function MINIVMACCOUNT and MINIVMCOUNTER statis documentation to the new AstXML form. (issue #15245) Reported by: eliel Patches: app_minivm_static_conversion.txt uploaded by lmadsen (license 10) (with minor changes by me) * funcs/func_sysinfo.c: Move function SYSINFO documentation to XML. Move function SYSINFO static documentation to the new AstXML form. (issue #15245) Reported by: eliel Patches: func_sysinfo_static_conversion.txt uploaded by lmadsen (license 10) 2009-06-06 21:42 +0000 [r199368-199372] Russell Bryant * apps/app_jack.c: minor tweak * apps/app_jack.c: Constify a string and strip trailing whitespace. * Makefile: Switch from "echo -n" to printf. On my mac, the -n was just getting printed out. 2009-06-05 21:21 +0000 [r199298] David Vossel * include/asterisk/devicestate.h, /, main/devicestate.c: Merged revisions 199297 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r199297 | dvossel | 2009-06-05 16:19:56 -0500 (Fri, 05 Jun 2009) | 14 lines Fixes issue with hints giving unexpected results. Hints with two or more devices that include ONHOLD gave unexpected results. (closes issue #15057) Reported by: p_lindheimer Patches: onhold_trunk.diff uploaded by dvossel (license 671) pbx.c.1.4.patch uploaded by p (license 558) devicestate.c.trunk.patch uploaded by p (license 671) Tested by: p_lindheimer, dvossel Review: https://reviewboard.asterisk.org/r/254/ ........ 2009-06-05 13:51 +0000 [r199227] Mark Michelson * channels/chan_dahdi.c: Correct "dahdi show channels" output when specifying a group. Since a DAHDI channel may belong to multiple groups, we need to use a bitwise and instead of equivalence to determine whether to display the channel information. (closes issue #15248) Reported by: gentian Patches: 15248.patch uploaded by mmichelson (license 60) Tested by: gentian 2009-06-04 19:10 +0000 [r199139] David Vossel * /, channels/chan_iax2.c: Merged revisions 199138 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r199138 | dvossel | 2009-06-04 14:00:15 -0500 (Thu, 04 Jun 2009) | 3 lines Additional updates to AST-2009-001 ........ 2009-06-04 16:29 +0000 [r199091] Eliel C. Sardanons * res/res_smdi.c: Move static docs to the new AstXML form. Move SMDI_MSG and SMDI_MSG_RETRIEVE functions statis documentation to XML. (issue #15245) Reported by: eliel Patches: res_smdi_static_conversion.txt uploaded by lmadsen (license 10) 2009-06-04 14:31 +0000 [r199051] Sean Bright * /, include/asterisk/_private.h, main/asterisk.c, main/loader.c: Merged revisions 199022 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r199022 | seanbright | 2009-06-04 10:14:57 -0400 (Thu, 04 Jun 2009) | 40 lines Safely handle AMI connections/reload requests that occur during startup. During asterisk startup, a lock on the list of modules is obtained by the primary thread while each module is initialized. Issue 13778 pointed out a problem with this approach, however. Because the AMI is loaded before other modules, it is possible for a module reload to be issued by a connected client (via Action: Command), causing a deadlock. The resolution for 13778 was to move initialization of the manager to happen after the other modules had already been lodaded. While this fixed this particular issue, it caused a problem for users (like FreePBX) who call AMI scripts via an #exec in a configuration file (See issue 15189). The solution I have come up with is to defer any reload requests that come in until after the server is fully booted. When a call comes in to ast_module_reload (from wherever) before we are fully booted, the request is added to a queue of pending requests. Once we are done booting up, we then execute these deferred requests in turn. Note that I have tried to make this a bit more intelligent in that it will not queue up more than 1 request for the same module to be reloaded, and if a general reload request comes in ('module reload') the queue is flushed and we only issue a single deferred reload for the entire system. As for how this will impact existing installations - Before 13778, a reload issued before module initialization was completed would result in a deadlock. After 13778, you simply couldn't connect to the manager during startup (which causes problems with #exec-that-calls-AMI configuration files). I believe this is a good general purpose solution that won't negatively impact existing installations. (closes issue #15189) (closes issue #13778) Reported by: p_lindheimer Patches: 06032009_15189_deferred_reloads.diff uploaded by seanbright (license 71) Tested by: p_lindheimer, seanbright Review: https://reviewboard.asterisk.org/r/272/ ........ 2009-06-03 20:30 +0000 [r198824-198954] David Vossel * apps/app_dial.c, main/channel.c, apps/app_queue.c: ast_call_forward() todo notes and originate flag copy. * main/channel.c, main/features.c, include/asterisk/channel.h: Generic call forward api, ast_call_forward() The function ast_call_forward() forwards a call to an extension specified in an ast_channel's call_forward string. After an ast_channel is called, if the channel's call_forward string is set this function can be used to forward the call to a new channel and terminate the original one. I have included this api call in both channel.c's ast_request_and_dial() and feature.c's feature_request_and_dial(). App_dial and app_queue already contain call forward logic specific for their application and options. (closes issue #13630) Reported by: festr Review: https://reviewboard.asterisk.org/r/271/ * channels/chan_iax2.c: fixes issue with channels not going down after transfer Iax2 currently does not support native bridging if the timeoutms value is set. We check for that in iax2_bridge, but then set timeoutms to 0 by default. If the timeoutms is not provided it is set to -1. By setting timeoutms to 0 it is processed causing a bridging retry loop. (closes issue #15216) Reported by: oxymoron Tested by: dvossel 2009-06-02 13:48 +0000 [r198762-198791] Joshua Colp * channels/chan_sip.c, configs/sip.conf.sample: Correct documentation for the register line, specifically where the domain should be specified. (closes issue #14367) Reported by: Nick_Lewis * main/rtp_engine.c: Fix a bug where we were passing in address information that should remain unmodified to a function that may modify it. (closes issue #15243) Reported by: pj 2009-06-01 21:03 +0000 [r198729] Russell Bryant * channels/iax2-parser.c: Tell the IAX2 parser about more control frame types. 2009-06-01 20:57 +0000 [r198727] Mark Michelson * apps/app_dial.c, main/channel.c, include/asterisk/app.h, main/dial.c, channels/chan_sip.c, apps/app_directed_pickup.c, main/features.c, apps/app_macro.c, doc/tex/channelvariables.tex, main/app.c, include/asterisk/channel.h, apps/app_queue.c: Add the ability to execute connected line interception macros. When connected line updates are received or generated in the middle of an application call, it is now possible to execute a macro to manipulate the connected line data. This way, phone numbers may be manipulated to be more presentable to users, names may be changed for...whatever reason, or whatever else needs to be done may be. Review: https://reviewboard.asterisk.org/r/256 AST-165 2009-06-01 20:33 +0000 [r198725] Tilghman Lesher * funcs/func_math.c: Add INCrement and DECrement functions (closes issue #15025) Reported by: greenfieldtech Patches: func_math.c.patch_v4 uploaded by greenfieldtech (license 369) slightly modified by me Tested by: greenfieldtech, lmadsen 2009-06-01 20:17 +0000 [r198670] Russell Bryant * include/asterisk/frame.h: Minor whitespace fix. 2009-06-01 19:37 +0000 [r198661] Eliel C. Sardanons * res/res_monitor.c: Moved more static documentation to the new AstXML form. Moved more static docs to XML (pplications and manager actions): Monitor, StopMonitor, ChangeMonitor, PauseMonitor, UnpauseMonitor. 2009-06-01 18:40 +0000 [r198626] Tilghman Lesher * contrib/scripts/meetme.sql: Add information for new meetme realtime fields 2009-06-01 17:53 +0000 [r198561-198597] Eliel C. Sardanons * main/Makefile: Do not add say.o in a separate line. * res/res_jabber.c: Move JabberSend manager action from static docs to the AstXML form. * res/res_agi.c: Move static documentation of E|Dead|AGI() application and manager action to XML. 2009-06-01 15:23 +0000 [r198558] David Vossel * main/threadstorage.c: Fixed an issue in the threadstorage cli functions resulting from the constification of struct ast_cli_args in r196072. 2009-06-01 14:45 +0000 [r198500-198530] Mark Michelson * apps/app_queue.c: Remove extra lock from app_queue. * channels/chan_local.c: Remove extra lock from local_indicate in connected line case. Oh, and this fixes a deadlock I was seeing. * channels/chan_local.c: Add missing unlock of local pvt. * channels/chan_agent.c: Remove documentation for the 'exten' argument to the AGENT function. Since AgentCallbackLogin has been removed, this should not be documented any more. 2009-06-01 13:31 +0000 [r198498] Joshua Colp * channels/chan_sip.c: Fix a bug where the Event and Content-Type headers were added twice to outgoing SIP NOTIFY messages. (closes issue #15239) Reported by: pj 2009-05-31 17:52 +0000 [r198470] Tilghman Lesher * funcs/func_strings.c: Fix documentation for FIELDQTY. 2009-05-31 02:09 +0000 [r198442] Eliel C. Sardanons * main/Makefile: Filter the say.o object, it is being added later. 2009-05-31 01:40 +0000 [r198438] Russell Bryant * main/manager.c: Constification and remove some unused code. 2009-05-31 01:22 +0000 [r198437] Eliel C. Sardanons * res/res_timing_dahdi.c: Avoid a crash when res_timing_dahdi is unloaded but wasn't properly loaded. if dahdi_test_timer() fails, timing_funcs_handle remains NULL causing a crash when calling ast_unregister_timing_interface() with a NULL pointer. (closes issue #15234) Reported by: eliel Patches: timing_dahdi1.diff uploaded by eliel (license 64) 2009-05-31 01:19 +0000 [r198434] Russell Bryant * main/channel.c, include/asterisk/channel.h: Constify the ast_frame arg to ast_queue_frame(). 2009-05-30 20:11 +0000 [r198371-198375] Sean Bright * res/res_jabber.c: Properly terminate the receive buffer before sending to iksemel. aji_io_recv takes the maximum number of bytes to read (instead of the total buffer size), so we have to subtract 1 from our buffer size. Without this, when we receive packets that are larger than our buffer, iksemel will choke and things get wonky. (closes issue #15232) Reported by: lp0 Patches: 05302009_res_jabber.c.patch uploaded by seanbright (license 71) Tested by: seanbright, lp0 * /, res/res_jabber.c: Merged revisions 198370 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r198370 | seanbright | 2009-05-30 15:36:20 -0400 (Sat, 30 May 2009) | 12 lines Properly terminate AMI JabberSend response messages. The response message (either Error or Success) needs an extra trailing \r\n after the fields to inform the client that the message is complete. (closes issue #14876) Reported by: srt Patches: 05302009_1.4_res_jabber.c.diff uploaded by seanbright (license 71) asterisk_14876.patch uploaded by srt (license 378) trunk-14876-2.diff uploaded by phsultan (license 73) ........ 2009-05-30 03:43 +0000 [r198312] Russell Bryant * res/res_smdi.c, /: Merged revisions 198311 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r198311 | russell | 2009-05-29 22:42:46 -0500 (Fri, 29 May 2009) | 5 lines Fix a crash that occurred when MWI SMDI messages expired. (closes issue #14561) Reported by: cmoss28 ........ 2009-05-30 03:26 +0000 [r198285] Sean Bright * apps/app_dial.c, /: Merged revisions 198251 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r198251 | seanbright | 2009-05-29 22:46:41 -0400 (Fri, 29 May 2009) | 8 lines Treat an empty FORWARD_CONTEXT the same way we treat a missing one. (closes issue #15056) Reported by: p_lindheimer Patches: 05292009_bug15056.diff uploaded by seanbright (license 71) Tested by: p_lindheimer ........ 2009-05-30 02:31 +0000 [r198248] Joshua Colp * channels/chan_sip.c: When removing all packets from a dialog we also need to free the data if present. 2009-05-30 01:04 +0000 [r198217] Eliel C. Sardanons * configs/agents.conf.sample, channels/chan_agent.c: Remove not used code in the Agent channel. This code was there because of the AgentCallbackLogin() application. ->loginchan[] member was only used by AgentCallbackLogin(). Agent where dumped to astdb if they where logged in using AgentCallbacklogin() so they are not being dumper anymore. Review: https://reviewboard.asterisk.org/r/267/ 2009-05-29 23:04 +0000 [r198183-198186] Russell Bryant * configs/modules.conf.sample: Suggesting that only a single timing module be loaded is no longer necessary. * res/res_timing_pthread.c: Improve handling of trying to ACK too many timer expirations. 2009-05-29 22:21 +0000 [r198182] Terry Wilson * res/res_calendar.c: Add a couple of TODO items so I don't forget 2009-05-29 20:06 +0000 [r198146] Russell Bryant * res/res_timing_pthread.c: Resolve issues with choppy sound when using res_timing_pthread. The situation that caused this problem was when continuous mode was being turned on and off while a rate was set for a timing interface. A very easy way to replicate this bug was to do a Playback() from behind a Local channel. In this scenario, a rate gets set on the channel for doing file playback. At the same time, continuous mode gets turned on and off about every 20 ms as frames get queued on to the PBX side channel from the other side of the Local channel. Essentially, this module treated continuous mode and a set rate as mutually exclusive states for the timer to be in. When I dug deep enough, I observed the following pattern: 1) Set timer to tick every 20 ms. 2) Wait almost 20 ms ... 3) Continuous mode gets turned on for a queued up frame 4) Continuous mode gets turned off 5) The timer goes back to its tick per 20 ms. state but starts counting at 0 ms. 6) Goto step 2. Sometimes, res_timing_pthread would make it 20 ms and produce a timer tick, but not most of the time. This is what produced the choppy sound (or sometimes no sound at all). Now, the module treats continuous mode and a set rate as completely independent timer modes. They can be enabled and disabled independently of each other and things work as expected. (closes issue #14412) Reported by: dome Patches: issue14412.diff.txt uploaded by russell (license 2) issue14412-1.6.1.0.diff.txt uploaded by russell (license 2) Tested by: DennisD, russell 2009-05-29 19:46 +0000 [r198139] Eliel C. Sardanons * main/Makefile: Simplify the Makefile and avoid needing to specify each object file. Instead of specifying every object file, use make's magic to generate it. This will generate less conflicts in team branches when a new file is added in trunk. (closes issue #15226) Reported by: eliel Patches: makefile uploaded by eliel (license 64) Review: http://reviewboard.asterisk.org/r/269/ 2009-05-29 19:19 +0000 [r198088] Jeff Peeler * channels/chan_dahdi.c, channels/sig_analog.c (added), channels/sig_analog.h (added), channels/Makefile: New signaling module to handle analog operations in chan_dahdi This branch splits all the analog signaling logic out of chan_dahdi.c into sig_analog.c. Functionality in theory should not change at all. As noted in the code, there is still some unused code remaining that will be cleaned up in a later commit. Review: https://reviewboard.asterisk.org/r/253/ 2009-05-29 19:18 +0000 [r198083] Eliel C. Sardanons * CREDITS: Apply anti-spam obfuscation to an email address. 2009-05-29 19:04 +0000 [r198072] Matthew Nicholson * main/cdr.c, main/channel.c, /, include/asterisk/cdr.h: Merged revisions 198068 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r198068 | mnicholson | 2009-05-29 13:53:01 -0500 (Fri, 29 May 2009) | 15 lines Use AST_CDR_NOANSWER instead of AST_CDR_NULL as the default CDR disposition. This change also involves the addition of an AST_CDR_FLAG_ORIGINATED flag that is used on originated channels to distinguish: them from dialed channels. (closes issue #12946) Reported by: meral Patches: null-cdr2.diff uploaded by mnicholson (license 96) Tested by: mnicholson, dbrooks (closes issue #15122) Reported by: sum Tested by: sum ........ 2009-05-29 18:39 +0000 [r198064] Joshua Colp * main/file.c: Fix a memory leak of the write buffer when writing a file. 2009-05-29 18:15 +0000 [r198000] Sean Bright * Makefile, /: Merged revisions 197998 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r197998 | seanbright | 2009-05-29 14:14:12 -0400 (Fri, 29 May 2009) | 8 lines Fix 'make config' target for Slackware. There was a missing semi-colon after the echo statement in the Makefile that was causing problems for some users. Fix suggested by reporter. (closes issue #15225) Reported by: pdavis ........ 2009-05-29 17:51 +0000 [r197996] Joshua Colp * channels/chan_sip.c: Fix a bug where the default setting did not perform a remote bridge when it should have. 2009-05-29 16:15 +0000 [r197960] Russell Bryant * res/res_timing_pthread.c: Trim trailing whitespace so that I can work on this bug without it bothering me. :-) 2009-05-29 15:48 +0000 [r197959] Mark Michelson * channels/chan_sip.c: A few fixes to SIP with regards to connected line updates during transfers. * Set the invitestate to INV_CALLING when we send a connected line reinvite. This prevents us from potentially rapid-firing reinvites to a single peer. * Use the astdb to store a peer's allowed methods. This prevents us from sending an UPDATE during the interval between startup and the peer's first registration if the peer does not support the UPDATE method. * Handle Polycom's method of indicating allowed methods in REGISTER. Instead of using an Allow header, they place the allowed methods in a methods= parameter in the Contact header. ABE-1873 2009-05-29 05:15 +0000 [r197926] Terry Wilson * doc/tex/asterisk.tex, doc/tex/calendaring.tex (added): Add some TeX docs for calendaring. I still need to set up tests to make sure my examples are completely correct, but I ran out of time tonight and felt that they at least would give an idea as to how to use calendaring. I will try to test the examples and do some cleanup on the docs tomorrow night. 2009-05-28 22:42 +0000 [r197861] Sean Bright * include/asterisk/doxygen/releases.h, sounds/Makefile: Update references to downloads.digium.com to its new URL. 2009-05-28 22:04 +0000 [r197828] Leif Madsen * apps/app_mixmonitor.c: Update documentation in MixMonitor. Updated the MixMonitor documentation for the 'b' option so that it is more obvious that you must not optimize away the Local channel when using this option. (closes issue #14829) Reported by: licedey Tested by: mmichelson, licedey, lmadsen 2009-05-28 21:50 +0000 [r197824] Sean Bright * doc/CODING-GUIDELINES, doc/asterisk.8, BUGS, doc/backtrace.txt, doc/tex/mp3.tex, channels/h323/README, main/enum.c, doc/tex/misdn.tex, include/asterisk/doxyref.h, contrib/scripts/ast_grab_core, doc/tex/backtrace.tex, include/asterisk/doxygen/reviewboard.h, include/asterisk/doxygen/commits.h, contrib/scripts/asterisk.ldif, contrib/scripts/asterisk.ldap-schema, configs/extensions.conf.sample, doc/asterisk.sgml: Update references to bugs.digium.com and reviewboard.digium.com to the new URLs. 2009-05-28 20:43 +0000 [r197777] Terry Wilson * configs/calendar.conf.sample: Make note of Exchange calendar support limitations 2009-05-28 20:36 +0000 [r197775] Kevin P. Fleming * main/utils.c: Ensure that accidental calls to ast_string_field_free_memory() on embedded stringfield pools are safe. It is possible for a stringfield manager structure (and pool) structure to be allocated as part of a larger structure allocation (using ast_calloc_with_strinfields()); when this is done, the stringfield pool cannot be separately freed, but users of the tructure may not be aware (and shouldn't have to be aware) of whether the pool was embedded. This patch modifies the behavior so that they can always call ast_string_field_free_memory() and the function will do the right thing for both embedded and non-embedded situations. 2009-05-28 20:17 +0000 [r197740] Mark Michelson * channels/chan_sip.c: Treat 405 responses the same way we would a 501. This makes sure that we mark a method as being unallowed if we receive a 405 response so that we don't continue to try to send that same type of message. 2009-05-28 19:57 +0000 [r197738] Terry Wilson * res/res_calendar.exports (added), res/res_calendar_exchange.c (added), res/res_calendar_icalendar.c (added), build_tools/menuselect-deps.in, configure, include/asterisk/autoconfig.h.in, configure.ac, configs/calendar.conf.sample (added), res/res_calendar_caldav.c (added), include/asterisk/calendar.h (added), makeopts.in, res/res_calendar.c (added): Add Calendaring support for Asterisk This commit add Calendaring support to Asterisk for iCalendar, CalDAV, and MS Exchange calendars. Exchange support has only been tested on Exchange Server 2k3 and does not support forms-based authentication at this time (patches *very* welcome). Exchange support is also currently missing the ability to return a list of a meting's attendees (again, patches are very, very welcome). Features include: Querying a calendar for events over a specific time range Checking a calendar's busy status via the dialplan Writing calendar events via the dialplan (CalDAV and Exchange only) Handling calendar event notifications through the dialplan (closes issue #14771) Tested by: lmadsen, twilson, Shivaprakash Review: https://reviewboard.asterisk.org/r/58 2009-05-28 18:48 +0000 [r197701] Mark Michelson * channels/chan_local.c: Add missing lock to local_indicate function for connected line frames. 2009-05-28 18:45 +0000 [r197697] Joshua Colp * channels/chan_iax2.c: Fix a bug where the trunkmtu setting was not set to the default value of 1240 on load but was on reload. 2009-05-28 16:01 +0000 [r197621] Eliel C. Sardanons * /, channels/chan_sip.c: Merged revisions 197562 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r197562 | eliel | 2009-05-28 11:21:32 -0400 (Thu, 28 May 2009) | 13 lines Use the address we already know when reloading a peer with nat=yes. If we already have an address for a peer, and we are reloading the sip configuration, try to use that address to contact the peer, instead of getting it from the Contact. (closes issue #15194) Reported by: ibc Patches: sip.patch uploaded by eliel (license 64) Tested by: manwe ........ 2009-05-28 15:35 +0000 [r197616] Tilghman Lesher * channels/chan_dahdi.c, channels/chan_console.c, apps/app_rpt.c, main/astobj2.c, main/cli.c: Eliminate several needless checks and fix a few memory leaks (closes issue #14833) Reported by: contactmayankjain Patches: all_changes.patch uploaded by contactmayankjain (license 740) slightly modified by me 2009-05-28 15:32 +0000 [r197606] Mark Michelson * /: Recorded merge of revisions 197588 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r197588 | mmichelson | 2009-05-28 10:27:49 -0500 (Thu, 28 May 2009) | 16 lines Allow for media to arrive from an alternate source when responding to a reinvite with 491. When we receive a SIP reinvite, it is possible that we may not be able to process the reinvite immediately since we have also sent a reinvite out ourselves. The problem is that whoever sent us the reinvite may have also sent a reinvite out to another party, and that reinvite may have succeeded. As a result, even though we are not going to accept the reinvite we just received, it is important for us to not have problems if we suddenly start receiving RTP from a new source. The fix for this is to grab the media source information from the SDP of the reinvite that we receive. This information is passed to the RTP layer so that it will know about the alternate source for media. Review: https://reviewboard.asterisk.org/r/252 ........ 2009-05-28 15:23 +0000 [r197570] Joshua Colp * main/logger.c: Fix an incorrect call to ast_string_field_free_memory which caused a crash in the logger. Since the message structure is allocated using ast_calloc_with_stringfields we do not need to free the memory used for the stringfields as it will get freed when the message structure is. 2009-05-28 14:58 +0000 [r197543] Mark Michelson * /, include/asterisk/audiohook.h, main/audiohook.c, apps/app_chanspy.c: Merged revisions 197537 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r197537 | mmichelson | 2009-05-28 09:49:13 -0500 (Thu, 28 May 2009) | 21 lines Add flags to chanspy audiohook so that audio stays in sync. There are two flags being added to the chanspy audiohook here. One is the pre-existing AST_AUDIOHOOK_TRIGGER_SYNC flag. With this set, we ensure that the read and write slinfactories on the audiohook do not skew beyond a certain tolerance. In addition, there is a new audiohook flag added here, AST_AUDIOHOOK_SMALL_QUEUE. With this flag set, we do not allow for a slinfactory to build up a substantial amount of audio before flushing it. For this particular issue, this means that the person spying on the call will hear the conversations in real time with very little delay in the audio. (closes issue #13745) Reported by: geoffs Patches: 13745.patch uploaded by mmichelson (license 60) Tested by: snblitz ........ 2009-05-28 14:51 +0000 [r197538] Joshua Colp * main/utils.c: Fix a bug in stringfields where it did not actually free the pools of memory. (closes issue #15074) Reported by: pj 2009-05-28 14:39 +0000 [r197528-197535] Sean Bright * configs/amd.conf.sample, configs/users.conf.sample, configs/gtalk.conf.sample, configs/rpt.conf.sample, configs/rtp.conf.sample, configs/cli_aliases.conf.sample, configs/modules.conf.sample, configs/phone.conf.sample, configs/extensions.ael.sample, configs/skinny.conf.sample, configs/ais.conf.sample, configs/meetme.conf.sample, configs/extensions_minivm.conf.sample, configs/telcordia-1.adsi, configs/alsa.conf.sample, configs/iax.conf.sample, configs/followme.conf.sample, configs/mgcp.conf.sample, configs/sip.conf.sample, configs/extensions.lua.sample, configs/say.conf.sample, configs/queuerules.conf.sample, configs/minivm.conf.sample, configs/osp.conf.sample, configs/chan_dahdi.conf.sample, configs/cli_permissions.conf.sample, configs/console.conf.sample, configs/dundi.conf.sample, configs/indications.conf.sample, configs/oss.conf.sample, configs/queues.conf.sample, configs/voicemail.conf.sample, configs/usbradio.conf.sample, configs/cdr.conf.sample, configs/jingle.conf.sample, configs/misdn.conf.sample, configs/manager.conf.sample, configs/festival.conf.sample, configs/features.conf.sample, configs/logger.conf.sample, configs/http.conf.sample, configs/h323.conf.sample, configs/sla.conf.sample, configs/phoneprov.conf.sample, configs/res_odbc.conf.sample, configs/agents.conf.sample, configs/alarmreceiver.conf.sample, configs/func_odbc.conf.sample, configs/musiconhold.conf.sample, configs/jabber.conf.sample, configs/extconfig.conf.sample, configs/res_snmp.conf.sample, configs/iaxprov.conf.sample, configs/unistim.conf.sample, configs/dnsmgr.conf.sample, configs/extensions.conf.sample, configs/asterisk.adsi: Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. Let's try that again, this time removing trailing whitespace and not leading whitespace. I can't believe no one noticed. * configs/amd.conf.sample, configs/gtalk.conf.sample, configs/rtp.conf.sample, configs/rpt.conf.sample, configs/cli_aliases.conf.sample, configs/extensions.ael.sample, configs/skinny.conf.sample, configs/meetme.conf.sample, configs/telcordia-1.adsi, configs/alsa.conf.sample, configs/iax.conf.sample, configs/mgcp.conf.sample, configs/extensions.lua.sample, configs/sip.conf.sample, configs/say.conf.sample, configs/minivm.conf.sample, configs/console.conf.sample, configs/cli_permissions.conf.sample, configs/chan_dahdi.conf.sample, configs/oss.conf.sample, configs/queues.conf.sample, configs/jingle.conf.sample, configs/usbradio.conf.sample, configs/voicemail.conf.sample, configs/misdn.conf.sample, configs/manager.conf.sample, configs/features.conf.sample, configs/h323.conf.sample, configs/sla.conf.sample, configs/res_odbc.conf.sample, configs/phoneprov.conf.sample, configs/alarmreceiver.conf.sample, configs/func_odbc.conf.sample, configs/musiconhold.conf.sample, configs/jabber.conf.sample, configs/unistim.conf.sample, configs/dnsmgr.conf.sample, configs/extensions.conf.sample, configs/asterisk.adsi: Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 13:47 +0000 [r197467] Joshua Colp * /, channels/chan_sip.c: Merged revisions 197466 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r197466 | file | 2009-05-28 10:44:58 -0300 (Thu, 28 May 2009) | 8 lines Fix a bug where the flag indicating the presence of rport would get overwritten by the nat setting. The presence of rport is now stored as a separate flag. Once the dialog is setup and authenticated (or it passes through unauthenticated) the proper nat flag is set. (closes issue #13823) Reported by: dimas ........ 2009-05-28 11:25 +0000 [r197406-197431] Gavin Henry * contrib/scripts/asterisk.ldap-schema, contrib/scripts/asterisk.ldif: Added AstVoicemailContext Added AstVoicemailContext (closes issue #15155) Reported by: scramatte Tested by: suretec * contrib/scripts/asterisk.ldap-schema, contrib/scripts/asterisk.ldif: New objectclass AsteriskVoiceMail and AstAccountCallLimit attribute Added new ObjectClass AsteriskVoiceMail, and AstAccountCallLimit attribute and cleaned up formatting and tested with OpenLDAP (closes issue #15155) Reported by: scramatte Patches: asterisk.schema uploaded by scramatte (license 796) Tested by: suretec Review: [full review board URL with trailing slash] * doc/ldap.txt, configs/res_ldap.conf.sample, contrib/scripts/asterisk.ldap-schema, contrib/scripts/asterisk.ldif: closes issue #15156 2009-05-27 23:48 +0000 [r197374] Tilghman Lesher * main/xml.c: Revert commit 192032. This define is needed on Mac OS X. 2009-05-27 22:42 +0000 [r197338] Russell Bryant * main/rtp_engine.c: Don't do a pointer comparison before setting the remote address. 2009-05-27 22:21 +0000 [r197335] Kevin P. Fleming * include/asterisk/agi.h: Ensure that this header includes xmldoc.h, since it depends on it. 2009-05-27 20:14 +0000 [r197266] Olle Johansson * channels/chan_sip.c: Adding some generic handling of error codes sent to us in replys to requests. Previously they always set hangupcause 0, which is generally wrong. With this change, we're setting some generic hangup causes. For 5xx errors, which indicate some sort of problem with the remote server, we're now setting CONGESTION. EDVX002 2009-05-27 20:08 +0000 [r197260] Sean Bright * Makefile: Use bash explicitly when calling build_tools/mkpkgconfig from the Makefile. Since we use bashisms in build_tools/mkpkgconfig, we should call on bash explicitly when running from the Makefile, otherwise we get errors during a 'make install.' (closes issue #15209) Reported by: seandarcy 2009-05-27 19:20 +0000 [r197209] Tilghman Lesher * /, funcs/func_cut.c: Recorded merge of revisions 197194 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r197194 | tilghman | 2009-05-27 14:09:42 -0500 (Wed, 27 May 2009) | 5 lines Use a different determinator on whether to print the delimiter, since leading fields may be blank. (closes issue #15208) Reported by: ramonpeek Patch by me, though inspired in part by a patch from ramonpeek ........ 2009-05-27 18:25 +0000 [r196948-197189] Sean Bright * configs/adtranvofr.conf.sample (removed): Remove a file sample configuration file that is no longer used. * configs/chan_dahdi.conf.sample, configs/vpb.conf.sample, configs/smdi.conf.sample, configs/extensions.conf.sample, configs/sla.conf.sample: Fix references to /etc/dahdi/system.conf and /etc/asterisk/chan_dahdi.conf in the sample configuration files. (closes issue #15207) Reported by: seandarcy * channels/chan_alsa.c: Display an error message when chan_alsa fails to load due to a missing or inaccessible configuration file. Before this change, when chan_alsa failed to load due to a missing or inaccessible configuration file, no message would be displayed. With this change, when chan_alsa fails to load due to a missing or inaccessible configuration file, a message will be displayed. (closes issue #14760) Reported by: Nick_Lewis Patches: chan_alsa.c-confload.patch uploaded by Nick (license 657) * main/xmldoc.c: Reset the terminal to the correct fg/bg after XML documenation is rendered. (closes issue #15200) Reported by: ajohnson Patches: 05262009_xmldoc.patch uploaded by seanbright (license 71) Tested by: ajohnson 2009-05-26 22:40 +0000 [r196946] Russell Bryant * autoconf/ast_check_osptk.m4 (added), configure, include/asterisk/autoconfig.h.in, configure.ac: Update configure script to check for OSP toolkit 3.5.0. (closes issue #14988) Reported by: tzafrir Patches: configure.ac.diff uploaded by homesick (license 91) new_ast_check_osptk.m4 uploaded by homesick (license 91) 2009-05-26 22:38 +0000 [r196907-196945] Sean Bright * main/manager.c: Add ActionID to CoreShowChannel event. There is inconsistency in how we handle manager responses that are lists of items and, unfortunately, third parties have come to rely on ActionID being on every event within those lists instead of just keeping track of the ActionID for the current response. This change makes CoreShowChannels include the ActionID with each CoreShowChannel event generated as a result of it being called. (closes issue #15001) Reported by: sum Patches: patchactionid2.patch uploaded by sum (license 766) * main/manager.c: Include startup and reload date in the CoreStatus manager message. The CoreStartupTime and CoreReloadTime name/value pairs in the CoreStatus response message only included the time and not the date. This patch, inspired by the reporter's patch, adds 2 new fields - CoreStartupDate and CoreReloadDate - which contain the date portion of these values. (closes issue #15000) Reported by: sum 2009-05-26 19:50 +0000 [r196893] Mark Michelson * channels/chan_sip.c, apps/app_directed_pickup.c: Remove some redundant or unnecessary connected line-related function calls. 2009-05-26 18:20 +0000 [r196843] Russell Bryant * /, res/res_convert.c: Merged revisions 196826 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r196826 | russell | 2009-05-26 13:14:36 -0500 (Tue, 26 May 2009) | 9 lines Resolve a file handle leak. The frames here should have always been freed. However, out of luck, there was never any memory leaked. However, after file streams became reference counted, this code would leak the file stream for the file being read. (closes issue #15181) Reported by: jkroon ........ 2009-05-26 16:38 +0000 [r196725-196792] Sean Bright * apps/app_queue.c: Add a missing unref for queues in handle_statechange. * main/pbx.c, include/asterisk/pbx.h, res/res_clioriginate.c: Add new ast_complete_applications function so that we can use it with the 'channel originate ... application ' CLI command. (And yeah, I cleaned up some whitespace in res_clioriginate.c... big whoop, wanna fight about it!?) * cdr/cdr_sqlite3_custom.c: Use a properly allocated channel for substitution in cdr_sqlite3_custom. 2009-05-26 13:43 +0000 [r196658-196721] Joshua Colp * channels/chan_sip.c: Fix a bug where the sip unregister CLI command did not completely unregister the peer. (closes issue #15118) Reported by: alecdavis Patches: chan_sip_unregister.diff2.txt uploaded by alecdavis (license 585) * /, contrib/scripts/safe_asterisk: Merged revisions 196657 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r196657 | file | 2009-05-26 10:06:09 -0300 (Tue, 26 May 2009) | 7 lines Remove some bash specific stuff from safe_asterisk. (closes issue #10812) Reported by: paravoid Patches: safe_asterisk_bashism.diff uploaded by tzafrir (license 46) ........ 2009-05-26 12:14 +0000 [r196622] Sean Bright * cdr/cdr_manager.c: Use a properly allocated channel for substitution in cdr_manager. 2009-05-24 16:17 +0000 [r196554-196585] Eliel C. Sardanons * res/res_agi.c: Move AGI static documentation to the new AstXML form. Move AGI commands documentation to XML docs: 'set priority' 'set variable' 'stream file' 'control stream file' 'tdd mode' 'verbose' 'wait for digit' 'speech create' 'speech set' 'speech destroy' 'speech load grammar' 'speech unload grammar' 'speech activate grammar' 'speech deactivate grammar' 'speech recognize' * res/res_agi.c: Move static AGI commands documentation to XML. Move AGI commands ('say datetime', 'send image', 'send text', 'set autohangup', 'set callerid', 'set context', 'set extension') documentation to the AstXML form. 2009-05-23 15:16 +0000 [r196520] Sean Bright * cdr/cdr_custom.c: Fix errors in cdr_custom that cause reference errors when non-CDR variable substitution is done. cdr_custom was creating a ast_channel struct directly and passing it into the core for variable substition. This was fine as long as the format string contained only calls to the CDR() function. Doing something like ${EPOCH} on the other hand tried to lock the channel, which would fail and throw an error because the passed channel hadn't been allocated as an ao2 object. So now we create the dummy channel with ast_channel_alloc, and everything works as expected. 2009-05-23 13:31 +0000 [r196488] Kevin P. Fleming * include/asterisk/cli.h: Correct example for CLI autocompletion (generation) Reported by Atis on #asterisk-dev 2009-05-23 04:27 +0000 [r196456] Moises Silva * channels/chan_dahdi.c: set MFCR2_CATEGORY just when starting the pbx 2009-05-22 21:11 +0000 [r196417] Sean Bright * main/asterisk.c: Call ast_stun_init() when we're initializing to get the 'stun debug set' commands. 2009-05-22 21:09 +0000 [r196416] David Vossel * channels/chan_sip.c, configs/sip.conf.sample: SIP set outbound transport type from Registration In sip.conf the transport option allows for the configuration of what transport types (udp, tcp, and tls) a peer will accept, but only the first type listed was used for outbound connections. This patch changes this. Now the default transport type is only used until the peer registers. When registration takes place the transport type is parsed out of the Contact header. If the Contact header's transport type is equal to one that the peer supports, the peer's default transport type for outbound connections is set to match the Contact header's type. If the Contact header's transport type is not present, then the peer's default transport type is set to match the one the peer registered with. When a peer unregisters or the registration expires, the default transport type for that peer is reset. (closes issue #12282) Reported by: rjain Patches: reg_patch_1.diff uploaded by dvossel (license 671) Tested by: dvossel (closes issue #14727) Reported by: pj Patches: reg_patch_3.diff uploaded by dvossel (license 671) Tested by: pj, dvossel Review: https://reviewboard.asterisk.org/r/249/ 2009-05-22 20:01 +0000 [r196381] Sean Bright * channels/chan_gtalk.c: Don't crash if an RTP instance can't be created. This could occur when an invalid bindaddr was specified in gtalk.conf. 2009-05-22 19:38 +0000 [r196308-196377] Eliel C. Sardanons * apps/app_minivm.c: Unregister every registered application by MiniVM. The MinivmMWI application was not being unregistered on unload and we were not able to load again the module or reload it. (closes issue #15174) Reported by: junky Patches: unregister_minivm_mwi.diff uploaded by junky (license 177) * res/res_agi.c: Moved static documentation to the AstXML form. Moved AGI commands static documentation to XML docs ('say alpha', 'say digits', 'say number', 'say phonetic', 'say date' and 'say time'). * main/pbx.c, channels/chan_sip.c, apps/app_meetme.c, channels/chan_agent.c, apps/app_queue.c, channels/chan_iax2.c, include/asterisk/manager.h, channels/chan_dahdi.c, main/manager.c, channels/chan_skinny.c, main/features.c, res/res_agi.c, include/asterisk/xmldoc.h, include/asterisk/pbx.h, apps/app_senddtmf.c, doc/appdocsxml.dtd, main/db.c, main/xmldoc.c, apps/app_voicemail.c: Implement a new element in AstXML for AMI actions documentation. A new xml element was created to manage the AMI actions documentation, using AstXML. To register a manager action using XML documentation it is now possible using ast_manager_register_xml(). The CLI command 'manager show command' can be used to show the parsed documentation. Example manager xml documentation: AMI action synopsis. <-- for ActionID Description ... AMI action description ... 2009-05-22 16:53 +0000 [r196272] Tilghman Lesher * main/astmm.c: Two more minor fixes due to constification 2009-05-22 16:51 +0000 [r196270] Sean Bright * res/res_agi.c: Fix res_agi compilation after the const-ify the world merge. Since we are dealing with a 'const char * const' now, we have to create a temporary copy of the string to work on rather than the original. Fix inspired by reporter. Reviewed by everyone-and-their-mother in #asterisk-dev. (closes issue #15184) Reported by: andrew 2009-05-22 16:50 +0000 [r196268] Mark Michelson * channels/chan_sip.c: s/it's/its/ 2009-05-22 16:20 +0000 [r196246] Russell Bryant * channels/chan_dahdi.c: resolve compiler warning 2009-05-22 16:10 +0000 [r196227] Sean Bright * channels/chan_dahdi.c, main/pbx.c, res/res_jabber.c, res/res_monitor.c: Fix build under dev mode and remove some casts that are no longer necessary as a result of the const-ify the world patch. 2009-05-22 15:07 +0000 [r196187-196188] Richard Mudgett * apps/app_mp3.c: Fix constify the world compile problem. * channels/chan_misdn.c: Make chan_misdn compile. 2009-05-22 13:56 +0000 [r196117] Joshua Colp * channels/chan_misdn.c, /: Merged revisions 196116 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r196116 | file | 2009-05-22 10:54:17 -0300 (Fri, 22 May 2009) | 5 lines Fix a bug where using immediate with mISDN caused a cause code of 16 to get sent back instead of 1 if the 's' extension did not exist. (closes issue #12286) Reported by: lmamane ........ 2009-05-22 13:34 +0000 [r196114] Eliel C. Sardanons * main/pbx.c: Avoid using prototypes when not necessary (it is already defined in the header file). Make log_match_char_tree() static to main/pbx.c (only used there). 2009-05-21 21:13 +0000 [r196072] Kevin P. Fleming * apps/app_dahdibarge.c, main/frame.c, apps/app_record.c, apps/app_playtones.c, funcs/func_strings.c, include/asterisk/extconf.h, apps/app_alarmreceiver.c, apps/app_chanisavail.c, apps/app_ices.c, apps/app_exec.c, channels/chan_iax2.c, main/astobj2.c, channels/chan_dahdi.c, channels/chan_skinny.c, apps/app_dumpchan.c, pbx/pbx_ael.c, main/pbx.c, channels/vcodecs.c, apps/app_softhangup.c, apps/app_morsecode.c, apps/app_talkdetect.c, channels/iax2-parser.c, apps/app_db.c, apps/app_speech_utils.c, apps/app_sendtext.c, pbx/pbx_config.c, apps/app_mixmonitor.c, main/asterisk.c, res/res_odbc.c, apps/app_voicemail.c, apps/app_dictate.c, apps/app_authenticate.c, apps/app_readexten.c, apps/app_userevent.c, res/res_jabber.c, include/asterisk/abstract_jb.h, main/channel.c, apps/app_setcallerid.c, apps/app_osplookup.c, funcs/func_odbc.c, apps/app_mp3.c, apps/app_minivm.c, apps/app_directory.c, apps/app_rpt.c, channels/chan_mgcp.c, apps/app_adsiprog.c, apps/app_read.c, channels/chan_sip.c, include/asterisk/taskprocessor.h, include/asterisk/cli.h, apps/app_originate.c, utils/conf2ael.c, apps/app_channelredirect.c, apps/app_forkcdr.c, main/abstract_jb.c, channels/misdn/chan_misdn_config.h, apps/app_sms.c, utils/extconf.c, funcs/func_devstate.c, apps/app_stack.c, apps/app_verbose.c, main/dsp.c, main/udptl.c, include/asterisk/agi.h, cdr/cdr_sqlite3_custom.c, apps/app_readfile.c, apps/app_sayunixtime.c, apps/app_test.c, include/asterisk/speech.h, cdr/cdr_adaptive_odbc.c, apps/app_image.c, main/taskprocessor.c, main/loader.c, main/cli.c, apps/app_skel.c, include/asterisk/module.h, main/features.c, apps/app_amd.c, channels/chan_alsa.c, apps/app_url.c, apps/app_externalivr.c, formats/format_gsm.c, apps/app_milliwatt.c, res/res_speech.c, main/ast_expr2.fl, apps/app_dial.c, include/asterisk/utils.h, apps/app_page.c, apps/app_privacy.c, apps/app_fax.c, apps/app_echo.c, channels/chan_agent.c, apps/app_dahdiras.c, apps/app_disa.c, pbx/dundi-parser.c, apps/app_transfer.c, res/res_monitor.c, apps/app_playback.c, include/asterisk/app.h, channels/chan_misdn.c, apps/app_waitforring.c, include/asterisk/image.h, apps/app_macro.c, apps/app_zapateller.c, apps/app_chanspy.c, apps/app_cdr.c, channels/chan_unistim.c, apps/app_meetme.c, main/utils.c, res/res_musiconhold.c, apps/app_followme.c, channels/misdn_config.c, apps/app_controlplayback.c, main/ulaw.c, main/cdr.c, main/manager.c, channels/console_gui.c, cdr/cdr_sqlite.c, res/res_agi.c, main/app.c, apps/app_confbridge.c, main/image.c, apps/app_ivrdemo.c, apps/app_parkandannounce.c, res/res_clioriginate.c, apps/app_jack.c, apps/app_while.c, res/res_rtp_asterisk.c, apps/app_nbscat.c, apps/app_festival.c, res/res_limit.c, apps/app_waitforsilence.c, apps/app_waituntil.c, channels/chan_console.c, apps/app_queue.c, apps/app_system.c, apps/app_getcpeid.c, channels/chan_oss.c, include/asterisk/features.h, apps/app_flash.c, apps/app_directed_pickup.c, channels/chan_nbs.c, include/asterisk/strings.h, include/asterisk/pbx.h, apps/app_senddtmf.c: Const-ify the world (or at least a good part of it) This patch adds 'const' tags to a number of Asterisk APIs where they are appropriate (where the API already demanded that the function argument not be modified, but the compiler was not informed of that fact). The list includes: - CLI command handlers - CLI command handler arguments - AGI command handlers - AGI command handler arguments - Dialplan application handler arguments - Speech engine API function arguments In addition, various file-scope and function-scope constant arrays got 'const' and/or 'static' qualifiers where they were missing. Review: https://reviewboard.asterisk.org/r/251/ 2009-05-21 19:11 +0000 [r195995] David Vossel * /, channels/chan_iax2.c: Merged revisions 195991 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r195991 | dvossel | 2009-05-21 14:04:56 -0500 (Thu, 21 May 2009) | 14 lines Sign problem calculating timestamp for iax frame leads to no audio on the receiving peer. There are rare cases in which a frame's delivery timestamp is slightly less than the iax2_pvt's offset. This causes the pvt's timestamp to be a small negative number, but since the timestamp value is unsigned it looks like a huge positive number. This patch checks for this negative case and sets the ms to zero. A similar check is already done right below this one in the 'else' statement. (closes issue #15032) Reported by: guillecabeza Patches: chan_iax2.c.patch_timestamp uploaded by guillecabeza (license 380) Tested by: guillecabeza (closes issue #14216) Reported by: Andrey Sofronov ........ 2009-05-21 19:06 +0000 [r195992] Mark Michelson * main/features.c: Pass connected line updates along during a bridge. 2009-05-21 17:15 +0000 [r195949] Sean Bright * configs/cdr_custom.conf.sample: Rework the cdr_custom.conf.sample header a bit to reflect the changes in functionality (allowing multiple mappings). 2009-05-21 15:33 +0000 [r195882] Matthew Nicholson * main/cdr.c, /, include/asterisk/cdr.h: Merged revisions 195881 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r195881 | mnicholson | 2009-05-21 10:25:50 -0500 (Thu, 21 May 2009) | 13 lines This commit prevents cdr records with AST_CDR_FLAG_ANSLOCKED and AST_CDR_FLAG_LOCKED from being updated in certain cases. This is accomplished by adding two functions to update the answer time and disposition of calls that checks for the proper lock flags. These functions are used in the ast_bridge_call() function so that ForkCDR(A) calls are respected. This patch also modifies the way ast_bridge_call() chooses the cdr record to base the bridged_cdr on. Previously the first unlocked cdr record would be chosen, now instead the first cdr record is chosen and forked cdr records are moved to the bridge_cdr. This allows the original cdr record and any forked cdr records to be properly updated with answer and end times. (closes issue #13797) Reported by: sh0t Tested by: sh0t (closes issue #14744) Reported by: deepesh ........ 2009-05-20 23:30 +0000 [r195839] Tilghman Lesher * apps/app_stack.c: If a variable had a blank value upon the initial setting, then it would do nothing. Identified by Dmitry Andrianov via private email, fixed by me. 2009-05-20 20:45 +0000 [r195763-195798] Mark Michelson * channels/chan_sip.c: Get rid of some duplicated code and correct a connected line error. When receiving a 200 OK response to an INVITE, it was possible to transmit two connected line updates instead of a single one. Furthermore, the second did not have the proper information present. Now the two have been combined into a single update and the correct information is presented. * apps/app_dial.c: Plug a memory leak in app_dial. Since we may have copied connected line info into the chanlist struct prior to placing an outbound call, we need to be sure to free the allocated data when we hang the call up. 2009-05-20 17:33 +0000 [r195636-195698] Joshua Colp * /, main/features.c: Merged revisions 195688 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r195688 | file | 2009-05-20 14:30:25 -0300 (Wed, 20 May 2009) | 5 lines Fix some code that wrongly assumed a pointer would always be non-NULL when dealing with CDRs after a bridge. (closes issue #15079) Reported by: barryf ........ * /, apps/app_meetme.c: Merged revisions 195635 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r195635 | file | 2009-05-20 14:14:00 -0300 (Wed, 20 May 2009) | 5 lines Fix a bug where the MeetMe option 'D' did not actually prompt for the pin. (closes issue #15050) Reported by: pmhaddad ........ 2009-05-19 20:59 +0000 [r195589] Mark Michelson * channels/chan_sip.c, configs/sip.conf.sample: Add basic support for handling connected line-related UPDATE requests. SIP purists may want to look the other way... When COLP/CONP support for SIP was committed, there was a condition under which Asterisk may transmit a SIP UPDATE in order to communicate the change in connected line information. The issue here is that while we could send a SIP UPDATE message, we were not prepared to receive such an UPDATE and would always responde with a 501 when we received an UPDATE. The situation was a bit rough. We really want to be able to receive UPDATEs having to do with connected line changes, but the amount of effort involved in properly supporting RFC 3311 was staggering. This commit represents a compromise. First, it was decided that it is important to only send a SIP UPDATE to an endpoint that is able to handle one. So, now we have added parsing of the Allow header into SIP. We store the allowed methods on SIP peers so that when we communicate with them, we already will know what we can and cannot send to them. We will parse the peer's allowed methods when he registers with us. If the peer is not the type to register with us, but the qualify option is enabled, then we will use the response to the OPTIONS request we send the peer to determine the peer's allowed methods. When the peer's registration expires, or when qualify deems the peer to be unreachable, we clear the allowed methods from the peer. For an actual call, we will copy the peer's allowed methods to the sip_pvt representing the call leg. If we are communicating with an endpoint which is not a peer, then we will just parse the Allow header from the first message we receive during the call and store the information in the sip_pvt. If, during communication with a peer, we receive a 501 response, then we will make sure to save the fact that we cannot use that method when communicating with that peer. Now, with all that infrastructure in place, the only actual place we use this information currently is when attempting to send a connected line change using an UPDATE request. If we cannot send the change immediately using an UPDATE, we will set the SIP_NEEDREINVITE flag so that we can send a REINVITE as soon as it is allowed. The second part of the changes here is for Asterisk to accept UPDATE requests that have connected line changes. Since we are not fully supporting RFC 3311, Asterisk will NOT place the UPDATE method in Allow headers it sends. Instead, if you are communicating with what you know to be another Asterisk box, you may set the rpid_update parameter in sip.conf so that we will send UPDATEs to that Asterisk box. When we send a connected line update, we set a custom header called "X-Asterisk-rpid-update." On the receiving end, if Asterisk receives an UPDATE that does not have the "X-Asterisk-rpid-update" header present, then Asterisk will respond with a 501 since media-changing UPDATEs are not supported. We should never get such UPDATEs, since as was stated earlier, Asterisk does not put UPDATE in its Allow header. If the custom header is present in the received UPDATE, though, then we will check the incoming request for connected line updates and queue the update on the channel where the change occurred. ABE-1840 ABE-1822 2009-05-19 20:16 +0000 [r195521] Tilghman Lesher * /, apps/app_voicemail.c: Merged revisions 195520 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r195520 | tilghman | 2009-05-19 15:12:20 -0500 (Tue, 19 May 2009) | 7 lines Ensure thread keys are initialized before attempting to access them. (closes issue #14889) Reported by: jaroth Patches: app_voicemail.c.patch uploaded by msirota (license 758) Tested by: msirota, BlargMaN ........ 2009-05-19 14:43 +0000 [r195449] Joshua Colp * /, channels/chan_sip.c: Merged revisions 195448 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r195448 | file | 2009-05-19 11:41:45 -0300 (Tue, 19 May 2009) | 7 lines Fix a bug where direct RTP setup would partially occur even when disabled if the calling channel was answered. (issue #13545) Reported by: davidw (issue #14244) Reported by: mbnwa ........ 2009-05-18 20:52 +0000 [r195370] Tilghman Lesher * res/res_smdi.c, /, include/asterisk/monitor.h, apps/app_queue.c, include/asterisk/smdi.h, res/res_monitor.c, apps/app_voicemail.c: Recorded merge of revisions 195366 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r195366 | tilghman | 2009-05-18 15:24:13 -0500 (Mon, 18 May 2009) | 8 lines Add a similar dependency on SMDI for voicemail as already exists for ADSI. (closes issue #14846) Reported by: pj Patches: 20090413__bug14846__1.4.diff.txt uploaded by tilghman (license 14) 20090507__issue14846__1.6.0.diff.txt uploaded by tilghman (license 14) 20090507__issue14846__1.6.1.diff.txt uploaded by tilghman (license 14) ........ 2009-05-18 20:49 +0000 [r195365-195369] Eliel C. Sardanons * main/manager.c: Fix the CLI command 'manager show command' documentation and functionality. The CLI command 'manager show command' supports passing multiple action names in the same line, but it was not allowing that because of a incorrect check in the argumentes counter. Also the documentation was updated to show that this usage of the command is possible. * main/manager.c: Rollback commit 195367. The CLI command 'manager show command' supports passing multiple AMI actions at a time. The issue with this command was in another place. * main/manager.c: Avoid autocompleting passed the action name argument in the CLI command. When running the autocomplete of the CLI command 'manager show command ' it was autocompleting everything else after the argument, giving an error, because this command doesn't support multiple AMI action names at a time. * res/res_agi.c: Move AGI documentation from static to the XML form. Move the AGI commands 'receive text', 'receive char' and 'record' static documentation to XML docs. 2009-05-18 19:17 +0000 [r195320] Tilghman Lesher * main/asterisk.c: Move the spawn of astcanary down, until after the call to daemon(3). This avoids possible conflicts with the internal implementation of daemon(3). (closes issue #15093) Reported by: tzafrir Patches: 20090513__issue15093__2.diff.txt uploaded by tilghman (license 14) Tested by: tzafrir 2009-05-18 18:58 +0000 [r195316] Mark Michelson * apps/app_externalivr.c: Fix externalivr's setvariable command so that it properly sets multiple variables. The command had a for loop that was guaranteed to only execute once since the continuation operation of the loop would set the input buffer NULL. I rewrote the loop so that its operation was more obvious, and it would set multiple variables correctly. I also reduced stack space required for the function, constified the input string, and modified the function so that it would not modify the input string while I was at it. (closes issue #15114) Reported by: chris-mac Patches: 15114.patch uploaded by mmichelson (license 60) Tested by: chris-mac 2009-05-18 17:08 +0000 [r195279] Sean Bright * cdr/cdr_custom.c: Remove some unused code. 2009-05-18 16:29 +0000 [r195266] Richard Mudgett * channels/chan_dahdi.c: The facilityenable parameter does not have anything to do with pritimer parameters. 2009-05-18 15:55 +0000 [r195210] Sean Bright * cdr/cdr_custom.c: Const-ify a string, fix a log message, and use the correct signature for the load_module function. 2009-05-18 15:53 +0000 [r195207] Joshua Colp * main/frame.c, /: Merged revisions 195206 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r195206 | file | 2009-05-18 12:51:22 -0300 (Mon, 18 May 2009) | 7 lines Fix a typo which caused loss of audio when using G729 in some scenarios with a smoother present. (closes issue #15105) Reported by: bamby Patches: process-vad-correctly.diff uploaded by bamby (license 430) ........ 2009-05-18 14:54 +0000 [r195165] Sean Bright * configs/cdr_custom.conf.sample, CHANGES, cdr/cdr_custom.c: Allow cdr_custom to write to multiple files instead of just one. Up to now, cdr_custom would only accept a single filename/format from cdr_custom.conf. This change allows you to specify multiple filename & format directives. 2009-05-18 14:45 +0000 [r195162] Eliel C. Sardanons * apps/app_dial.c, main/pbx.c, apps/app_macro.c: Warn about the use of the application WaitExten() within a Macro(). Update applications documentation to warn the user about the use of the WaitExten() application within a Macro(). Recommend the use of Read() instead. (closes issue #14444) Reported by: ewieling 2009-05-18 13:56 +0000 [r195089-195096] Joshua Colp * main/rtp_engine.c, /: Merged revisions 195095 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r195095 | file | 2009-05-18 10:53:39 -0300 (Mon, 18 May 2009) | 5 lines Fix a bug where the codecs of the called party leg were not properly sent back to the caller call leg when reinvited. (closes issue #13569) Reported by: bkw918 ........ * channels/chan_sip.c: Fix a bug where specifying an empty outboundproxy would cause packets to get sent to ourself. (closes issue #15106) Reported by: timeshell 2009-05-18 13:30 +0000 [r195075] Eliel C. Sardanons * main/xml.c: Do not avoid loading the XML documentation if not XInclude substitution is done. 2009-05-18 12:59 +0000 [r195021] Russell Bryant * /: Recorded merge of revisions 195020 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r195020 | russell | 2009-05-18 07:57:46 -0500 (Mon, 18 May 2009) | 5 lines Don't try to unlock a bogus channel. (closes issue #15144) Reported by: cristiandimache ........ 2009-05-16 20:01 +0000 [r194945-194982] Eliel C. Sardanons * Makefile, main/xml.c, doc/appdocsxml.dtd: Allow to include sections of other parts of the xml documentation. Avoid duplicating xml documentation by allowing to include other parts of the xml documentation using XInclude. Example: (Insert this line to include the synopsis of the CHANNEL function xml documentation). It is also possible to include documentation from other files in the 'documentation/' directory using the href="" attribute inside a xinclude element. (closes issue #15107) Reported by: lmadsen (issue #14444) Reported by: ewieling * main/pbx.c: Fix a missing unlock in case of error, and a missing free(). Always free the allocated memory for a string field, because we are always using it (not only when xmldocs are enabled). Also if there is an error allocating memory for the string field remember to unlock the list of registered applications, before returning. 2009-05-15 22:44 +0000 [r194833-194874] David Vossel * /, channels/chan_iax2.c: Merged revisions 194873 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r194873 | dvossel | 2009-05-15 17:43:13 -0500 (Fri, 15 May 2009) | 17 lines IAX2 REGAUTH loop IAX was not sending REGREJ to terminate invalid registrations. Instead it sent another REGAUTH if the authentication challenge failed. This caused a loop of REGREQ and REGAUTH frames. (Related to Security fix AST-2009-001) (closes issue #14867) Reported by: aragon Tested by: dvossel (closes issue #14717) Reported by: mobeck Patches: regauth_loop_update_patch.diff uploaded by dvossel (license 671) Tested by: dvossel ........ * channels/iax2-parser.h, /, channels/iax2.h, channels/chan_iax2.c, channels/iax2-parser.c: Merged revisions 194557,194685 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r194557 | dvossel | 2009-05-14 17:59:43 -0500 (Thu, 14 May 2009) | 10 lines IAX2 "Ghost" Channels There is a bug tracker issue where people are reporting "Ghost" channels in their 'iax2 show channels' output. The confusion is caused by channels being listed as "(NONE)" with format "unknown". These are not channels of coarse. They are usually just pending registration or poke requests, but it is confusing output. To help make sense of this I have added two columns to 'iax2 show channels'. One shows the first message which started the transaction, and the second shows the last message sent by either side of the call. This helps diagnose why the entry exists and why it may not go away. (closes issue #14207) Reported by: clive18 Review: https://reviewboard.asterisk.org/r/246/ ........ r194685 | dvossel | 2009-05-15 10:40:37 -0500 (Fri, 15 May 2009) | 6 lines Update to previous IAX2 "Ghost" Channels patch. Fixed some comments made on reviewboard for the previous patch. (issue #14207) ........ 2009-05-15 18:43 +0000 [r194714-194765] Russell Bryant * /, configs/logger.conf.sample: Merged revisions 194764 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r194764 | russell | 2009-05-15 13:43:18 -0500 (Fri, 15 May 2009) | 2 lines Fix some spelling fail. ........ * codecs/g722/g722_encode.c, codecs/g722/g722_decode.c: Shuttle some bits around to address some gain issues with G.722. (closes AST-209) * codecs/Makefile, codecs/g722/Makefile (removed): Further simplify codec_g722 build. * codecs/Makefile: Actually force running make for g722. 2009-05-15 13:43 +0000 [r194649] Michiel van Baak * CREDITS: add eliel 2009-05-15 13:23 +0000 [r194635] Eliel C. Sardanons * doc/appdocsxml.dtd, main/xmldoc.c: Allow to specify an enumlist inside an enum. It was not possible to use an enumlist inside an enum: ... Now we will be able to insert as many levels as we want. (closes issue #15112) Reported by: lmadsen 2009-05-15 13:13 +0000 [r194520-194610] Kevin P. Fleming * include/asterisk/logger.h, tests/test_logger.c (added), main/logger.c: Add ability for modules to dynamically register logger levels This patch adds the ability for modules to dynamically create logger levels for their own use; these are named levels just like the built-in levels, and can be directed to any destination that the logger can send any level to, by including their names in logger.conf. Review: https://reviewboard.asterisk.org/r/244/ * /: Merged revisions 194509 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r194509 | kpfleming | 2009-05-14 17:23:49 -0500 (Thu, 14 May 2009) | 1 line Update URL to Reviewboard ........ 2009-05-14 22:20 +0000 [r194496] Mark Michelson * /, channels/chan_sip.c: Merged revisions 194484 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r194484 | mmichelson | 2009-05-14 17:17:55 -0500 (Thu, 14 May 2009) | 24 lines Fix a race condition where a reinvite could trigger a 482 response. The loop detection/spiral detection code in chan_sip used the owner channel's state as a criterion for determining if the incoming INVITE is a looped request. The problem with this is that the INVITE-handling code happens in a different thread than the thread that marks the owner channel as being up. As a result, if a reinvite were to come in very quickly, say from another Asterisk on the same LAN, it was possible for the reinvite to arrive before the owner channel had been set to the up state. This patch corrects the problem by using the invitestate of the sip_pvt instead, since that can be guaranteed to be set correctly by the time the reinvite arrives. Since there is a switch statement further in the INVITE-handling code, the AST_STATE_RINGING state also checks the invitestate of the sip_pvt in case we should actually be treating the channel as if it were up already. (closes issue #12215) Reported by: jpyle Patches: 12215_confirmed.patch uploaded by mmichelson (license 60) Tested by: lmadsen ........ 2009-05-14 22:03 +0000 [r194479] Richard Mudgett * channels/misdn/isdn_lib.h, channels/chan_misdn.c, channels/misdn/chan_misdn_config.h, channels/misdn/isdn_msg_parser.c, configs/misdn.conf.sample, CHANGES, channels/misdn/isdn_lib.c, channels/misdn_config.c: Add outgoing_colp misdn.conf port parameter. Select what to do with outgoing COLP information on this port. 0 - Send out COLP information unaltered. (default) 1 - Force COLP to restricted on all outgoing COLP information. 2 - Do not send COLP information. outgoing_colp=0 Also fixed sending the EctInform message so it always has the required redirectionNumber parameter when the status is active. JIRA ABE-1853 2009-05-14 21:24 +0000 [r194477] Russell Bryant * main/features.c: Fix a typo where an equality check should be an assignment. (closes issue #15103) Reported by: lmsteffan Patches: transfer_crash.patch uploaded by lmsteffan (license 779) 2009-05-14 17:05 +0000 [r194434] Joshua Colp * apps/app_meetme.c: Fix a bug where the 'T' option to Meetme did not work. (closes issue #15031) Reported by: Stochastic (closes issue #13801) Reported by: justdave 2009-05-14 16:22 +0000 [r194430] Tilghman Lesher * main/pbx.c: If the timing ended on a zero, then we would loop forever. (closes issue #14983) Reported by: teox Patches: 20090513__issue14983.diff.txt uploaded by tilghman (license 14) Tested by: teox 2009-05-13 15:02 +0000 [r194283] Eliel C. Sardanons * main/manager.c: Do not lock the 'sessions' container, lock the allocated 'session'. There was a typo in the structure being locked, and we were locking the 'sessions' container instead of the 'session' structure thar we are modifying. Reported by seanbright on #asterisk-dev, thanks! 2009-05-13 13:39 +0000 [r194209] Joshua Colp * res/res_rtp_asterisk.c, /: Merged revisions 194208 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r194208 | file | 2009-05-13 10:38:01 -0300 (Wed, 13 May 2009) | 11 lines Fix RFC2833 issues with DTMF getting duplicated and with duration wrapping over. (closes issue #14815) Reported by: geoff2010 Patches: v1-14815.patch uploaded by dimas (license 88) Tested by: geoff2010, file, dimas, ZX81, moliveras (closes issue #14460) Reported by: moliveras Tested by: moliveras ........ 2009-05-13 00:52 +0000 [r194101-194138] Tilghman Lesher * main/pbx.c, /: Merged revisions 194137 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r194137 | tilghman | 2009-05-12 19:52:03 -0500 (Tue, 12 May 2009) | 7 lines Fix logic for how to proceed with a single digit extension. (closes issue #15091) Reported by: andrew Patches: 20090512__issue15091.diff.txt uploaded by tilghman (license 14) Tested by: andrew ........ * main/pbx.c, main/logger.c: Two fixes found while debugging with ast_backtrace(): 1) If MALLOC_DEBUG is used when concurrently using ast_backtrace, the free() used in that routine will trigger an error, because the memory was allocated internally to libc, where we could not intercept that call to wrap it. Therefore, it's not memory we knew about, and the free is reported as an error. 2) Now that channels are objects, the old hack of initializing a channel to all zeroes no longer works, since we may try to call something like ast_channel_lock() within a function on that reference. In that case, it's reported as an error, because the pointer isn't an object reference. 2009-05-12 22:49 +0000 [r194060] Eliel C. Sardanons * main/manager.c: Fix a crash when logging out from the AMI and avoid astobj2 warning messages. When the user logout the session was being destroyed twice and the file descriptor was being closed twice. The sessions reference counter wasn't used in a proper way. The 'mansession' structure was being treated as an astobj2 and we were calling ao2_lock/ao2_unlock causing astobj2 report a warning message and not locking the structure. Also we were using an ugly naming convention 'destroy_session', 'session_destroy', 'free_session', ... all this "duplicated" code was merged. (closes issue #14974) Reported by: pj Patches: manager.diff2 uploaded by eliel (license 64) Tested by: dhubbard, eliel, mnicholson (closes issue #15088) Reported by: eliel Review: http://reviewboard.asterisk.org/r/248/ 2009-05-12 22:32 +0000 [r194057] Matthew Nicholson * /, apps/app_queue.c: Merged revisions 194028 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r194028 | mnicholson | 2009-05-12 17:15:45 -0500 (Tue, 12 May 2009) | 16 lines This change modifies app_queue to properly generate CDR records in failure situations. This involves setting a proper cdr disposition coresponding to the given failure condition and ensuring the proper information is stored in the cdr record. (closes issue #13691) Reported by: dferrer Tested by: mnicholson (closes issue #13637) Reported by: atis Tested by: atis ........ 2009-05-12 20:40 +0000 [r193956] Tilghman Lesher * /, apps/app_voicemail.c: Merged revisions 193955 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r193955 | tilghman | 2009-05-12 15:39:21 -0500 (Tue, 12 May 2009) | 6 lines Avoid initializing routines if the authentication fails. Fixes a crash (RR) issue. (closes issue #14508) Reported by: tiziano Patches: 20090221_2_wrongmailbox.diff.txt uploaded by tiziano (license 377) ........ 2009-05-12 20:28 +0000 [r193954] Mark Michelson * channels/chan_sip.c: Update spiral support in trunk and 1.6.X to match what is in 1.4. In 1.4, a SIP spiral is treated the same way as a call forward. This works much better than what is currently in trunk and 1.6.X. The code in trunk and 1.6.X did not create a new call to the recipient of the spiral, instead trying to continue the same call. In addition to just being plain wrong, this also had the side effect of only being able to spiral calls to other SIP channels. With this in place, as long as call forwards are honored, SIP spirals will work properly. This means that it will work for outbound calls made by the Queue, Dial, and Page applications. For originated calls and spool calls, however, the spiral will not work properly until a generic call forward mechanism is introduced into Asterisk. (relates to issue #13630) 2009-05-12 17:29 +0000 [r193870] Tilghman Lesher * apps/app_voicemail.c: Convert a THREADSTORAGE object into a simple malloc'd object (as suggested by Russell on -dev) 2009-05-12 13:59 +0000 [r193832] Kevin P. Fleming * apps/app_dial.c, main/pbx.c, apps/app_meetme.c, apps/app_page.c, main/devicestate.c, apps/app_queue.c, apps/app_transfer.c, apps/app_playback.c, apps/app_controlplayback.c, main/term.c, channels/chan_dahdi.c, channels/chan_misdn.c, funcs/func_curl.c, apps/app_sendtext.c, apps/app_directed_pickup.c, channels/console_gui.c, main/features.c, apps/app_confbridge.c, apps/app_externalivr.c, apps/app_chanspy.c, apps/app_mixmonitor.c, apps/app_stack.c, res/res_odbc.c, apps/app_voicemail.c: add 'const' qualifiers in various places where they should have been 2009-05-11 23:04 +0000 [r193756-193757] Tilghman Lesher * apps/app_voicemail.c: Found and fixed a memory leak * /: Recorded merge of revisions 193755 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r193755 | tilghman | 2009-05-11 17:48:20 -0500 (Mon, 11 May 2009) | 18 lines Move 300 bytes around on the stack, to make more room for an extension buffer. This allows more concurrent extensions to be copied for a single voicemail, without creating a possibility of upsetting existing users, where a dialplan could run out of stack space where it had run fine before. Alternatively, we could have allocated off the heap, but that is a larger change and would have increased the chance for instability introduced by this change. This is really solved starting in 1.6.0.11, as the use of an ast_str buffer allows an unlimited number of extensions (up to available memory). We additionally create a new warning message when the buffer length is exceeded, permitting administrators to see an issue after the fact, whereas previously the list was silently truncated. (closes issue #14739) Reported by: p_lindheimer Patches: 20090417__bug14739.diff.txt uploaded by tilghman (license 14) Tested by: p_lindheimer ........ 2009-05-11 22:04 +0000 [r193718] Russell Bryant * res/res_timing_timerfd.c: Fix some timer state corruption. In res_timer_timerfd, handle the case that set_rate gets called while a timer is still in continuous mode. In this case, we want to remember the configured rate, but not actually set it until continuous mode has been disabled. Thanks to dvossel for finding and helping to debug the problem. (closes issue #15080) Reported by: dvossel Tested by: dvossel 2009-05-11 19:32 +0000 [r193678] Tilghman Lesher * apps/app_voicemail.c: Don't nullify an ast_str pointer. (closes issue #15061) Reported by: alecdavis 2009-05-11 19:11 +0000 [r193614] Richard Mudgett * channels/chan_misdn.c, /: Merged revisions 193613 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r193613 | rmudgett | 2009-05-11 14:09:00 -0500 (Mon, 11 May 2009) | 12 lines Sent wrong message to clear a call we started if the other end has not responed yet. In the state MISDN_CALLING (i.e. SETUP was sent but no answer has arrived yet), it is not allowed to clear the call with RELEASE_COMPLETE. It must be cleared with DISCONNECT. A RELEASE_COMPLETE is only allowed as an answer to a SETUP. (See Q.931 ch. 5.3.2, 5.3.2.a, 5.3.2.b) Patches: chan-misdn-ccstate7.patch uploaded by customer. JIRA ABE-1862 ........ 2009-05-11 18:01 +0000 [r193545] Leif Madsen * /, funcs/func_channel.c: Recorded merge of revisions 193544 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r193544 | lmadsen | 2009-05-11 13:35:17 -0400 (Mon, 11 May 2009) | 7 lines Document CHANNEL(transfercapability) in CLI documentation. (issue #15073) Reported by: pkempgen Patches: 20090511__issue15073.diff.txt uploaded by tilghman (license 14) ........ 2009-05-10 17:07 +0000 [r193502] Joshua Colp * main/bridging.c: Fix a bug where receiving a control frame of subclass -1 would cause certain channels to get hung up. 2009-05-09 11:33 +0000 [r193459-193461] Russell Bryant * include/asterisk/event.h: Minor documentation update for ast_event_queue(). * main/channel.c: Declare private data as static. 2009-05-08 20:32 +0000 [r193387] David Vossel * channels/chan_sip.c: TCP not matching valid peer. find_peer() does not find a valid peer when using pvt->recv as the sockaddr_in argument. Because of the way TCP works, the port number in pvt->recv is not what we're looking for at all. There is currently only one place that find_peer searches for a peer using the sockaddr_in argument. If the peer is not found after using pvt->recv (works for UDP since the port number will be correct), a temp sockaddr_in struct is made using the Contact header in the sip_request. This has the correct port number in it. Review: http://reviewboard.digium.com/r/236/ 2009-05-08 19:50 +0000 [r193349] Mark Michelson * apps/app_queue.c: Reset the members' call counts when resetting queue statistics. This helps to prevent odd scenarios where a queue will claim to have taken 0 calls, but the members appear to have taken a non-zero amount. (closes issue #15068) Reported by: sum Patches: patchreset.patch uploaded by sum (license 766) Tested by: sum 2009-05-08 15:18 +0000 [r193274] Sean Bright * funcs/func_devstate.c: Fix the spelling of UNAVAILABLE in func_devstate CLI completion. 2009-05-08 14:52 +0000 [r193263] David Vossel * /, channels/misdn_config.c: Merged revisions 193262 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r193262 | dvossel | 2009-05-08 09:51:09 -0500 (Fri, 08 May 2009) | 9 lines "misdn show config" segfaults asterisk, if no MSN lists (closes issue #14976) Reported by: alecdavis Patches: misdn_config.diff.txt uploaded by alecdavis (license 585) Tested by: alecdavis, FabienToune ........ 2009-05-08 14:06 +0000 [r193194] Kevin P. Fleming * /, main/logger.c, configs/logger.conf.sample: Merged revisions 193193 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r193193 | kpfleming | 2009-05-08 09:03:28 -0500 (Fri, 08 May 2009) | 7 lines Make absolute paths for logger channels work properly (Note: This is not a new feature, it was previously undocumented and broken.) The Asterisk logger has a feature to support absolute pathnames for logger channels, but the code implementing the feature was broken. This has been fixed, and the absolute path feature is now documented in the sample logger.conf. ........ 2009-05-07 23:42 +0000 [r193120] Tilghman Lesher * main/pbx.c, /: Merged revisions 193119 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r193119 | tilghman | 2009-05-07 18:41:11 -0500 (Thu, 07 May 2009) | 19 lines Fix Background within a Macro for FreePBX. If the single digit DTMF is an extension in the specified context, then go there and signal no DTMF. Otherwise, we should exit with that DTMF. If we're in Macro, we'll exit and seek that DTMF as the beginning of an extension in the Macro's calling context. If we're not in Macro, then we'll simply seek that extension in the calling context. Previously, someone complained about the behavior as it related to the interior of a Gosub routine, and the fix (#14011) inadvertently broke FreePBX (#14940). This change should fix both of these situations, but with the possible incompatibility that if a single digit extension does not exist (but a longer extension COULD have matched), it would have previously gone immediately to the "i" extension, but will now need to wait for a timeout. (closes issue #14940) Reported by: p_lindheimer Patches: 20090420__bug14940.diff.txt uploaded by tilghman (license 14) Tested by: p_lindheimer ........ 2009-05-07 22:24 +0000 [r193077] Richard Mudgett * channels/chan_misdn.c, /: Merged revisions 193050 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r193050 | rmudgett | 2009-05-07 17:17:06 -0500 (Thu, 07 May 2009) | 5 lines Give a more helpful message when an incoming call's dialed extension does not match. Added the dialed extension and context to the chan_misdn messages warning that the dialed number cannot be matched in the dialplan. ........ 2009-05-07 17:51 +0000 [r192933-193006] Tilghman Lesher * funcs/func_odbc.c: Second result should not contain data from the first result. (closes issue #15039) Reported by: jims Patches: 20090506__issue15039.diff.txt uploaded by tilghman (license 14) Tested by: jims * channels/chan_unistim.c: Send DTMF frame before playing back audio. (closes issue #14858) Reported by: barryf Patches: 20090507__bug14858.diff.txt uploaded by tilghman (license 14) * /, channels/chan_sip.c: Merged revisions 192932 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r192932 | tilghman | 2009-05-07 11:29:08 -0500 (Thu, 07 May 2009) | 10 lines Eliminate repetition of fullcontact during reconstruction. If the fullcontact field appears in both the sippeers and the sipregs table, then during reconstruction of the field, it will otherwise be doubled. (closes issue #14754) Reported by: Alexei Gradinari Patches: 20090506__bug14754.diff.txt uploaded by tilghman (license 14) Tested by: lmadsen ........ 2009-05-06 22:17 +0000 [r192853-192861] Jeff Peeler * /, main/features.c: Merged revisions 192858 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r192858 | jpeeler | 2009-05-06 17:15:19 -0500 (Wed, 06 May 2009) | 10 lines Make ParkedCall application stop execution of the dialplan after hang up Just changed park_exec to always return non-zero. I really wasn't entirely sure at first if this was a bug. Decided it was since it would be surprising when not using ParkedCall in the dialplan to hang up and have dialplan execution continue. (closes issue #14555) Reported by: francesco_r ........ * main/pbx.c: If no extension was found in the pattern tree, don't crash. 2009-05-06 17:38 +0000 [r192808] Joshua Colp * channels/chan_iax2.c: Fix a bug where a timer would be created but not acknowledged. This scenario crept up if chan_iax2 was loaded with no configuration file present. It would create a timer and tell it to go at an interval but the thread that normally acknowledges it would not be created because no configuration file was present. The timer will now be closed if no configuration file is present. (closes issue #15014) Reported by: madkins 2009-05-06 16:28 +0000 [r192772] Tilghman Lesher * main/say.c, doc/lang/urdu.ods (added): Add numbers in Urdu, the national language of Pakistan (closes issue #15034) Reported by: nasirq Patches: ast_say_number_full_ur-patch.c uploaded by nasirq (license 772) urdu.ods uploaded by nasirq (license 772) 2009-05-06 16:09 +0000 [r192634-192736] Joshua Colp * res/res_clialiases.c: Make the code that prevents an infinite loop from happening into a case insensitive check. (thanks eliel) * res/res_clialiases.c: Fix an infinite loop with tab completion of CLI aliases that reference themselves. (closes issue #15020) Reported by: junky * /, channels/chan_sip.c: Merged revisions 192633 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r192633 | file | 2009-05-06 10:30:51 -0300 (Wed, 06 May 2009) | 7 lines Update some old logic to stop both begin and end DTMF frames from reaching the core if rfc2833 is not enabled. (closes issue #15036) Reported by: dimas Patches: v1-15036.patch uploaded by dimas (license 88) ........ 2009-05-05 20:54 +0000 [r192590] Richard Mudgett * apps/app_dial.c, channels/chan_sip.c, apps/app_directed_pickup.c, main/features.c, apps/app_queue.c: Fixed crashes from issue8824 review board channel locking changes. The local struct ast_party_connected_line connected_caller variable was uninitialized when the copy function was called. 2009-05-05 19:57 +0000 [r192525] Sean Bright * /, static-http/astman.js: Merged revisions 192524 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r192524 | seanbright | 2009-05-05 15:56:11 -0400 (Tue, 05 May 2009) | 11 lines Fix Javascript error when using astman.js in Internet Explorer. Internet Explorer (tested with 7.0) does not like trailing commas on constructs like object initializers, so get rid of them to avoid some errors. (closes issue #15026) Reported by: rajnishgiri Patches: bug15026.patch uploaded by seanbright (license 71) Tested by: seanbright ........ 2009-05-05 18:23 +0000 [r192430-192462] Joshua Colp * /, main/features.c: Merged revisions 192454 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r192454 | file | 2009-05-05 15:22:27 -0300 (Tue, 05 May 2009) | 8 lines Fix an incorrect assumption that certain values on the channel will always exist when they may not. The CDR code involved with bridges wrongly assumed that the currently executing application and data values will always exist. It is possible for this to be false when call forwarding is involved. (closes issue #14984) Reported by: gincantalupo ........ * /, apps/app_followme.c: Merged revisions 192429 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r192429 | file | 2009-05-05 14:43:30 -0300 (Tue, 05 May 2009) | 5 lines Fix a bug where the followme application would continue trying numbers after the caller hung up. (closes issue #13624) Reported by: sgenyuk ........ 2009-05-05 17:33 +0000 [r192427] Matthew Fredrickson * channels/chan_dahdi.c: Revert CPC patch for now, until I decide whether or not it all should be merged into libss7/1.0 (It's still in the bug13495 branch and in libss7/trunk) 2009-05-05 14:22 +0000 [r192387] Joshua Colp * channels/chan_sip.c: Fix a bug with setting t38pt_udptl at the user or peer level. If an incoming call authenticated as a user or peer and t38pt_udptl was not set to yes in general then no UDPTL session would be present and any T38 related things would fail. This commit changes it so that if after authenticating T38 is enabled but no UDPTL session is present one will be created. (issue AST-215) 2009-05-05 14:17 +0000 [r192279-192362] Kevin P. Fleming * main/utils.c, include/asterisk/stringfields.h: Add a more efficient way of allocating structures that use stringfields This commit adds an API call that can be used to allocate a structure along with this stringfield storage in a single allocation. * main/utils.c, main/astobj2.c, include/asterisk/stringfields.h: Correct some flaws in the memory accounting code for stringfields and ao2 objects Under some conditions, the memory allocation for stringfields and ao2 objects would not have supplied valid file/function names for MALLOC_DEBUG tracking, so this commit corrects that. * main/channel.c, include/asterisk/astobj2.h, include/asterisk/datastore.h, include/asterisk/channel.h, main/astobj2.c, main/datastore.c: Properly account for memory allocated for channels and datastores As in previous commits, when channels are allocated (with ast_channel_alloc) or datastores are allocated (with ast_datastore_alloc) properly account for the memory being owned by the caller, instead of the allocator function itself. * main/utils.c, include/asterisk/stringfields.h: Ensure that string pools allocated to hold stringfields are properly accounted in MALLOC_DEBUG mode This commit modifies the stringfield pool allocator to remember the 'owner' of the stringfield manager the pool is being allocated for, and ensures that pools allocated in the future when fields are populated are owned by that file/function. 2009-05-04 22:44 +0000 [r192214] David Vossel * /, channels/chan_iax2.c: Merged revisions 192213 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r192213 | dvossel | 2009-05-04 17:37:31 -0500 (Mon, 04 May 2009) | 11 lines global mohinterpret setting is ignored mohinterpret and mohsuggest global variables were not copied over during build_users and build_peers. (closes issue #14728) Reported by: dimas Patches: v1-14728.patch uploaded by dimas (license 88) Tested by: dimas, dvossel ........ 2009-05-04 19:29 +0000 [r192132-192171] Tilghman Lesher * include/asterisk/autoconfig.h.in, res/res_agi.c: Restore 'asyncagi break' command to 1.6.1 and higher. (closes issue #14985) Reported by: nikkk Patches: 20090428__bug14985.diff.txt uploaded by tilghman (license 14) 20090429__bug14985__1.6.1.diff.txt uploaded by tilghman (license 14) Tested by: nikkk * autoconf/ast_ext_tool_check.m4: Pass libraries in LIBS, not LDFLAGS. (closes issue #14671) Reported by: Chainsaw Patches: asterisk-1.6.0.6-toolcheck-libs-not-ldflags.patch uploaded by Chainsaw (license 723) 2009-05-04 17:42 +0000 [r192096] Leif Madsen * apps/app_forkcdr.c: Commit documentation changes related to issue #14801. (issue #14801) 2009-05-04 16:24 +0000 [r192059] Kevin P. Fleming * include/asterisk/astobj2.h, main/astobj2.c: Ensure that astobj2 memory allocations are properly accounted for when MALLOC_DEBUG is used This commit ensures that all astobj2 allocated objects are properly accounted for in MALLOC_DEBUG mode by passing down the file/function/line information from the module/function that actually called the astobj2 allocation function. 2009-05-04 15:35 +0000 [r192032] Eliel C. Sardanons * main/xml.c: Do not re-define _POSIX_C_SOURCE if it was already defined. 2009-05-04 12:52 +0000 [r191919-191997] Kevin P. Fleming * tests/test_skel.c, tests/test_sched.c: Minor changes in test modules Correct command description in test_sched.c and include asterisk/cli.h in test_skel.c, since it's highly unlikely that a test module will *not* want to provide CLI commands to execute the tests * configs/modules.conf.sample: Ensure that by default only one console channel driver is loaded This configuration file was changed to ensure that only one console channel driver (chan_oss) is loaded by default, but the change would only work if chan_console was not built. Now it will work as expected; if chan_alsa or chan_console are built and installed, they will not be loaded unless explicity requested. * include/asterisk/event.h, include/asterisk/event_defs.h, main/event.c: Add 'bitflags'-style information elements to event framework This patch add a new payload type for information elements, a set of bit flags. The payload is transported as a 32-bit unsigned integer but when matching is performed between events and subscribers, the matching is done by using a bitwise AND instead of numeric value comparison. Review: http://reviewboard.asterisk.org/r/242/ 2009-05-03 14:05 +0000 [r191848-191884] Russell Bryant * Makefile: Remove unnecessary compiler flag * main/event.c: Do a bit of code cleanup. - convert handling of IE PLTYPEs to switch statements - add braces to various small blocks - remove a bit of trailing whitespace - remove a couple of unnecessary ast_strdupa() uses 2009-05-02 19:02 +0000 [r191775-191785] Kevin P. Fleming * include/asterisk/logger.h, main/manager.c, pbx/pbx_spool.c, main/logger.c, apps/app_sms.c, CHANGES, apps/app_verbose.c, configs/logger.conf.sample: Remove rarely-used event_log/LOG_EVENT support In discussions today at the Europe Asterisk Developer Meet-Up, we determined that the event_log was used in only 9 places in the entire tree, and really was not needed at all. The users have been converted to use LOG_NOTICE, or the messages have been removed since other messages were already in place that provided the same information. * main/logger.c: Fix an error in queue_log file rotation optimization code This code was copy-and-pasted without properly changing references to event_rotate into queue_rotate, so under some conditions the log rotation would rotate queue_log even though it was not necessary. 2009-05-02 16:43 +0000 [r191700-191739] Sean Bright * channels/chan_dahdi.c: Conditional include ioctl's to change EC policy based on DAHDI caps. This feels like a sane change (wouldn't compile without this addition), but I'm not intimately familiar with this code. * main/asterisk.c: Update copyright year to 2009 2009-05-01 20:01 +0000 [r191494-191560] Tilghman Lesher * /, channels/chan_sip.c: Merged revisions 191559 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r191559 | tilghman | 2009-05-01 15:00:23 -0500 (Fri, 01 May 2009) | 6 lines SIP Response 410 maps to cause code 22 (or 23), not 1. (closes issue #14993) Reported by: BigJimmy Patches: causepatch uploaded by BigJimmy (license 371) ........ * channels/chan_iax2.c: Set debug message back to DEBUG level. (closes issue #15007) Reported by: hulber 2009-05-01 18:09 +0000 [r191489] Jeff Peeler * main/channel.c, /: Merged revisions 191488 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r191488 | jpeeler | 2009-05-01 12:40:46 -0500 (Fri, 01 May 2009) | 9 lines Fix DTMF not being sent to other side after a partial feature match This fixes a regression from commit 176701. The issue was that ast_generic_bridge never exited after the feature digit timeout had elapsed, which prevented the queued DTMF from being sent to the other side. This issue was reported to me directly. ........ 2009-05-01 14:58 +0000 [r191419] Joshua Colp * main/audiohook.c: Drop my IRC nickname. 2009-05-01 09:50 +0000 [r191418] TransNexus OSP Development * configs/osp.conf.sample, apps/app_osplookup.c: Made security features optional. 2009-04-30 21:42 +0000 [r191411] Kevin P. Fleming * channels/chan_dahdi.c, configure, include/asterisk/autoconfig.h.in, configure.ac, CHANGES: Add buffer and echo canceller control to CHANNEL() dialplan function for DAHDI channels Adds ability for CHANNEL() dialplan function, when used on DAHDI channels, to temporarily change the number of buffers and/or the buffer policy, and also to enable, disable, or switch the echo canceller between FAX/data and voice modes. 2009-04-30 17:40 +0000 [r191367] Tilghman Lesher * configure, include/asterisk/autoconfig.h.in, configure.ac, main/asterisk.c: Detect eaccess (or euidaccess) before using it. Reported by Andrew Lindh via the -dev list. 2009-04-30 09:11 +0000 [r191300-191332] TransNexus OSP Development * apps/app_osplookup.c: Added routing number support. * apps/app_osplookup.c: Fixed not report source network ID and not export destination network ID issues. 2009-04-30 06:47 +0000 [r191219-191283] Tilghman Lesher * main/asterisk.c: Change working directory to / under certain conditions. If backgrounding and no core will be produced, then changing the directory won't break anything; likewise, if the CWD isn't accessible by the current user, then a core wasn't possible anyway. (closes issue #14831) Reported by: chris-mac Patches: 20090428__bug14831.diff.txt uploaded by tilghman (license 14) 20090430__bug14831.diff.txt uploaded by tilghman (license 14) Tested by: chris-mac * /: Recorded merge of revisions 191220 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r191220 | tilghman | 2009-04-29 18:10:54 -0500 (Wed, 29 Apr 2009) | 2 lines Allow H.323 to compile with FDLEAK checking enabled. ........ * channels/h323/ast_h323.cxx, channels/chan_h323.c: Make H.323 compile with FDLEAK detection code enabled 2009-04-29 22:56 +0000 [r191213] Jeff Peeler * res/res_phoneprov.c: fix typos 2009-04-29 22:23 +0000 [r191211] Tilghman Lesher * main/pbx.c: Part of the merge did not happen correctly, which resulted in a compile error 2009-04-29 21:13 +0000 [r191177] David Vossel * main/tcptls.c, configs/sip.conf.sample, include/asterisk/tcptls.h, CHANGES: SIP option to specify outbound TLS/SSL client protocol. chan_sip allows for outbound TLS connections, but does not allow the user to specify what protocol to use (default was SSLv2, and still is if this new option is not specified). This patch lets the user pick the SSL/TLS client method for outbound connections in sip. (closes issue #14770) Reported by: TheOldSaint (closes issue #14768) Reported by: TheOldSaint Review: http://reviewboard.digium.com/r/240/ 2009-04-29 21:07 +0000 [r191175] Richard Mudgett * channels/chan_misdn.c, CHANGES: Outgoing PTP redirected calls did not wait for the COLR from the redirected-to party. For outgoing PTP redirected calls, you now need to use the inhibit(i) option on all of the REDIRECTING statements before dialing the redirected-to party. You still have to set the REDIRECTING(to-xxx,i) and the REDIRECTING(from-xxx,i) values. The PTP call will update the redirecting-to presentation when it becomes available and queue the redirecting update to the calling channel. 2009-04-29 18:53 +0000 [r191140] Tilghman Lesher * tests/test_substitution.c (added), funcs/func_base64.c, funcs/func_rand.c, funcs/func_speex.c, funcs/func_md5.c, funcs/func_module.c, include/asterisk/autoconfig.h.in, funcs/func_env.c, funcs/func_strings.c, res/res_phoneprov.c, funcs/func_sysinfo.c, funcs/func_vmcount.c, funcs/func_sha1.c, funcs/func_logic.c, apps/app_exec.c, funcs/func_groupcount.c, configure, funcs/func_aes.c, main/ast_expr2f.c, res/res_agi.c, apps/app_minivm.c, include/asterisk/ast_expr.h, cdr/cdr_custom.c, main/strings.c, main/pbx.c, funcs/func_dialplan.c, funcs/func_db.c, funcs/func_timeout.c, funcs/func_lock.c, funcs/func_cut.c, funcs/func_extstate.c, res/res_config_curl.c, funcs/func_curl.c, funcs/func_blacklist.c, apps/app_macro.c, include/asterisk/pbx.h, funcs/func_callerid.c, apps/app_voicemail.c: Merge str_substitution branch. This branch adds additional methods to dialplan functions, whereby the result buffers are now dynamic buffers, which can be expanded to the size of any result. No longer are variable substitutions limited to 4095 bytes of data. In addition, the common case of needing buffers much smaller than that will enable substitution to only take up the amount of memory actually needed. The existing variable substitution routines are still available, but users of those API calls should transition to using the dynamic-buffer APIs. Reviewboard: http://reviewboard.digium.com/r/174/ 2009-04-29 18:32 +0000 [r191136] David Brooks * pbx/pbx_config.c: Removing crufty code that is no longer necessary. Code cleanup. 2009-04-29 14:39 +0000 [r191028] David Vossel * main/tcptls.c, main/manager.c, channels/chan_sip.c, main/http.c, configs/manager.conf.sample, include/asterisk/tcptls.h, CHANGES, configs/http.conf.sample: Consistent SSL/TLS options across conf files ast_tls_read_conf() is a new api call for handling SSL/TLS options across all conf files. Before this change, SSL/TLS options were not consistent. http.conf and manager.conf required the 'ssl' prefix while sip.conf used options with the 'tls' prefix. While the options had different names in different conf files, they all did the exact same thing. Now, instead of mixing 'ssl' or 'tls' prefixes to do the same thing depending on what conf file you're in, all SSL/TLS options use the 'tls' prefix. For example. 'sslenable' in http.conf and manager.conf is now 'tlsenable' which matches what already existed in sip.conf. Since this has the potential to break backwards compatibility, previous options containing the 'ssl' prefix still work, but they are no longer documented in the sample.conf files. The change is noted in the CHANGES file though. Review: http://reviewboard.digium.com/r/237/ 2009-04-29 08:58 +0000 [r190989-190993] Russell Bryant * main/indications.c: Log an error message if indications.conf is not found. (closes issue #14990) Reported by: tzafrir Patches: indications_err.diff uploaded by tzafrir (license 46) * apps/app_queue.c: Fix app_queue XML documentation. I think it would behoove us to force "make validate-docs" to be run after the XML documentation has been generated if dev-mode is enabled. (closes issue #14989) Reported by: tzafrir Patches: app_queue_xml.diff uploaded by tzafrir (license 46) * main/rtp_engine.c, include/asterisk/channel.h: Resolve Solaris build issues and add some API documentation. (issue #14981) Reported by: snuffy 2009-04-28 22:07 +0000 [r190946-190947] Matthew Fredrickson * channels/chan_dahdi.c: Add support setting CPC from channel variable * channels/chan_dahdi.c: Make sure that we do not clear the down flag on the BRI during PTMP link transients 2009-04-28 17:31 +0000 [r190904] Tilghman Lesher * doc/tex/cdrdriver.tex: UniqueID column has a maximum size of 150 2009-04-28 14:15 +0000 [r190861-190865] Kevin P. Fleming * Makefile: Build XML documention from *only* the source files that have docs in them Change the build process so that doc/core-en_US.xml is dependent solely on the source files that have documentation in them, not on all source files. * Makefile.rules: Remove Makefile rules for bison and flex sources We never, ever want these files to processed automatically, because we store the output files in Subversion and users should never need to rebuild them. 2009-04-28 09:10 +0000 [r190830] TransNexus OSP Development * apps/app_osplookup.c: Updated for OSP Toolkit 3.5. 2009-04-27 21:22 +0000 [r190735-190797] Richard Mudgett * main/channel.c: Fix a small memory leak on error in ast_channel_alloc(). * channels/misdn/isdn_lib.h, channels/chan_misdn.c, CHANGES, channels/misdn/isdn_lib.c, funcs/func_redirecting.c: Make PTP DivertingLegInformation3 message behavior closer to the specifications. * Wait for a DivertingLegInformation3 message after receiving a DivertingLegInformation1 message to complete the redirecting-to information before queuing a redirecting update to the other channel. * A DivertingLegInformation2 message should be responded to with a DivertingLegInformation3 when the COLR is determined. If the call could or does experience another redirection, you should manually determine the COLR to send to the switch by setting REDIRECTING(to-pres) to the COLR and setting REDIRECTING(to-num) = ${EXTEN}. * A DivertingLegInformation2 message must have an original called number if the redirection count is greater than one. Since Asterisk does not keep track of this information, we can only indicate that the number is not available due to interworking. 2009-04-27 19:34 +0000 [r190726] Tilghman Lesher * main/pbx.c: Don't warn on pipe in the System call. (closes issue #14979) Reported by: pj 2009-04-27 19:30 +0000 [r190725] Kevin P. Fleming * /, configure, include/asterisk/autoconfig.h.in: Merged revisions 190721 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r190721 | kpfleming | 2009-04-27 14:29:46 -0500 (Mon, 27 Apr 2009) | 7 lines Fix 'inconsistent line endings' when autoconf 2.63 is used Attempt to make configure script regeneration 'safe' using autoconf 2.63, which embeds a bare CR into the script, thus making Subversion complain about inconsistent line endings This commit changes the MIME type of the configure script to be 'binary' thus making Subversion no longer inspect line endings, and as a bonus 'svn diff' will no longer try to generate diff output for it, which is not generally useful anyway. ........ 2009-04-27 19:08 +0000 [r190663] Russell Bryant * res/res_smdi.c, /: Merged revisions 190661-190662 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r190661 | russell | 2009-04-27 14:00:54 -0500 (Mon, 27 Apr 2009) | 9 lines Resolve a crash in res_smdi when used with chan_dahdi. When chan_dahdi goes to get an SMDI message, it provides no search criteria. It just grabs the next message that arrives. This code was written with the SMDI dialplan functions in mind, since that is now the preferred method of using SMDI. However, this broke support of it being used from chan_dahdi. (closes AST-212) ........ r190662 | russell | 2009-04-27 14:03:59 -0500 (Mon, 27 Apr 2009) | 2 lines Fix a typo from 190661. ........ 2009-04-27 16:37 +0000 [r190622-190626] Mark Michelson * doc/tex/channelvariables.tex, apps/app_queue.c: Allow for a position to be specified when entering a queue. This would allow for one to add a caller to a specific place in the queue instead of just placing the caller in the back every time. To help facilitate some interesting manipulations, a new channel variable called QUEUEPOSITION has been added. When a caller is removed from a queue, his position in that queue is stored in the QUEUEPOSITION variable. One such strategy an administrator can employ is to allow for the removal of a caller from one queue followed by the insertion of the same caller into a separate queue in the same position. Review: http://reviewboard.digium.com/r/189 * apps/app_queue.c: Update warning message to not have pipes and contain all options. 2009-04-27 15:18 +0000 [r190586] Joshua Colp * main/manager.c: Fix a bug where we tried to send events out when no sessions container was present. This commit stops a warning message (user_data is NULL) from getting output when manager events get sent before manager is initialized. This happens because manager is initialized *after* modules are loaded and the act of loading modules triggers manager events. (issue #14974) Reported by: pj 2009-04-27 14:46 +0000 [r190577] Mark Michelson * configs/sip.conf.sample: Remove nonexistent option from sip.conf.sample. The option to choose which connected line header to use is not 'rpid_header' but 'sendrpid' 2009-04-24 21:22 +0000 [r190545] David Vossel * main/tcptls.c, main/manager.c, channels/chan_sip.c, main/http.c, configs/manager.conf.sample, configs/sip.conf.sample, include/asterisk/tcptls.h, CHANGES, configs/http.conf.sample: TLS/SSL private key option Adds option to specify a private key .pem file when configuring TLS or SSL in AMI, HTTP, and SIP. Before this, the certificate file was used for both the public and private key. It is possible for this file to hold both, but most configurations allow for a separate private key file to be specified. Clarified in .conf files how these options are to be used. The current conf files do not explain how the private key is handled at all, so without knowledge of Asterisk's TLS implementation, it would be hard to know for sure what was going on or how to set it up. Review: http://reviewboard.digium.com/r/234/ 2009-04-24 17:59 +0000 [r190516-190517] Richard Mudgett * channels/chan_misdn.c, funcs/func_connectedline.c: There is no need to use the struct ast_party_connected_line.source update values. The messages sent by a technology when a connected line update is received are best determined by the current call state of the channel. The struct ast_party_connected_line.source value is really only useful as a possible tracing aid. * include/asterisk/channel.h: Update comment. 2009-04-24 15:26 +0000 [r190423-190484] Russell Bryant * include/asterisk/channel.h: Add \since tag for new API calls. * channels/chan_misdn.c: Fix a build error. * channels/chan_unistim.c, channels/chan_local.c, apps/app_dahdiscan.c (removed), main/devicestate.c, main/autochan.c (added), funcs/func_logic.c, channels/chan_gtalk.c, channels/chan_iax2.c, main/cli.c, main/channel.c, build_tools/cflags.xml, channels/chan_dahdi.c, main/manager.c, funcs/func_odbc.c, apps/app_minivm.c, main/features.c, res/res_agi.c, main/logger.c, channels/chan_mgcp.c, res/res_clioriginate.c, main/pbx.c, channels/chan_sip.c, include/asterisk/autochan.h (added), channels/chan_bridge.c, main/Makefile, apps/app_softhangup.c, channels/chan_agent.c, UPGRADE.txt, include/asterisk/channel.h, CHANGES, funcs/func_global.c, res/res_monitor.c, apps/app_channelredirect.c, channels/chan_misdn.c, apps/app_directed_pickup.c, funcs/func_channel.c, res/snmp/agent.c, include/asterisk/lock.h, apps/app_senddtmf.c, apps/app_mixmonitor.c, apps/app_chanspy.c, apps/app_voicemail.c: Convert the ast_channel data structure over to the astobj2 framework. There is a lot that could be said about this, but the patch is a big improvement for performance, stability, code maintainability, and ease of future code development. The channel list is no longer an unsorted linked list. The main container for channels is an astobj2 hash table. All of the code related to searching for channels or iterating active channels has been rewritten. Let n be the number of active channels. Iterating the channel list has gone from O(n^2) to O(n). Searching for a channel by name went from O(n) to O(1). Searching for a channel by extension is still O(n), but uses a new method for doing so, which is more efficient. The ast_channel object is now a reference counted object. The benefits here are plentiful. Some benefits directly related to issues in the previous code include: 1) When threads other than the channel thread owning a channel wanted access to a channel, it had to hold the lock on it to ensure that it didn't go away. This is no longer a requirement. Holding a reference is sufficient. 2) There are places that now require less dealing with channel locks. 3) There are places where channel locks are held for much shorter periods of time. 4) There are places where dealing with more than one channel at a time becomes _MUCH_ easier. ChanSpy is a great example of this. Writing code in the future that deals with multiple channels will be much easier. Some additional information regarding channel locking and reference count handling can be found in channel.h, where a new section has been added that discusses some of the rules associated with it. Mark Michelson also assisted with the development of this patch. He did the conversion of ChanSpy and introduced a new API, ast_autochan, which makes it much easier to deal with holding on to a channel pointer for an extended period of time and having it get automatically updated if the channel gets masqueraded. Mark was also a huge help in the code review process. Thanks to David Vossel for his assistance with this branch, as well. David did the conversion of the DAHDIScan application by making it become a wrapper for ChanSpy internally. The changes come from the svn/asterisk/team/russell/ast_channel_ao2 branch. Review: http://reviewboard.digium.com/r/203/ 2009-04-24 13:49 +0000 [r190421] Joshua Colp * channels/chan_sip.c: Fix nat setting on RTP instances. (closes issue #14827) Reported by: pj 2009-04-23 21:13 +0000 [r190357] Russell Bryant * /, channels/chan_sip.c: Merged revisions 190356 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r190356 | russell | 2009-04-23 16:07:07 -0500 (Thu, 23 Apr 2009) | 2 lines Remove a bogus ast_channel_unlock(). ........ 2009-04-23 20:42 +0000 [r190349-190352] Tilghman Lesher * main/pbx.c: Labels are sometimes (most of the time?) NULL for extensions. (closes issue #14895) Reported by: chris-mac Patches: 20090423__bug14895__2.diff.txt uploaded by tilghman (license 14) Tested by: lmadsen * include/asterisk/http.h, include/asterisk/utils.h, main/manager.c, res/res_phoneprov.c, main/http.c, main/utils.c, res/res_http_post.c, main/astobj2.c: Support HTTP digest authentication for the http manager interface. (closes issue #10961) Reported by: ys Patches: digest_auth_r148468_v5.diff uploaded by ys (license 281) SVN branch http://svn.digium.com/svn/asterisk/team/group/manager_http_auth Tested by: ys, twilson, tilghman Review: http://reviewboard.digium.com/r/223/ Reviewed by: tilghman,russellb,mmichelson 2009-04-23 19:15 +0000 [r190287] Joshua Colp * channels/chan_local.c, /: Merged revisions 190286 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r190286 | file | 2009-04-23 16:13:18 -0300 (Thu, 23 Apr 2009) | 6 lines Fix a bug in chan_local glare hangup detection. If both sides of a Local channel were hung up at around the same time it was possible for one thread to destroy the local private structure and have the other thread immediately try to remove the already freed structure from the local channel list. ........ 2009-04-23 17:45 +0000 [r190250] Mark Michelson * apps/app_queue.c: Fix reversed behavior of leavewhenempty option in queues.conf. (closes issue #14650) Reported by: alecdavis Patches: 14650.patch uploaded by mmichelson (license 60) Tested by: mmichelson, lmadsen 2009-04-23 16:55 +0000 [r190217] Joshua Colp * apps/app_directed_pickup.c: Fix a double free issue with the Pickup dialplan application. As part of the pickup process the connected line information is updated. Part of this process does a shallow copy of the target channel's connected line information to a local structure. Once complete the structure contents are freed. As a result any information in the target channel's connected line information structure is no longer valid. This change will now set the contents back to a clean state so that the freeing of the target channel's connected line information structure when the channel is destroyed will no longer try to double free things. (closes issue #14839) Reported by: lmsteffan 2009-04-23 00:44 +0000 [r190154] Terry Wilson * funcs/func_strings.c: Fix example that could fail in certain circumstances 2009-04-22 21:38 +0000 [r190093] Tilghman Lesher * configure, include/asterisk/autoconfig.h.in, configure.ac, include/asterisk/lock.h: Merged revisions 190092 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r190092 | tilghman | 2009-04-22 16:35:03 -0500 (Wed, 22 Apr 2009) | 7 lines Detect availability of pthread_rwlock_timedwrlock() before using it. (closes issue #14930) Reported by: tilghman Patches: 20090420__bug14930.diff.txt uploaded by tilghman (license 14) Tested by: mvanbaak, tilghman ........ 2009-04-22 21:15 +0000 [r190057] Jeff Peeler * funcs/func_groupcount.c, main/app.c, include/asterisk/channel.h, main/cli.c: Fix building of chan_h323 with gcc-3.3 There seems to be a bug with old versions of g++ that doesn't allow a structure member to use the name list. Rename list member to group_list in ast_group_info and change the few places it is used. (closes issue #14790) Reported by: stuarth 2009-04-22 20:07 +0000 [r190000] Terry Wilson * funcs/func_strings.c: Add funcs for manipulating delimited lists in the dialplan Adds PUSH and POP for appending to and retrieving/removing from the end of a list and UNSHIFT and SHIFT for insert to and retrieiving/ removing from the beginning of a list. Review: http://reviewboard.digium.com/r/230 2009-04-22 19:23 +0000 [r189993] Jeff Peeler * channels/h323/ast_h323.cxx, channels/chan_h323.c, channels/h323/chan_h323.h: Make chan_h323 respect packetization settings and fix small reload issue. Previously, packetization settings were ignored and now they are not. A new config option 'autoframing' has been added to mirror the way chan_sip handles it. Turning on the autoframing option (available both as a global option or per peer) overrides the local settings with the remote packetization settings. Testing was performed with varying packetization levels with the following codecs: ulaw, alaw, gsm, and g729. Also, an unrelated config reload issue has been fixed in the case of the config file not changing. (closes issue #12415) Reported by: pj Patches: 2009012200_h323packetization.diff.txt uploaded by mvanbaak (license 7), modified by me 2009-04-22 16:56 +0000 [r189951] Russell Bryant * main/features.c: Fix call parking callback. Pipes -> Commas. 2009-04-22 16:01 +0000 [r189911] Tilghman Lesher * channels/chan_unistim.c: Do not continue to receive DTMF, when the channel is hungup and about to be destroyed. (closes issue #14858) Reported by: barryf Patches: 20090421__bug14858.diff.txt uploaded by tilghman (license 14) Tested by: barryf 2009-04-22 14:30 +0000 [r189850] Michiel van Baak * /, contrib/scripts/get_ilbc_source.sh: Merged revisions 189849 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r189849 | mvanbaak | 2009-04-22 16:29:28 +0200 (Wed, 22 Apr 2009) | 12 lines replace sed with tr to remove \r from downloaded file On some systems, sed does not recognize \r in the pattern the way it was used here. Use tr instead because this works the same across systems. (closes issue #14936) Reported by: leobrown Patches: 2009042201_14936.diff.txt uploaded by mvanbaak (license 7) Tested by: leobrown, mvanbaak ........ 2009-04-22 06:33 +0000 [r189813] Tilghman Lesher * configure, configure.ac: Detect liblua on SuSE, and add libm for linking for Fedora. (Reported via the -dev list, Subject: Compiling Asterisk with LUA) 2009-04-21 20:28 +0000 [r189771] David Vossel * channels/chan_sip.c: Fixes segfault when switching UDP to TCP in sip.conf after reload. If transport in sip.conf is switched from UDP to TCP, Asterisk segfaults right after issuing a sip reload. The problem is the socket type is changed to TCP but the fd may still be present for UDP. Later, when the TCP session should be created or set using an existing one, it isn't because the old file descriptor is still present. Now every time transport is changed during a sip.conf reload, the file descriptor is set to -1, signifying it must be created or found. (closes issue #14727) Reported by: pj Tested by: dvossel Review: http://reviewboard.digium.com/r/229/ 2009-04-21 17:44 +0000 [r189735] Richard Mudgett * channels/misdn/isdn_lib_intern.h, channels/misdn/isdn_lib.h, channels/chan_misdn.c, channels/misdn/chan_misdn_config.h, channels/misdn/ie.c, channels/misdn/isdn_msg_parser.c, configs/misdn.conf.sample, CHANGES, channels/misdn/isdn_lib.c, channels/misdn_config.c: Added CCBS/CCNR Party A support and enhanced COLP support. This change adds the following features to chan_misdn: * CCBS/CCNR Party A support for PTMP and PTP modes. * Enhances COLP support for call diversion and explicit call transfer. These enhanced features require a modified version of mISDN. The latest modified mISDN v1.1.x based version is available at: http://svn.digium.com/svn/thirdparty/mISDN/trunk http://svn.digium.com/svn/thirdparty/mISDNuser/trunk Taged versions of the modified mISDN code are available under: http://svn.digium.com/svn/thirdparty/mISDN/tags http://svn.digium.com/svn/thirdparty/mISDNuser/tags Review: http://reviewboard.digium.com/r/218/ Merged from team/rmudgett/misdn_facility branch. 2009-04-21 15:54 +0000 [r189629-189665] Doug Bailey * utils/muted.c, /: Merged revisions 189664 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r189664 | dbailey | 2009-04-21 10:52:13 -0500 (Tue, 21 Apr 2009) | 2 lines Remove daemon call on systems that do not support forking. ........ * /, configure, include/asterisk/autoconfig.h.in, include/asterisk/compat.h, configure.ac: Merged revisions 189601 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r189601 | dbailey | 2009-04-21 09:00:55 -0500 (Tue, 21 Apr 2009) | 3 lines Add check in configure script to check for GLOB_NOMAGIC and GLOB_BRACE in glob.h This allows config.c to compile when linked against uclibc that does not support these parameters ........ 2009-04-20 22:10 +0000 [r189539] Tilghman Lesher * main/stdtime/localtime.c: Use nanosleep instead of poll. This is not just because mmichelson suggested it, but also because Mac OS X puked on my poll(). 2009-04-20 21:29 +0000 [r189495-189516] Terry Wilson * apps/app_dial.c, /: Merged revisions 189465 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r189465 | twilson | 2009-04-20 16:10:27 -0500 (Mon, 20 Apr 2009) | 2 lines Update CDR appropriately when AST_CAUSE_NO_ANSWER is set ........ * apps/app_dial.c, /: Merged revisions 189463 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r189463 | twilson | 2009-04-20 16:00:52 -0500 (Mon, 20 Apr 2009) | 2 lines Don't treat a NOANSWER like a CHANUNAVAIL ........ 2009-04-20 21:09 +0000 [r189464] Sean Bright * /, res/ael/ael.tab.c, res/ael/ael.y: Merged revisions 189462 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r189462 | seanbright | 2009-04-20 16:58:39 -0400 (Mon, 20 Apr 2009) | 13 lines Properly handle @s within hints in AEL. AEL was not handling the case of a device hint containing an @ symbol, which caused parking hints (e.g. hint(park:exten@context)) to error out the parser. This patch makes AEL treat the @ the same way it treats colon and ampersand now, meaning the characters are included in verbatim. (closes issue #14941) Reported by: bpgoldsb Patches: bug14941.patch uploaded by seanbright (license 71) Tested by: bpgoldsb ........ 2009-04-20 19:28 +0000 [r189419] Doug Bailey * main/manager.c, /, main/db1-ast/recno/rec_open.c, channels/chan_iax2.c: Merged revisions 189391 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r189391 | dbailey | 2009-04-20 14:10:56 -0500 (Mon, 20 Apr 2009) | 4 lines Clean up problem with manager implementation of mmap where it was not testing against MAP_FAILED response. Got rid of shadowed variable used in processign the mmap results. Change test of mmap results to compare against MAP_FAILED ........ 2009-04-20 17:05 +0000 [r189350] Joshua Colp * channels/chan_sip.c: Fix a bug with non-UDP connections that caused dialogs to not get freed. This issue crept up because of a reference count issue on non-UDP based dialogs. The dialog reference count was increased when transmitting a packet reliably but never decreased. This caused the dialog structure to hang around despite being unlinked from the dialogs container. (closes issue #14919) Reported by: vrban 2009-04-20 14:05 +0000 [r189278] Mark Michelson * main/channel.c, /: Merged revisions 189277 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r189277 | mmichelson | 2009-04-20 09:04:41 -0500 (Mon, 20 Apr 2009) | 12 lines Move the check for chan->fdno == -1 to after the zombie/hangup check. Many users were finding that their hung up channels were staying up and causing 100% CPU usage. (issue #14723) Reported by: seadweller Patches: 14723_1-4-tip.patch uploaded by mmichelson (license 60) Tested by: falves11, bamby ........ 2009-04-18 01:28 +0000 [r189204] David Vossel * /, channels/chan_agent.c: Merged revisions 189203 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r189203 | dvossel | 2009-04-17 20:27:19 -0500 (Fri, 17 Apr 2009) | 12 lines Fixed autologoff in agents.conf not working when agent logs in via AgentLogin app An agent logs in by calling an extension that calls the AgentLogin app. In agents.conf ackcall=always is set, so when they get a call they have the choice to either acknowledge it or ignore it. autologoff=10 is set as well, so if the agent ignores the call over 10sec one may assume that the agent should be logged out (and in this case hungup on as well), but this was not happening. (closes issue #14091) Reported by: evandro Patches: autologoff.diff uploaded by dvossel (license 671) Review: http://reviewboard.digium.com/r/225/ ........ 2009-04-17 21:48 +0000 [r189137] Richard Mudgett * channels/chan_misdn.c, /, channels/misdn/isdn_lib.c: Merged revisions 188833,189134 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r188833 | rmudgett | 2009-04-16 16:37:58 -0500 (Thu, 16 Apr 2009) | 4 lines Only disable mISDN DSP if Asterisk DSP is enabled. Leave jitter setting alone. JIRA ABE-1835 ........ r189134 | rmudgett | 2009-04-17 16:27:55 -0500 (Fri, 17 Apr 2009) | 4 lines Modifed/added some debug messages. JIRA ABE-1835 ........ 2009-04-17 20:20 +0000 [r189097] Mark Michelson * channels/chan_sip.c: Prevent a crash when SIP blonde transferring an unbridged call. If one attempts to use the attended transfer button on a SIP phone to transfer an unbridged call (such as a call to an IVR) but hangs up while the target of the transfer is still ringing, we need to not crash. The problem was that ast_hangup was called from outside the channel thread. AST-211 2009-04-17 19:36 +0000 [r189077] Sean Bright * main/asterisk.c: Fix copy/paste error with 'transmit silence' flag. 2009-04-17 15:44 +0000 [r189010] Matthew Nicholson * main/pbx.c, /: Merged revisions 189009 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r189009 | mnicholson | 2009-04-17 10:43:09 -0500 (Fri, 17 Apr 2009) | 5 lines Make Busy() application set the CDR disposition to BUSY. (closes issue #14306) Reported by: cristiandimache ........ 2009-04-17 14:44 +0000 [r188947] Joshua Colp * /, channels/chan_sip.c: Merged revisions 188946 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r188946 | file | 2009-04-17 11:41:25 -0300 (Fri, 17 Apr 2009) | 15 lines Fix a bug where a value used to create the channel name was bogus. This commit fixes the scenario where an incoming call is authenticated using a peer entry. Previously the channel name was created using either the username setting from the sip.conf entry or the IP address that the call came from. Now the channel name will be created using the peer name itself. This commit will not change the way the channel name is generated for users or friends. (closes issue #14256) Reported by: Nick_Lewis Patches: chan_sip.c-chname.patch uploaded by Nick (license 657) Tested by: Nick_Lewis, file ........ 2009-04-17 14:33 +0000 [r188942] Mark Michelson * main/pbx.c: Fix a spacing issue that I claimed I would when I committed this code. Nothing major though. 2009-04-17 14:26 +0000 [r188938] Joshua Colp * channels/chan_dahdi.c, /: Merged revisions 188937 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r188937 | file | 2009-04-17 11:25:57 -0300 (Fri, 17 Apr 2009) | 4 lines Fix a situation where the DAHDI channel private structure lock was not unlocked when it should have been. (issue AST-210) ........ 2009-04-17 13:29 +0000 [r188901] Mark Michelson * main/pbx.c: Several fixes to the extenpatternmatchnew logic. 1. Differentiate between literal characters in an extension and characters that should be treated as a pattern match. Prior to these fixes, an extension such as NNN would be treated as a pattern, rather than a literal string of N's. 2. Fixed the logic used when matching an extension with a bracketed expression, such as 2[5-7]6. 3. Removed all areas of code that were executed when NOT_NOW was #defined. The code in these areas had the potential to crash, for one thing, and the actual intent of these blocks seemed counterproductive. 4. Fixed many many coding guidelines problems I encountered while looking through the corresponding code. 5. Added failure cases and warning messages for when duplicate extensions are encountered. 6. Miscellaneous fixes to incorrect or redundant statements. (closes issue #14615) Reported by: steinwej Tested by: mmichelson Review: http://reviewboard.digium.com/r/194/ 2009-04-16 21:57 +0000 [r188774-188836] Tilghman Lesher * /, channels/chan_sip.c: Merged revisions 188835 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r188835 | tilghman | 2009-04-16 16:41:13 -0500 (Thu, 16 Apr 2009) | 7 lines Only update realtime, if global option rtupdate != false (closes issue #14885) Reported by: deepesh Patches: 20090413__bug14885.diff.txt uploaded by tilghman (license 14) Tested by: deepesh ........ * /, apps/app_voicemail.c: Merged revisions 188773 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r188773 | tilghman | 2009-04-16 16:02:29 -0500 (Thu, 16 Apr 2009) | 4 lines Umask should not be exported into global namespace. (closes issue #14912) Reported by: jcapp ........ 2009-04-16 19:30 +0000 [r188742] David Vossel * channels/chan_sip.c: SIP state notify reorganization What I've done here is simply break up how a state NOTIFY is built. Originally both the XML and sip header information were built within the same function. While this does work, it does not allow for the creation of multipart/related message bodies that can contain multiple XML entries with only one sip header. Now a separate function builds the XML for each notify. This patch also makes maintaining and modifying state notifications in the future much less of a pain. Review: http://reviewboard.digium.com/r/224/ 2009-04-16 13:42 +0000 [r188705] Joshua Colp * channels/chan_dahdi.c: Fix a bug with the dahdi_setoption callback in chan_dahdi. This function incorrectly reported success even if the option was unsupported. This was exposed by the options to change the underlying channel format. The function now returns a failure if the option is unsupported. 2009-04-15 22:10 +0000 [r188647] David Vossel * channels/chan_dahdi.c, /: Merged revisions 188646 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r188646 | dvossel | 2009-04-15 17:08:40 -0500 (Wed, 15 Apr 2009) | 12 lines National prefix inserted even when caller ID not available 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 callers number even if its restricted (empty) causing the caller id to be the national prefix rather than blank. (closes issue #13207) Reported by: shawkris Patches: national_prefix.diff uploaded by dvossel (license 671) Review: http://reviewboard.digium.com/r/220/ ........ 2009-04-15 20:17 +0000 [r188544-188585] Mark Michelson * /, main/file.c: Merged revisions 188582 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r188582 | mmichelson | 2009-04-15 15:04:20 -0500 (Wed, 15 Apr 2009) | 7 lines Update ast_readvideo_callback to match ast_readaudio_callback. This fixes potential refcount errors that may occur on ast_filestreams. AST-208 ........ * apps/app_dial.c: Make the cancellation of the dial timeout on a call forward optional. This introduces the 'z' option to app_dial. With it set, a call forward will cancel any timeout originally set for this instance of the Dial application. AST-207 2009-04-15 14:57 +0000 [r188515] Jeff Peeler * channels/chan_dahdi.c: Don't try to do anything in pri_check_restart with service messages unless libpri supports it. 2009-04-14 23:28 +0000 [r188470] Mark Michelson * apps/app_queue.c: Fix a couple of queue member reference leaks. 2009-04-14 17:40 +0000 [r188413] Joshua Colp * res/res_rtp_asterisk.c: Fix an incorrect clock rate when sending T140 text. (closes issue #14029) Reported by: epicac 2009-04-14 16:49 +0000 [r188342-188378] Jeff Peeler * channels/chan_dahdi.c, CHANGES: change some capitalization * channels/chan_dahdi.c, configs/chan_dahdi.conf.sample, configure, include/asterisk/autoconfig.h.in, configure.ac, CHANGES: Add service maintenance message support This is the companion commit to libpri r732. Service messages are now supported for switch types 4ess/5ess. A new option service_message_support has been added to chan_dahdi.conf and is noted in the sample config file. The service message support is turned off by default. The current implementation relies on AstDB to keep track of channel state, which allows the statuses to be preserved across Asterisk restarts. Below is a description of the storage format. The state and reason for the service state are in the form :, where: ::= { 'O' } // 'O' – Out Of Service ::= { '0' | '1' | '2' | '3' }, where: '0' – No reason (backwards compatibility) '1' – NEAR END '2' – FAR END '3' – both NEAR and FAR END The new CLI commands to handle channel service state are: pri service disable channel pri service enable channel Many people contributed to the development of this functionality. Because I entered at the very end I do not know the exact history. Special thanks to all who moved the bug forward one way or another: cmaj, PCadach, markster, mattf, drmac, MikeJ, serge-v, murf, kanelbullar, Seb7, tilghman, lmadsen, and especially dhubbard (he answered lots of my questions and did a large portion of the work) (closes issue #3450) Reported by: cmaj 2009-04-14 14:22 +0000 [r188283-188284] Olle Johansson * doc/manager_1_1.txt: New actions should go under "New Actions", not "new events" * main/xmldoc.c, apps/app_jack.c: Making sure we have references to external libraries. Note: Update h.323 with the recent changes too 2009-04-14 13:14 +0000 [r188247] Joshua Colp * channels/chan_sip.c: Fix a bug with the change I made yesterday to outbound proxy support. Per discussion with oej on IRC we need the actual IP address, not the outbound proxy IP address, in the sa field. This change matches the already existing code for all other uses of the outbound proxy setting. 2009-04-14 05:45 +0000 [r188206-188210] Tilghman Lesher * main/pbx.c: As suggested by Russell, warn users when their dialplan arguments contain pipes, but not commas. * utils/smsq.c: Application delimiter is ',', not '|'. (closes issue #14881) Reported by: stegro Patches: smsq.patch uploaded by stegro (license 752) 2009-04-13 19:31 +0000 [r188102] Mark Michelson * res/res_musiconhold.c: Fix another crash related to cached realtime music on hold. This was another off-by-one problem caused by moh_register. 2009-04-13 16:28 +0000 [r188067] Joshua Colp * channels/chan_sip.c: Fix a bug where using an outbound proxy would cause the local address to be 127.0.0.1. Copy the outbound proxy IP address into the SIP dialog structure as the IP address we will be sending to. This has to be done because the logic that determines what local IP address to use in the SIP messages is not aware of an outbound proxy being in place. It only knows what IP address we are sending to. (closes issue #12006) Reported by: mnicholson 2009-04-13 14:17 +0000 [r188032] Mark Michelson * apps/app_queue.c: Set all queue variables on both the caller and member channels. This allows for the variables to be accessed if a member macro is run. Thanks to Grigoriy Puzankin for bringing this up on the -dev list. 2009-04-10 20:26 +0000 [r187906] Jeff Peeler * channels/Makefile: Fix module embedding for chan_h323. Include libchanh323.a in the modules.link file so that all the symbols can be resolved at link time. (closes issue #11966) Reported by: dome Patches: issue_11966.patch uploaded by kpfleming (license 421) Tested by: jpeeler 2009-04-10 18:56 +0000 [r187830] Mark Michelson * channels/chan_local.c: Indicating connected line or redirecting updates were missing a call to lock the local_pvt. 2009-04-10 18:14 +0000 [r187772-187773] Joshua Colp * res/res_rtp_asterisk.c, main/rtp_engine.c: Change how we set the local and remote address. The code will now only change the address and port. It will not overwrite any other values. * channels/chan_jingle.c, channels/chan_unistim.c, res/res_rtp_asterisk.c, main/rtp_engine.c, channels/chan_sip.c, channels/chan_skinny.c, channels/chan_h323.c, channels/chan_gtalk.c, channels/chan_mgcp.c: Fix some uninitialized memory notices that appeared under valgrind. 2009-04-10 17:32 +0000 [r187770] Mark Michelson * apps/app_dial.c: Make sure tc is unlocked before calling ast_call since calling a Local channel could result in a deadlock. 2009-04-10 17:29 +0000 [r187764] Tilghman Lesher * contrib/scripts/realtime_pgsql.sql, /, contrib/scripts/sip-friends.sql: Merged revisions 187763 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r187763 | tilghman | 2009-04-10 12:28:46 -0500 (Fri, 10 Apr 2009) | 2 lines Add lastms column to the contributed table designs ........ 2009-04-10 16:51 +0000 [r187721] Kevin P. Fleming * build_tools/embed_modules.xml: clean up some patterns for files to remove add embedding support for bridge and test modules 2009-04-10 16:26 +0000 [r187680-187714] Mark Michelson * channels/chan_local.c: ast_strdup failures aren't really failures if the original value was NULL. * main/channel.c: Don't let ast_channel_alloc fail if explicitly passed NULL cid_name or cid_number. This also fixes a small memory leak. 2009-04-10 16:00 +0000 [r187675] Russell Bryant * tests/test_heap.c, tests/test_sched.c: Disable test modules by default. 2009-04-10 15:59 +0000 [r187674] Tilghman Lesher * channels/chan_sip.c: Ensure pvt is not NULL before dereferencing it. (closes issue #14784) Reported by: pj 2009-04-10 15:49 +0000 [r187673] David Vossel * apps/app_dial.c: Even more changes concerning r187426. Revised where locks are placed yet once again. ast_call() should not be called with a channel locked. could cause deadlock issues with local channels. 2009-04-10 15:11 +0000 [r187636] Kevin P. Fleming * include/asterisk/logger.h, main/logger.c, apps/app_verbose.c, configs/logger.conf.sample: revert addition of LOG_SECURITY log channel; after further discussion, a much better solution will be used 2009-04-10 14:53 +0000 [r187634-187635] Richard Mudgett * channels/misdn/isdn_lib.h, channels/chan_misdn.c, channels/misdn/isdn_lib.c: Miscellaneous minor changes to chan_misdn. * Miscellaneous spacing and comment changes. * Minor code rearangements. * Miscellaneous doxygen comments. * channels/chan_misdn.c: Make chan_misdn_log() avoid generating the log message if logging is disabled. 2009-04-10 03:55 +0000 [r187599] Tilghman Lesher * main/channel.c, main/pbx.c, main/manager.c, include/asterisk/linkedlists.h, main/features.c, main/http.c, main/app.c, include/asterisk/lock.h, main/audiohook.c, main/bridging.c: Modify headers and macros, according to Russell's suggestions on the -dev list 2009-04-09 21:06 +0000 [r187560] Mark Michelson * channels/chan_sip.c, configs/sip.conf.sample: Add a new option, mwi_from, to sip.conf. This allows for you to change the From header for outgoing MWI NOTIFY requests. Prior to this, the best you could do was to set a callerid in the general section of sip.conf. The problem was that this was used for all outbound requests, not just MWI NOTIFY requests. AST-201 2009-04-09 20:40 +0000 [r187556] David Vossel * apps/app_dial.c: More changes concerning r187426. Revised where locks are placed. 2009-04-09 19:10 +0000 [r187491] Jeff Peeler * apps/app_dial.c, main/pbx.c, include/asterisk/pbx.h, CHANGES: Add ability for dialplan execution to continue when caller hangs up. The F option to app_dial has been modified to accept no parameters and perform the above functionality. I don't see anywhere else that is doing function overloading, but this really is the best place for this operation because: - It makes it close to the 'g' option in the argument list which provides similar functionality. - The existing code to support the current F option provides a very convienient location to add this new feature. (closes issue #12381) Reported by: michael-fig 2009-04-09 18:58 +0000 [r187488] Mark Michelson * /, channels/chan_sip.c: Merged revisions 187484 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r187484 | mmichelson | 2009-04-09 13:51:20 -0500 (Thu, 09 Apr 2009) | 18 lines Handle a SIP race condition (reinvite before an ACK) properly. RFC 5047 explains the proper course of action to take if a reINVITE is received before the ACK from a previous invite transaction. What we are to do is to treat the reINVITE as if it were both an ACK and a reINVITE and process it normally. Later, when we receive the ACK we had been expecting, we will ignore it since its CSeq is less than the current iseqno of the sip_pvt representing this dialog. (closes issue #13849) Reported by: klaus3000 Patches: 13849_v2.patch uploaded by mmichelson (license 60) Tested by: mmichelson, klaus3000 ........ 2009-04-09 18:40 +0000 [r187483] Tilghman Lesher * main/manager.c, /, include/asterisk/linkedlists.h, include/asterisk/lock.h: Merged revisions 187428 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r187428 | tilghman | 2009-04-09 13:08:20 -0500 (Thu, 09 Apr 2009) | 8 lines Race condition between ast_cli_command() and 'module unload' could cause a deadlock. Add lock timeouts to avoid this potential deadlock. (closes issue #14705) Reported by: jamessan Patches: 20090320__bug14705.diff.txt uploaded by tilghman (license 14) Tested by: jamessan ........ 2009-04-09 17:39 +0000 [r187426] David Vossel * apps/app_dial.c: Fixes deadlock caused by calling get_cid_name with chan locked. get_cid_name should not be called with a channel lock. get_cid_name calls ast_get_hint which eventually calls pbx_find_extension. pbx_find_extension starts and stops autoservice which should not be done with a channel lock, so get_cid_name should not be called with one. 2009-04-09 17:34 +0000 [r187421-187424] Mark Michelson * res/res_musiconhold.c: Use safe macro practices even though they really aren't necessary. * res/res_musiconhold.c: Fix a crash in res_musiconhold when using cached realtime moh. The moh_register function links an mohclass and then immediately unrefs the class since the container now has a reference. The problem with using realtime music on hold is that the class is allocated, registered, and started in one fell swoop. The refcounting logic resulted in the count being off by one. The same problem did not happen when using a static config because the allocation and registration of an mohclass is a separate operation from starting moh. This also did not affect non-cached realtime moh because the classes are not registered at all. I also have modified res_musiconhold to use the _t_ variants of the ao2_ functions so that more info can be gleaned when attempting to trace the refcounts. I found this to be incredibly helpful for debugging this issue and there's no good reason to remove it. (closes issue #14661) Reported by: sum 2009-04-09 17:20 +0000 [r187363-187381] Tilghman Lesher * channels/chan_sip.c: Allow '/' in username portion of register; this is a regression. (closes issue #14668) Reported by: Netview * /, channels/chan_sip.c, apps/app_sendtext.c: Merged revisions 187362 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r187362 | tilghman | 2009-04-09 11:38:37 -0500 (Thu, 09 Apr 2009) | 3 lines Permit zero-length text messages in SIP. (Related to an issue posted to the -users list, subject "AEL2, BASE64_DECODE and hexadecimal") ........ 2009-04-09 16:27 +0000 [r187360-187361] Joshua Colp * channels/chan_iax2.c: Do not try to send the format read/format write/make compatible options over IAX2. * main/channel.c, channels/chan_sip.c, include/asterisk/frame.h: Add support for allowing the channel driver to handle transcoding. This was accomplished using a set of options and the setoption channel callback. The core calls into the channel driver using these options and the channel driver either returns success or failure. 2009-04-09 04:59 +0000 [r187302] Tilghman Lesher * agi/Makefile, build_tools/cflags.xml, utils/Makefile, include/asterisk.h, /, main/Makefile, main/file.c, main/astfd.c (added), main/asterisk.c: Merged revisions 187300-187301 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r187300 | tilghman | 2009-04-08 23:31:38 -0500 (Wed, 08 Apr 2009) | 3 lines Add debugging mode for diagnosing file descriptor leaks. (Related to issue #14625) ........ r187301 | tilghman | 2009-04-08 23:32:40 -0500 (Wed, 08 Apr 2009) | 2 lines Oops, missed this file in the last commit. ........ 2009-04-09 02:44 +0000 [r187269] Kevin P. Fleming * include/asterisk/logger.h, main/logger.c, apps/app_verbose.c, configs/logger.conf.sample: add a dedicated log channel for modules to be able report security-related events, so that they can be fed into external processes for analysis and possible mitigation efforts (inspired by this evening's Toronto Asterisk Users Group meeting and previous dicussions amongst various community members) 2009-04-08 21:00 +0000 [r187211] Jeff Peeler * main/channel.c, main/features.c, include/asterisk/channel.h: Add timer for features so that backup bridge config can go away The biggest change done here was elimination of the backup_config for use with features. Previously, the bridging code upon detecting a feature would set the start time of the bridge to the start time of the feature. Then after the feature had either expired or timed out the start time would be reset to the true bridge start time from the backup_config. Now, the time differences are calculated with respect to the newly added feature_start_time timeval instead. There should be no behavior changes from the previous functionality aside from the bridge timing being unaffected by either valid or partial feature matches. Previously the timing would be increased by the length of time configured for featuredigittimeout, which was probably never noticed. (closes issue #14503) Reported by: KNK Tested by: jpeeler Review: http://reviewboard.digium.com/r/179/ 2009-04-08 20:39 +0000 [r187210] Tilghman Lesher * /: Recorded merge of revisions 187209 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r187209 | tilghman | 2009-04-08 15:39:13 -0500 (Wed, 08 Apr 2009) | 4 lines Backport resolution for file descriptor leak in 1.6.0 to 1.4. This fixes short reads in http manager sessions, such as those done by the ast-gui branch. (Fixes AST-198) ........ 2009-04-08 19:59 +0000 [r187179] Russell Bryant * include/asterisk/doxyref.h, include/asterisk/doxygen/reviewboard.h (added): Add documentation for reviewboard usage and guidelines. 2009-04-08 18:12 +0000 [r187108] Joshua Colp * main/rtp_engine.c: Fix a bug where we would native bridge when we did not want to. 2009-04-08 17:51 +0000 [r187105] Russell Bryant * channels/chan_sip.c: Remove duplicate prototype for temp_peer(). 2009-04-08 17:08 +0000 [r187050] Tilghman Lesher * funcs/func_odbc.c: If the first column is empty, output a delimiter anyway. (closes issue #14848) Reported by: john8675309 Patches: 20090408__bug14848.diff.txt uploaded by tilghman (license 14) Tested by: john8675309 2009-04-08 16:52 +0000 [r187046] Mark Michelson * /, res/res_musiconhold.c: Merged revisions 187045 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r187045 | mmichelson | 2009-04-08 11:52:03 -0500 (Wed, 08 Apr 2009) | 10 lines Fix a small logical error when loading moh classes. We were unconditionally incrementing the number of mohclasses registered. However, we should actually only increment if the call to moh_register was successful. While this probably has never caused problems, I noticed it and decided to fix it anyway. ........ 2009-04-08 16:27 +0000 [r187036] Joshua Colp * res/res_rtp_asterisk.c, main/rtp_engine.c: Turn a warning message into a debug message and do not treat two situations as errors when they are not. 2009-04-08 15:27 +0000 [r186985] Mark Michelson * main/channel.c, /: Merged revisions 186984 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r186984 | mmichelson | 2009-04-08 10:26:46 -0500 (Wed, 08 Apr 2009) | 24 lines Make a couple of changes with regards to a new message printed in ast_read(). "ast_read() called with no recorded file descriptor" is a new message added after a bug was discovered. Unfortunately, it seems there are a bunch of places that potentially make such calls to ast_read() and trigger this error message to be displayed. This commit does two things to help to make this message appear less. First, the message has been downgraded to a debug level message if dev mode is not enabled. The message means a lot more to developers than it does to end users, and so developers should take an effort to be sure to call ast_read only when a channel is ready to be read from. However, since this doesn't actually cause an error in operation and is not something a user can easily fix, we should not spam their console with these messages. Second, the message has been moved to after the check for any pending masquerades. ast_read() being called with no recorded file descriptor should not interfere with a masquerade taking place. This could be seen as a simple way of resolving issue #14723. However, I still want to try to clear out the existing ways of triggering this message, since I feel that would be a better resolution for the issue. ........ 2009-04-08 13:38 +0000 [r186928-186957] Russell Bryant * include/asterisk/doxygen/releases.h: Add some additional notes on release numbering. * Makefile, include/asterisk/doxygen/releases.h (added), include/asterisk/doxyref.h, contrib/asterisk-ng-doxygen, include/asterisk/doxygen (added), include/asterisk/doxygen/commits.h (added), include/asterisk/doxygen/licensing.h (added), main/asterisk.c: Start splitting up miscellaneous doxygen documentation into separate files. doxyref.h was created to hold miscellaneous documentation that was not specific to a part of the code. This file has grown quite a bit so I decided to start splitting parts of it out into new files. Now, you can drop a new file into include/asterisk/doxygen/ and it will be processed by doxygen. * channels/chan_sip.c: Update some comments and resolve potential memory corruption in chan_sip. While browsing chan_sip the other day, I noticed this dangerous code in dialog_needdestroy(). This function is an ao2_callback. It is absolutely _not_ okay to unlock the container from within this function. It's also not clear why it was useful. Given that it could cause memory corruption, I have removed it. There was also a TODO comment left describing a potential implementation of an improvement to the needdestroy handling. I'm not convinced that what was described is the best choice here, so I have briefly described the way that this function is used today that could be improved. 2009-04-08 05:06 +0000 [r186899] Tilghman Lesher * channels/chan_sip.c: Add lastms to the require API call. 2009-04-08 00:09 +0000 [r186833-186842] Mark Michelson * /, formats/format_wav.c, formats/format_wav_gsm.c: Merged revisions 186841 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r186841 | mmichelson | 2009-04-07 19:09:04 -0500 (Tue, 07 Apr 2009) | 8 lines Fix a few typos of the word "frequency." (closes issue #14842) Reported by: jvandal Patches: frequency-typo.diff uploaded by jvandal (license 413) ........ * channels/chan_sip.c: Fix bad merge from fix for issue 13867. (closes issue #14686) Reported by: davidw * main/channel.c, /: Merged revisions 186832 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r186832 | mmichelson | 2009-04-07 18:49:49 -0500 (Tue, 07 Apr 2009) | 8 lines Set the AST_FEATURE_WARNING_ACTIVE flag when a p2p bridge returns AST_BRIDGE_RETRY. Without this flag set, warning sounds will not be properly played to either party of the bridge. (closes issue #14845) Reported by: adomjan ........ 2009-04-07 22:23 +0000 [r186799] Tilghman Lesher * /, apps/app_macro.c: Merged revisions 186775 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r186775 | tilghman | 2009-04-07 17:16:50 -0500 (Tue, 07 Apr 2009) | 3 lines Fix Macro documentation to match current (and intended) behavior. (See -dev mailing list) ........ 2009-04-07 20:46 +0000 [r186720] Mark Michelson * main/manager.c, /: Merged revisions 186719 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r186719 | mmichelson | 2009-04-07 15:43:49 -0500 (Tue, 07 Apr 2009) | 6 lines Ensure that \r\n is printed after the ActionID in an OriginateResponse. (closes issue #14847) Reported by: kobaz ........ 2009-04-06 23:11 +0000 [r186624-186687] Joshua Colp * res/res_rtp_asterisk.c: Fix a log message getting output when it should not have been. * channels/chan_sip.c: Fix problem when authenticating a non-RTP dialog. * channels/chan_sip.c, doc/tex/channelvariables.tex, CHANGES: Add support for changing the outbound codec on a SIP call using a dialplan variable. This adds a dialplan variable (SIP_CODEC_OUTBOUND) which controls the codec offered for an outgoing SIP call. This is much like the SIP_CODEC dialplan variable and has the same restrictions. The codec set must be one that is configured for the call. (closes issue #13243) Reported by: samdell3 Patches: 13243.diff uploaded by file (license 11) 2009-04-06 16:06 +0000 [r186620] Mark Michelson * funcs/func_connectedline.c (added), funcs/func_redirecting.c (added): Silly svn. These files didn't get merged over in the merge of the issue8824 branch. 2009-04-06 13:23 +0000 [r186563] Joshua Colp * main/rtp_engine.c: Pass the correct value to sizeof when copying address information. (issue #14827) Reported by: pj Patches: 14827.diff uploaded by file (license 11) Tested by: pj 2009-04-04 00:13 +0000 [r186537] Richard Mudgett * /: Remove merged branch properties accidentally merged to trunk. 2009-04-03 22:41 +0000 [r186525] Mark Michelson * channels/chan_unistim.c, channels/misdn/isdn_lib_intern.h, channels/chan_local.c, main/rtp_engine.c, /, channels/misdn/isdn_msg_parser.c, channels/chan_iax2.c, channels/misdn/isdn_lib.c, channels/misdn_config.c, include/asterisk/callerid.h, main/channel.c, main/dial.c, channels/misdn/isdn_lib.h, channels/chan_dahdi.c, channels/chan_phone.c, channels/chan_skinny.c, main/features.c, configs/sip.conf.sample, include/asterisk/frame.h, include/asterisk/rtp_engine.h, channels/chan_mgcp.c, apps/app_dial.c, res/res_rtp_asterisk.c, main/stun.c, channels/chan_sip.c, channels/chan_agent.c, configs/misdn.conf.sample, include/asterisk/channel.h, CHANGES, apps/app_queue.c, channels/chan_misdn.c, apps/app_directed_pickup.c, channels/misdn/chan_misdn_config.h, channels/chan_h323.c, main/callerid.c, include/asterisk/stun.h: This commit introduces COLP/CONP and Redirecting party information into Asterisk. The channel drivers which have been most heavily tested with these enhancements are chan_sip and chan_misdn. Further work is being done to add Q.SIG support and will be introduced in a later commit. chan_skinny has code added to it here, but according to user pj, the support on chan_skinny is not working as of now. This will be fixed in a later commit. A special thanks goes out to bugtracker user gareth for getting the ball rolling and providing the initial support for this work. Without his initial work on this, this would not have been nearly as painless as it was. This functionality has been tested by Digium's product quality department, as well as a customer site running thousands of calls every day. In addition, many many many many bugtracker users have tested this, too. (closes issue #8824) Reported by: gareth Review: http://reviewboard.digium.com/r/201 2009-04-03 20:20 +0000 [r186461] Kevin P. Fleming * channels/chan_dahdi.c, /: Merged revisions 186458 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r186458 | kpfleming | 2009-04-03 15:19:20 -0500 (Fri, 03 Apr 2009) | 5 lines Fix a bug where DAHDI/Zaptel channels would not properly switch formats when requested Don't offer AST_FORMAT_SLINEAR on DAHDI/Zaptel channels... while it could provide a slight performance benefit, the translation core in Asterisk has some flaws when a channel driver offers multiple raw formats. this fix is much simpler than fixing the translation core to solve that issue (although that will be done later). ........ 2009-04-03 19:59 +0000 [r186444-186447] Tilghman Lesher * /, apps/app_voicemail.c: Merged revisions 186445 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r186445 | tilghman | 2009-04-03 14:56:48 -0500 (Fri, 03 Apr 2009) | 2 lines Found a conflict in the last commit, due to multiple targets ........ * /, configs/voicemail.conf.sample, apps/app_voicemail.c: Merged revisions 186415 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r186415 | tilghman | 2009-04-03 14:06:58 -0500 (Fri, 03 Apr 2009) | 7 lines Distinguish in a sent email between simple sends and forwards. (closes issue #11678) Reported by: jamessan Patches: 20090330__bug11678.diff.txt uploaded by tilghman (license 14) Tested by: tilghman, lmadsen ........ 2009-04-03 16:47 +0000 [r186382] Joshua Colp * main/channel.c, channels/chan_sip.c, channels/chan_iax2.c, include/asterisk/frame.h: Add better support for relaying success or failure of the ast_transfer() API call. This API call now waits for a special frame from the underlying channel driver to indicate success or failure. This allows the return value to truly convey whether the transfer worked or not. In the case of the Transfer() dialplan application this means the value of the TRANSFERSTATUS dialplan variable is actually true. (closes issue #12713) Reported by: davidw Tested by: file 2009-04-03 16:29 +0000 [r186379] David Vossel * main/audiohook.c: audio_audiohook_write_list() did not correctly update sample size after ast_translate. audio_audiohook_write_list() did not take into account that the sample size may change after translation depending on if the original frame is is 8khz or 16khz. the sample size is now updated after translating to reflect this possibility. This caused the audio on the receiving end to sound terrible. Thanks to jcolp and mmichelson for helping me work this out. (issue AST-197) 2009-04-03 15:52 +0000 [r186321] Joshua Colp * include/asterisk/crypto.h, /: Merged revisions 186320 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r186320 | file | 2009-04-03 12:48:56 -0300 (Fri, 03 Apr 2009) | 5 lines Fix a problem with the crypto variable definitions not actually being defined properly. (closes issue #14804) Reported by: jvandal ........ 2009-04-03 15:18 +0000 [r186297] Tilghman Lesher * main/stdtime/localtime.c: Compatibility fix for glibc 2.4 (Closes issue #14820) Reported by: phsultan 2009-04-03 14:32 +0000 [r186286] Mark Michelson * apps/app_voicemail.c: Fix the ability to retrieve voicemail messages from IMAP. A recent change made interactive vm_states no longer get added to the list of vm_states and instead get stored in thread-local storage. In trunk and all the 1.6.X branches, the problem is that when we search for messages in a voicemail box, we would attempt to update the appropriate vm_state struct by directly searching in the list of vm_states instead of using the get_vm_state_by_imap_user function. This meant we could not find the interactive vm_state that we wanted. (closes issue #14685) Reported by: BlargMaN Patches: 14685.patch uploaded by mmichelson (license 60) Tested by: BlargMaN, qualleyiv, mmichelson 2009-04-03 02:03 +0000 [r186230] Russell Bryant * /, cdr/cdr_radius.c: Merged revisions 186229 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r186229 | russell | 2009-04-02 20:57:44 -0500 (Thu, 02 Apr 2009) | 21 lines Fix a memory leak in cdr_radius. I came across this while doing some testing of my ast_channel_ao2 branch. After running a test overnight that generated over 5 million calls, Asterisk had taken up about 1 GB of my system memory. So, I re-ran the test with MALLOC_DEBUG turned on. However, it showed no leaks in Asterisk during the test, even though Asterisk was still consuming it somehow. Instead, I turned to valgrind, which when run with --leak-check=full, told me exactly where the leak came from, which was from allocations inside the radiusclient-ng library. This explains why MALLOC_DEBUG did not report it. After a bit of analysis, I found that we were leaking a little bit of memory every time a CDR record was passed to cdr_radius. I don't actually have a radius server set up to receive CDR records. However, I always have my development systems compile and install all modules. In addition to making sure there are not build errors across modules, always loading modules helps find bugs like this, too, so it is strongly recommend for all developers. ........ 2009-04-02 21:56 +0000 [r186175] Mark Michelson * /, configs/features.conf.sample: Merged revisions 186174 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r186174 | mmichelson | 2009-04-02 16:55:34 -0500 (Thu, 02 Apr 2009) | 5 lines Fix instructions in one-step parking comment to make more sense. Changed a capital K to a lowercase k. ........ 2009-04-02 17:26 +0000 [r186101] Kevin P. Fleming * channels/chan_dahdi.c, /: Merged revisions 186081 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r186081 | kpfleming | 2009-04-02 12:21:29 -0500 (Thu, 02 Apr 2009) | 3 lines ensure that the buffer passed to DAHDI_SET_BUFINFO is fully initialized ........ 2009-04-02 17:20 +0000 [r186078] Joshua Colp * res/res_rtp_asterisk.c (added), channels/chan_unistim.c, apps/app_dial.c, main/stun.c (added), main/rtp_engine.c (added), channels/chan_local.c, channels/chan_sip.c, channels/chan_bridge.c, main/Makefile, channels/chan_agent.c, include/asterisk/rtp.h (removed), UPGRADE.txt, channels/chan_gtalk.c, include/asterisk/_private.h, main/rtp.c (removed), main/loader.c, channels/chan_jingle.c, channels/chan_skinny.c, channels/chan_h323.c, configs/sip.conf.sample, include/asterisk/stun.h (added), include/asterisk/rtp_engine.h (added), main/asterisk.c, channels/chan_mgcp.c: Merge in the RTP engine API. This API provides a generic way for multiple RTP stacks to be integrated into Asterisk. Right now there is only one present, res_rtp_asterisk, which is the existing Asterisk RTP stack. Functionality wise this commit performs the same as previously. API documentation can be viewed in the rtp_engine.h header file. Review: http://reviewboard.digium.com/r/209/ 2009-04-02 17:10 +0000 [r186021-186060] Tilghman Lesher * /, channels/chan_sip.c, configs/sip.conf.sample: Merged revisions 186059 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r186059 | tilghman | 2009-04-02 12:09:13 -0500 (Thu, 02 Apr 2009) | 9 lines Merged revisions 186056 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r186056 | tilghman | 2009-04-02 12:02:18 -0500 (Thu, 02 Apr 2009) | 2 lines Fix for AST-2009-003 ........ ................ * main/strings.c: Missed a common case for needing to extend the buffer. (closes issue #14716) Reported by: sum Patches: 20090402__bug14716.diff.txt uploaded by tilghman (license 14) Tested by: sum 2009-04-02 13:51 +0000 [r185953] Kevin P. Fleming * channels/chan_dahdi.c, /: Merged revisions 185952 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r185952 | kpfleming | 2009-04-02 08:43:43 -0500 (Thu, 02 Apr 2009) | 5 lines the DAHDI_GETCONF, DAHDI_SETCONF and DAHDI_GET_PARAMS ioctls were recently corrected to show that they do, in fact, read data from userspace as part of their work. due to this fix, valgrind now reports a number of cases where chan_dahdi passed an uninitialized (or partially) buffer to these ioctls, which could lead to unexpected behavior. this patch corrects chan_dahdi to ensure that buffers passed to these ioctls are always fully initialized. ........ 2009-04-01 20:13 +0000 [r185912] Tilghman Lesher * include/asterisk/res_odbc.h, include/asterisk.h, main/strings.c, main/manager.c, main/tdd.c, include/asterisk/astobj2.h, main/ast_expr2f.c, include/asterisk/pbx.h, include/asterisk/strings.h, main/taskprocessor.c, res/res_odbc.c: Merge changes from str_substitution that are unrelated to that branch. Included is a small bugfix to an ast_str helper, but most of these changes are simply doxygen fixes. 2009-04-01 19:03 +0000 [r185846] David Vossel * /, channels/chan_sip.c: Merged revisions 185845 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r185845 | dvossel | 2009-04-01 14:02:00 -0500 (Wed, 01 Apr 2009) | 10 lines Fixes issue with dropped calles due to re-Invite glare and re-Invites never executing after a 491 Acknowledgement for 491 responses were never being processed because it didn't match our pending invite's seqno. Since the ACK was never processed, the 491 frame would continue to be retransmitted until eventually the call was dropped due to max retries. Now during a pending invite, if we receive another invite, we send an 491 and hold on to that glare invite's seqno in the "glareinvite" variable for that sip_pvt struct. When ACK's are received, we first check to see if it is in response to our pending invite, if not we check to see if it is in response to a glare invite. In this case, it is in response to the glare invite and must be dealt with or the call is dropped. I've changed the wait time for resending the re-Invite after receving a 491 response to comply with RFC 3261. Before this patch the scheduled re-Invite would only change a flag indicating that the re-Invite should be sent out, now it actually sends it out as well. (closes issue #12013) Reported by: alx Review: http://reviewboard.digium.com/r/213/ ........ 2009-04-01 13:59 +0000 [r185777] Mark Michelson * main/manager.c: Address Russell's comments regarding rev 185704. Use ast_debug and ast_softhangup_nolock. 2009-04-01 13:48 +0000 [r185741-185772] Russell Bryant * main/channel.c, /: Merged revisions 185771 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r185771 | russell | 2009-04-01 08:47:30 -0500 (Wed, 01 Apr 2009) | 6 lines Fix a case where DTMF could bypass audiohooks. This change fixes a situation where an audiohook that wants DTMF would not actually get it. This is in the code path where we end DTMF digit length emulation while handling a NULL frame. ........ * include/asterisk/stringfields.h: Fix dev-mode build on my box. 2009-04-01 00:39 +0000 [r185704] Mark Michelson * main/manager.c, CHANGES: Allow the AMI Hangup command to accept a Cause header. (closes issue #14695) Reported by: mneuhauser Patches: cause-for-hangup-manager-action.patch uploaded by mneuhauser (license 425) 2009-03-31 22:35 +0000 [r185664] Kevin P. Fleming * utils: ignore copied (generated) file 2009-03-31 22:12 +0000 [r185600-185604] Mark Michelson * apps/app_queue.c: Fix trunk's compilation. * /, apps/app_queue.c: Merged revisions 185599 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r185599 | mmichelson | 2009-03-31 17:00:01 -0500 (Tue, 31 Mar 2009) | 6 lines Fix crash that would occur if an empty member was specified in queues.conf. (closes issue #14796) Reported by: pida ........ 2009-03-31 21:29 +0000 [r185581] Kevin P. Fleming * main/utils.c, include/asterisk/stringfields.h: Optimizations to the stringfields API This patch provides a number of optimizations to the stringfields API, focused around saving (not wasting) memory whenever possible. Thanks to Mark Michelson for inspiring this work and coming up with the first two optimizations that are represented here: Changes: - Cleanup of some code, fix incorrect doxygen comments - When a field is emptied or replaced with a new allocation, decrease the amount of 'active' space in the pool it was held in; if that pool reaches zero active space, and is not the current pool, then free it as it is no longer in use - When allocating a pool, try to allocate a size that will fit in a 'standard' malloc() allocation without wasting space - When allocating space for a field, store the amount of space in the two bytes immediately preceding the field; this eliminates the need to call strlen() on the field when overwriting it, and more importantly it 'remembers' the amount of space the field has available, even if a shorter string has been stored in it since it was allocated - Don't automatically double the size of each successive pool allocated; it's wasteful http://reviewboard.digium.com/r/165/ 2009-03-31 19:46 +0000 [r185469] Mark Michelson * /, apps/app_voicemail.c: Merged revisions 185468 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r185468 | mmichelson | 2009-03-31 14:45:30 -0500 (Tue, 31 Mar 2009) | 8 lines Fix Russian voicemail intro to say the word "messages" properly. (closes issue #14736) Reported by: chappell Patches: voicemail_no_messages.diff uploaded by chappell (license 8) ........ 2009-03-31 19:07 +0000 [r185432] Russell Bryant * channels/chan_iax2.c: Improve performance of the code handling the frame queue in chan_iax2. In my tests that exercised full frame handling in chan_iax2, the version with these changes took 30% to 40% of the CPU time compared to the same test of Asterisk trunk before these modifications. While doing some profiling for , one function that caught my eye was network_thread() in chan_iax2.c. After the things that I was working on there, it was the next target for analysis and optimization. I used oprofile's source annotation functionality and found that the loop traversing the frame queue in network_thread() was to blame for the excessive CPU cycle consumption. The frame_queue in chan_iax2 previously held all frames that either were pending transmission or had been transmitted and are still pending acknowledgment. In network_thread(), the previous code would go back through the main for loop after reading a single incoming frame or after being signaled because a frame had been queued up for initial transmission. In each iteration of the loop, it traverses the entire frame queue looking for frames that need to be transmitted. On a busy server, this could easily be quite a few entries. This patch is actually quite simple. The frame_queue has become only a list of frames pending acknowledgment. Frames that need to be transmitted are queued up to a dedicated transmit thread via the taskprocessor API. As a result, the code in network_thread() becomes much simpler, as its only job is to read incoming frames. In addition to the previously described changes, this patch includes some additional changes to the frame_queue. Instead of one big frame_queue, now there is a list per call number to further reduce wasted list traversals. The biggest impact of this change is in socket_process(). For additional details on testing and test results, see the review request. Review: http://reviewboard.digium.com/r/212/ 2009-03-31 16:46 +0000 [r185363] David Brooks * /, channels/chan_gtalk.c: Merged revisions 185362 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r185362 | dbrooks | 2009-03-31 11:37:12 -0500 (Tue, 31 Mar 2009) | 35 lines Fix incorrect parsing in chan_gtalk when xmpp contains extra whitespaces To drill into the xmpp to find the capabilities between channels, chan_gtalk calls iks_child() and iks_next(). iks_child() and iks_next() are functions in the iksemel xml parsing library that traverse xml nodes. The bug here is that both iks_child() and iks_next() will return the next iks_struct node *regardless* of type. chan_gtalk expects the next node to be of type IKS_TAG, which in most cases, it is, but in this case (a call being made from the Empathy IM client), there exists iks_struct nodes which are not IKS_TAG data (they are extraneous whitespaces), and chan_gtalk doesn't handle that case, so capabilities don't match, and a call cannot be made. iks_first_tag() and iks_next_tag(), on the other hand, will not return the very next iks_struct, but will check to see if the next iks_struct is of type IKS_TAG. If it isn't, it will be skipped, and the next struct of type IKS_TAG it finds will be returned. This assures that chan_gtalk will find the iks_struct it is looking for. This fix simply changes all calls to iks_child() and iks_next() to become calls to iks_first_tag() and iks_next_tag(), which resolves the capability matching. The following is a payload listing from Empathy, which, due to the extraneous whitespace, will not be parsed correctly by iksemel: Review: http://reviewboard.digium.com/r/181/ ........ 2009-03-31 14:53 +0000 [r185261] Russell Bryant * apps/app_queue.c: Don't free() an astobj2 object. (closes issue #14672) Reported by: makoto 2009-03-31 14:07 +0000 [r185197] Joshua Colp * /, main/audiohook.c: Merged revisions 185196 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r185196 | file | 2009-03-31 11:06:39 -0300 (Tue, 31 Mar 2009) | 8 lines Fix crash when moving audiohooks between channels. Handle the scenario where we are called to move audiohooks between channels and the source channel does not actually have any on it. (closes issue #14734) Reported by: corruptor ........ 2009-03-30 20:42 +0000 [r185122-185123] Richard Mudgett * /, configs/misdn.conf.sample, channels/misdn_config.c: Merged revisions 185121 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r185121 | rmudgett | 2009-03-30 15:40:11 -0500 (Mon, 30 Mar 2009) | 1 line Update the channel allocation method documentation. ........ * /, channels/misdn/isdn_lib.c: Merged revisions 185120 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r185120 | rmudgett | 2009-03-30 15:38:11 -0500 (Mon, 30 Mar 2009) | 19 lines Make chan_misdn BRI TE side normally defer channel selection to the NT side. Channel allocation collisions are not handled by chan_misdn very well. This patch simply avoids the problem for BRI only. For PRI, allocation collisions are still possible but less likely since there are simply more channels available and each end could use a different allocation strategy. misdn.conf options available: te_choose_channel - Use to force the TE side to allocate channels. method - Specify the channel allocation strategy. (closes issue #13488) Reported by: Christian_Pinedo Patches: isdn_lib.patch.txt uploaded by crich Tested by: crich, siepkes, festr ........ 2009-03-30 16:26 +0000 [r185072] Mark Michelson * /, apps/app_queue.c: Merged revisions 185031 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r185031 | mmichelson | 2009-03-30 11:17:35 -0500 (Mon, 30 Mar 2009) | 39 lines Fix queue weight behavior so that calls in low-weight queues are not inappropriately blocked. (This is copied and pasted from the review request I made for this patch) Asterisk has some odd behavior when queue weights are used. The current logic used when potentially calling a queue member is: If the member we are going to call is part of another queue and _that other queue has any callers in it_ and has a higher weight than the queue we are calling from, then don't try to contact that member. The issue here is what I have marked with underscores. If the higher-weighted queue has any callers in it at all, then the queue member will be unreachable from the lower-weighted queue. This has the potential to be really really bad if using a queue strategy, such as leastrecent or fewestcalls, with the potential to call the same member repeatedly. The fix proposed by garychen on issue 13220 is very simple and, as far as I can see, works well for this situation. With this set of changes, the logic used becomes: If the member we are going to call is part of another queue, the other queue has a higher weight than the queue we are calling from, and the higher weight queue has at least as many callers as available members, then do not try to contact the queue member. If the higher weighted queue has fewer callers than available members, then there is no reason to deny the call to this member since the other queue can afford to spare a member. Since the fix involved writing a generic function for determining the number of available members in the queue, I also modified the is_our_turn function to make use of the new num_available_members function to determine if it is our turn to try calling a member. There is one small behavior change. Before writing this patch, if you had autofill disabled, then if you were the head caller in a queue, you would automatically be told that it was your turn to try calling a member. This did not take into account whether there were actually any queue members available to take the call. Now we actually make sure there is at least one member available to take the call if autofill is disabled. (closes issue #13220) Reported by: garychen Review: http://reviewboard.digium.com/r/202/ ........ 2009-03-30 14:37 +0000 [r184948] Joshua Colp * /, channels/chan_sip.c: Merged revisions 184947 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r184947 | file | 2009-03-30 11:35:47 -0300 (Mon, 30 Mar 2009) | 14 lines Improve our handling of T38 in the initial INVITE from a device. We now answer with matching media streams to what is requested. If an INVITE is received with both a T38 and RTP media stream this means we answer with both. For any outgoing calls created as a result of this inbound one no T38 is requested in the initial INVITE. Instead if we start receiving udptl packets we trigger a reinvite on the outbound side. (closes issue #12437) Reported by: marsosa Tested by: pinga-fogo, okrief, file, afu Review: http://reviewboard.digium.com/r/208/ ........ 2009-03-30 13:55 +0000 [r184910] Russell Bryant * channels/h323/Makefile.in: Fix build error when chan_h323 is not being built. (reported by cai1982 in #asterisk-dev) 2009-03-29 05:52 +0000 [r184838-184843] Russell Bryant * /, apps/app_followme.c: Merged revisions 184842 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r184842 | russell | 2009-03-29 00:51:55 -0500 (Sun, 29 Mar 2009) | 5 lines Ensure targs variable is fully initialized. (closes issue #14758) Reported by: tim_ringenbach ........ * channels/Makefile: Simplify chan_h323 build to not require a second run of "make". (closes issue #14715) Reported by: jthurman Patches: h323-makefile-1.6.2.0-beta1.patch uploaded by jthurman (license 614) Tested by: tzafrir, russell 2009-03-27 20:08 +0000 [r184798-184801] Leif Madsen * apps/app_ices.c: Fix a typo in app_ices. (closes issue #14765) Reported by: timeshell Patches: app_ices.svn-1.6.0.diff uploaded by timeshell (license 399) * include/asterisk/doxyref.h: Update commit message guidelines in re: to punctuation. The doxygen documentation has now been updated to state explicitly that I want punctuation atthe end of the first sentence in a commit message. :). 2009-03-27 19:10 +0000 [r184762] Kevin P. Fleming * main/channel.c, bridges/bridge_softmix.c, include/asterisk/timing.h, include/asterisk/channel.h, channels/chan_iax2.c, main/timing.c: Improve timing interface to remember which provider provided a timer The ability to load/unload timing interfaces is nice, but it means that when a timer is allocated, it may come from provider A, but later provider B becomes the 'preferred' provider. If this happens, all timer API calls on the timer that was provided by provider A will actually be handed to provider B, which will say WTF and return an error. This patch changes the timer API to include a pointer to the provider of the timer handle so that future operations on the timer will be forwarded to the proper provider. (closes issue #14697) Reported by: moy Review: http://reviewboard.digium.com/r/211/ 2009-03-27 18:04 +0000 [r184693-184726] Russell Bryant * main/manager.c, apps/app_minivm.c: Use ast_random() instead of rand() to ensure we use the best RNG available. * include/asterisk/app.h, apps/app_dumpchan.c, main/app.c, apps/app_queue.c, apps/app_voicemail.c, main/cli.c: Change global_app_buf to ast_str_thread_global_buf. 2009-03-27 15:57 +0000 [r184639-184677] Joshua Colp * bridges/bridge_softmix.c: Fix a potential timer leak in bridge_softmix. It is possible for a bridge to be created without actually being used. In that scenario a timing file descriptor would be opened and not closed. To fix this the timing file descriptor is now closed in the destroy callback, not the thread function. * res/res_agi.c: Fix speech structure leak in the AGI speech recognition integration. The AGI dialplan applications did not destroy the speech structure automatically if it was not destroyed by the running AGI script. They will now do this. (issue LUMENVOX-15) * bridges/bridge_softmix.c: Remove a cast that is not needed. 2009-03-27 14:00 +0000 [r184630] Russell Bryant * include/asterisk/utils.h, main/pbx.c, res/ais/evt.c, main/event.c, pbx/pbx_dundi.c, main/asterisk.c: Change g_eid to ast_eid_default. 2009-03-27 13:57 +0000 [r184566-184628] Joshua Colp * bridges/bridge_softmix.c: Fix a potential race condition when creating a software based mixing bridge. It was possible for no timer to become available between creating the bridge and starting it. We now open a timer when creating it and keep it open until the bridge is destroyed. * /, channels/chan_sip.c: Merged revisions 184565 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r184565 | file | 2009-03-27 10:06:45 -0300 (Fri, 27 Mar 2009) | 9 lines Fix an issue where nat=yes would not always take effect for the RTP session on outgoing calls. If calls were placed using an IP address or hostname the global nat setting was copied over but was not set on the RTP session itself. This caused the RTP stack to not perform symmetric RTP actions. (closes issue #14546) Reported by: acunningham ........ 2009-03-27 02:20 +0000 [r184512-184531] Russell Bryant * include/asterisk/lock.h: Fix some issues with rwlock corruption that caused deadlock like symptoms. When dvossel and I were doing some load testing last week, we noticed that we could make Asterisk trunk lock up instantly when we started generating a bunch of calls. The backtraces of locked threads were bizarre, and many were stuck on an _unlock_ of an rwlock. The changes are: 1) Fix a number of places where a backtrace would be loaded into an invalid index of the backtrace array. It's an off by one error, which ends up writing over the rwlock itself. 2) Ensure that in the array of held locks, we NULL out an index once it is not being used so that it's not confusing when analyzing its contents. 3) Remove a bunch of logging referring to an rwlock operating being done with "deep reentrancy". It is normal for _many_ threads to hold a read lock on an rwlock. * main/file.c: Don't act surprised if we get a -1 indication. * main/heap.c, include/asterisk/heap.h: Pass more useful information through to lock tracking when DEBUG_THREADS is on. 2009-03-26 22:18 +0000 [r184448] Kevin P. Fleming * /, sounds/Makefile: Merged revisions 184447 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r184447 | kpfleming | 2009-03-26 17:17:32 -0500 (Thu, 26 Mar 2009) | 3 lines use new, improved 8kHz prompts ........ 2009-03-26 21:09 +0000 [r184389] David Vossel * /, apps/app_test.c: Merged revisions 184388 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r184388 | dvossel | 2009-03-26 16:07:32 -0500 (Thu, 26 Mar 2009) | 8 lines pri loop TestClient/TestServer fails: server SEND DTMF 8 app_test was failing when sending the last DTMF digit, 8, because of the 100ms pause issued after DTMF is sent. During this pause the other side would hang up causing the test to look like it failed. Now the other side waits a second before hanging up. (closes issue #12442) Reported by: tzafrir ........ 2009-03-25 22:11 +0000 [r184339-184344] Russell Bryant * main/event.c: Remove unneeded AST_LIST_ENTRY() and comment on the purpose of ast_event_ref. * channels/chan_unistim.c, channels/chan_dahdi.c, include/asterisk/devicestate.h, include/asterisk/event.h, channels/chan_sip.c, apps/app_minivm.c, res/ais/evt.c, main/devicestate.c, main/event.c, include/asterisk/_private.h, include/asterisk/strings.h, channels/chan_iax2.c, main/asterisk.c, channels/chan_mgcp.c, apps/app_voicemail.c: Improve performance of the ast_event cache functionality. This code comes from svn/asterisk/team/russell/event_performance/. Here is a summary of the changes that have been made, in order of both invasiveness and performance impact, from smallest to largest. 1) Asterisk 1.6.1 introduces some additional logic to be able to handle distributed device state. This functionality comes at a cost. One relatively minor change in this patch is that the extra processing required for distributed device state is now completely bypassed if it's not needed. 2) One of the things that I noticed when profiling this code was that a _lot_ of time was spent doing string comparisons. I changed the way strings are represented in an event to include a hash value at the front. So, before doing a string comparison, we do an integer comparison on the hash. 3) Finally, the code that handles the event cache has been re-written. I tried to do this in a such a way that it had minimal impact on the API. I did have to change one API call, though - ast_event_queue_and_cache(). However, the way it works now is nicer, IMO. Each type of event that can be cached (MWI, device state) has its own hash table and rules for hashing and comparing objects. This by far made the biggest impact on performance. For additional details regarding this code and how it was tested, please see the review request. (closes issue #14738) Reported by: russell Review: http://reviewboard.digium.com/r/205/ 2009-03-25 19:22 +0000 [r184280] Joshua Colp * channels/chan_sip.c: Fix issue with a T38 reinvite being sent even if not configured to do so. If we receive a T38 request negotiate control frame we should only attempt to do so if the option is enabled on the dialog. 2009-03-25 14:38 +0000 [r184220] Eliel C. Sardanons * /, main/asterisk.c: Merged revisions 184188 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r184188 | eliel | 2009-03-25 10:12:54 -0400 (Wed, 25 Mar 2009) | 13 lines Avoid destroying the CLI line when moving the cursor backward and trying to autocomplete. When moving the cursor backward and pressing TAB to autocomplete, a NULL is put in the line and we are loosing what we have already wrote after the actual cursor position. (closes issue #14373) Reported by: eliel Patches: asterisk.c.patch uploaded by eliel (license 64) Tested by: lmadsen ........ 2009-03-25 14:33 +0000 [r184147-184219] Russell Bryant * main/timing.c: Include poll-compat.h * main/timing.c: Change poll() to ast_poll(). * utils/Makefile, include/asterisk/compat.h: Fix build issues on Mac OSX. (closes issue #14714) Reported by: ygor 2009-03-24 22:40 +0000 [r184079] Mark Michelson * /, apps/app_senddtmf.c: Merged revisions 184078 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r184078 | mmichelson | 2009-03-24 17:34:45 -0500 (Tue, 24 Mar 2009) | 9 lines Change NULL pointer check to be ast_strlen_zero. The 'digit' variable is guaranteed to be non-NULL, so the if statement could never evaluate true. Changing to ast_strlen_zero makes the logic correct. This was found while reviewing ast_channel_ao2 code review. ........ 2009-03-24 22:00 +0000 [r184037-184043] Russell Bryant * main/channel.c: Put siren7 and siren14 in ast_best_codec() just so they're in there somewhere. * channels/chan_iax2.c: Exclude slin16, siren7, and siren14 from bandwidth=low and =medium The default codec configuration for chan_iax2 is bandwidth=low. I noticed slin16 being negotiated as the codec in some test calls, but that no longer happens after this change. 2009-03-24 20:01 +0000 [r183995] David Vossel * channels/chan_sip.c, configs/sip.conf.sample, CHANGES: SIP preferred codec only feature Added an option to respond to a SIP invite with only the single most preferred joint codec. This limits the options of what codecs the other side can use. (closes issue #12485) Reported by: bamby Review: http://reviewboard.digium.com/r/206/ 2009-03-24 15:26 +0000 [r183865-183914] Tilghman Lesher * /, configs/voicemail.conf.sample: Merged revisions 183913 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r183913 | tilghman | 2009-03-24 10:25:42 -0500 (Tue, 24 Mar 2009) | 3 lines Additionally note that the operator option needs an 'o' extension. (Related to issue #14731) ........ * main/http.c: Allow browsers to cache images and other static content. 2009-03-23 22:35 +0000 [r183831] Richard Mudgett * channels/chan_misdn.c, channels/misdn/Makefile, channels/misdn/chan_misdn_config.h, channels/misdn/ie.c, channels/misdn/isdn_msg_parser.c, channels/misdn/portinfo.c, channels/misdn/isdn_lib.c, channels/misdn_config.c: Removed trailing whitespace in chan_misdn files. 2009-03-23 18:58 +0000 [r183766] Mark Michelson * /, res/res_monitor.c: Merged revisions 183700 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r183700 | mmichelson | 2009-03-23 12:59:28 -0500 (Mon, 23 Mar 2009) | 7 lines Fix a memory leak in res_monitor.c The only way that this leak would occur is if Monitor were started using the Manager interface and no File: header were given. Discovered while reviewing the ast_channel_ao2 review request. ........ 2009-03-23 18:06 +0000 [r183701] Leif Madsen * channels/chan_dahdi.c: Fixes a documentation error introduced during the CLI cleanup at AstriDevCon 2008. (closes issue #14655) Reported by: ulogic Patches: chan_dahdi.patch uploaded by ulogic (license 728) Tested by: lmadsen 2009-03-22 21:00 +0000 [r183652] Joshua Colp * main/bridging.c: Fix a minor logic flaw with the bridge generic thread. We only want to move the channel pointers that are actually present. 2009-03-20 17:00 +0000 [r183560] Russell Bryant * /, channels/chan_iax2.c: Merged revisions 183559 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r183559 | russell | 2009-03-20 11:53:25 -0500 (Fri, 20 Mar 2009) | 2 lines Fix a crash in IAX2 registration handling found during load testing with dvossel. ........ 2009-03-20 16:25 +0000 [r183553-183555] Mark Michelson * channels/chan_sip.c: Fix chan_sip so it builds. * include/asterisk/rtp.h, main/rtp.c, main/asterisk.exports: Remove symbols I just added to main/asterisk.exports and instead rename the functions. * main/asterisk.exports: Add some missing symbols to main/asterisk.exports Hey! chan_sip.so loads now! 2009-03-20 12:12 +0000 [r183511] Eliel C. Sardanons * channels/chan_dahdi.c: Remove duplicate inside the xml documentation. 2009-03-19 20:30 +0000 [r183436] David Vossel * apps/app_dial.c, /, main/features.c, include/asterisk/features.h: Merged revisions 183386 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r183386 | dvossel | 2009-03-19 14:40:07 -0500 (Thu, 19 Mar 2009) | 6 lines Cleaning up a few things in detect disconnect patch Initialized ast_call_feature in detect_disconnect to avoid accessing uninitialized memory. Cleaned up /param tags in features.h. No longer send dynamic features in ast_feature_detect. issue #11583 ........ 2009-03-19 19:22 +0000 [r183321-183345] Tilghman Lesher * /: Recorded merge of revisions 183342 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r183342 | tilghman | 2009-03-19 14:21:30 -0500 (Thu, 19 Mar 2009) | 2 lines Reordering, to change prior to unlocking ........ * channels/chan_dahdi.c, /: Merged revisions 183319 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r183319 | tilghman | 2009-03-19 14:15:33 -0500 (Thu, 19 Mar 2009) | 8 lines Delay signalling progress until a PRI channel really signals progress. (closes issue #13034) Reported by: klaus3000 Patches: 20090316__bug13034.diff.txt uploaded by tilghman (license 14) patch_trunk_183progress_klaus3000.txt uploaded by klaus3000 (license 65) Tested by: klaus3000 ........ 2009-03-19 18:34 +0000 [r183312] Jason Parker * /, main/asterisk.exports: Merged revisions 183291 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r183291 | qwell | 2009-03-19 13:28:16 -0500 (Thu, 19 Mar 2009) | 1 line Export some more required symbols. ........ 2009-03-19 18:10 +0000 [r183244] Mark Michelson * apps/app_queue.c: Fix a memory leak associated with queues. For every attempt that app_queue made to place an outbound call to a queue member, we would allocate a queue_end_bridge structure. When the bridge for the call had completed, we would free the structure. Unfortunately not all call attempts actually end up bridged to a member, so we need to be more selective of when to allocate the structure. With this change, the allocation occurs in an area where we can guarantee that the call will be bridged. (closes issue #14680) Reported by: caspy Patches: 14680.patch uploaded by mmichelson (license 60) Tested by: caspy 2009-03-19 18:00 +0000 [r183239-183242] Russell Bryant * /, configure, include/asterisk/autoconfig.h.in, configure.ac, main/loader.c: Merged revisions 183241 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r183241 | russell | 2009-03-19 12:52:52 -0500 (Thu, 19 Mar 2009) | 2 lines Remove the use of RTLD_NOLOAD, as it is not behaving like expected. ........ * /, main/asterisk.exports: Merged revisions 183238 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r183238 | russell | 2009-03-19 12:41:39 -0500 (Thu, 19 Mar 2009) | 1 line Allow the AES API to work. ........ 2009-03-19 17:00 +0000 [r183196] Tilghman Lesher * res/res_odbc.exports: 2 symbols defined when DEBUG_THREADS 2009-03-19 16:28 +0000 [r183172] David Vossel * apps/app_dial.c, /, main/features.c, include/asterisk/features.h: Merged revisions 183126 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r183126 | dvossel | 2009-03-19 11:15:16 -0500 (Thu, 19 Mar 2009) | 17 lines Allow disconnect feature before a call is bridged feature.conf has a disconnect option. By default this option is set to '*', but it could be anything. If a user wishes to disconnect a call before the other side answers, only '*' will work, regardless if the disconnect option is set to something else. This is because features are unavailable until bridging takes place. The default disconnect option, '*', was hardcoded in app_dial, which doesn't make any sense from a user perspective since they may expect it to be something different. This patch allows features to be detected from outside of the bridge, but not operated on. In this case, the disconnect feature can be detected before briding and handled outside of features.c. (closes issue #11583) Reported by: sobomax Patches: patch-apps__app_dial.c uploaded by sobomax (license 359) 11583.latest-patch uploaded by murf (license 17) detect_disconnect.diff uploaded by dvossel (license 671) Tested by: sobomax, dvossel Review: http://reviewboard.digium.com/r/195/ ........ 2009-03-19 16:22 +0000 [r183124-183148] Russell Bryant * /, main/asterisk.exports: Merged revisions 183145 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r183145 | russell | 2009-03-19 11:21:56 -0500 (Thu, 19 Mar 2009) | 1 line Add missing semicolon in exports script. ........ * /, main/asterisk.exports: Merged revisions 183123 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r183123 | russell | 2009-03-19 11:13:18 -0500 (Thu, 19 Mar 2009) | 2 lines Allow the CallerID API to work again. ........ 2009-03-19 16:07 +0000 [r183117] Mark Michelson * /, channels/chan_sip.c: Merged revisions 183115 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r183115 | mmichelson | 2009-03-19 11:04:02 -0500 (Thu, 19 Mar 2009) | 14 lines Fix an issue where cancelled outgoing SIP calls would erroneously report the device as "in use." A user was having an issue where if an outgoing SIP call was canceled, the SIP device would remain in use if we had not received any response to the initial INVITE we sent out. The SIP device would remain in use until the autocongestion timer was exhausted. I tracked down the cause of this to be the section of code I am removing here. I asked several people what the purpose of this code was meant to be, but no one could give me any sort of answer as to why this was here. The person who was having this issue has been using this patch for several months and it has stopped the problems they have had. AST-196 ........ 2009-03-19 15:37 +0000 [r183057-183108] Joshua Colp * channels/chan_sip.c: Improve our triggering of a T38 switchover internally when triggered by a received reinvite. Previously we reached across the channel bridge to get the other party's SIP dialog structure in order to trigger an outgoing reinvite. This is extremely dangerous to do and only works if bridged to another SIP channel. This patch changes this to use the T38 control frame method of requesting a switchover. This change also causes the SIP channel driver to propogate back whether the switchover worked or not instead of blindly accepting the incoming T38 reinvite. Review: http://reviewboard.digium.com/r/200/ * main/channel.c: Fix an issue where a T38 control frame would get dropped. If two channels were bridged together using a generic bridge the T38 control frame would get passed up instead of being indicated on the other channel. 2009-03-18 21:28 +0000 [r183032] Kevin P. Fleming * res/res_ael_share.exports (added): allow this module to export everything for now 2009-03-18 21:18 +0000 [r183028] Jeff Peeler * channels/h323/ast_h323.cxx: Add some code removed by mistake from commit 182722 that works around a file descriptor leak in versions of PWLib prior to 1.12.0. 2009-03-18 19:41 +0000 [r182960] Tilghman Lesher * main/asterisk.exports: Fixing a lost symbol in manager.c 2009-03-18 11:40 +0000 [r182848-182883] Kevin P. Fleming * include/asterisk/callerid.h, channels/chan_dahdi.c, /, main/callerid.c: Merged revisions 182882 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r182882 | kpfleming | 2009-03-18 06:31:41 -0500 (Wed, 18 Mar 2009) | 3 lines fix another symbol namespace issue (reported by Andrew on asterisk-dev) ........ * res/res_phoneprov.c, res/res_config_ldap.c, res/res_curl.c, res/res_config_sqlite.c, res/res_jabber.exports, res/res_odbc.c, res/res_odbc.exports: a few more namespace updates... res_ael_share still needs some work before this can be merged to other release branches 2009-03-18 02:28 +0000 [r182847] Russell Bryant * apps/app_nbscat.c, /, main/Makefile, include/asterisk/autoconfig.h.in, configure.ac, main/utils.c, include/asterisk/io.h, include/asterisk/channel.h, main/poll.c, main/io.c, main/channel.c, channels/chan_skinny.c, configure, apps/app_mp3.c, res/res_agi.c, channels/chan_alsa.c, include/asterisk/poll-compat.h, main/asterisk.c: Merged revisions 182810 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r182810 | russell | 2009-03-17 21:09:13 -0500 (Tue, 17 Mar 2009) | 44 lines Fix cases where the internal poll() was not being used when it needed to be. We have seen a number of problems caused by poll() not working properly on Mac OSX. If you search around, you'll find a number of references to using select() instead of poll() to work around these issues. In Asterisk, we've had poll.c which implements poll() using select() internally. However, we were still getting reports of problems. vadim investigated a bit and realized that at least on his system, even though we were compiling in poll.o, the system poll() was still being used. So, the primary purpose of this patch is to ensure that we're using the internal poll() when we want it to be used. The changes are: 1) Remove logic for when internal poll should be used from the Makefile. Instead, put it in the configure script. The logic in the configure script is the same as it was in the Makefile. Ideally, we would have a functionality test for the problem, but that's not actually possible, since we would have to be able to run an application on the _target_ system to test poll() behavior. 2) Always include poll.o in the build, but it will be empty if AST_POLL_COMPAT is not defined. 3) Change uses of poll() throughout the source tree to ast_poll(). I feel that it is good practice to give the API call a new name when we are changing its behavior and not using the system version directly in all cases. So, normally, ast_poll() is just redefined to poll(). On systems where AST_POLL_COMPAT is defined, ast_poll() is redefined to ast_internal_poll(). 4) Change poll() in main/poll.c to be ast_internal_poll(). It's worth noting that any code that still uses poll() directly will work fine (if they worked fine before). So, for example, out of tree modules that are using poll() will not stop working or anything. However, for modules to work properly on Mac OSX, ast_poll() needs to be used. (closes issue #13404) Reported by: agalbraith Tested by: russell, vadim http://reviewboard.digium.com/r/198/ ........ 2009-03-18 02:21 +0000 [r182826] Kevin P. Fleming * res/res_config_pgsql.c, /, res/res_snmp.c, res/res_smdi.exports (added), main/Makefile, include/asterisk/astobj2.h, res/res_agi.exports (added), Makefile.rules, main/astobj2.c, main/asterisk.exports (added), res/res_odbc.exports (added), res/res_speech.exports (added), res/res_config_odbc.c, res/res_features.exports (added), build_tools/strip_nonapi (removed), res/res_adsi.exports (added), default.exports (added), makeopts.in, res/res_jabber.exports (added), res/res_monitor.exports (added): Merged revisions 182808 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r182808 | kpfleming | 2009-03-17 20:55:22 -0500 (Tue, 17 Mar 2009) | 5 lines Improve the build system to *properly* remove unnecessary symbols from the runtime global namespace. Along the way, change the prefixes on some internal-only API calls to use a common prefix. With these changes, for a module to export symbols into the global namespace, it must have *both* the AST_MODFLAG_GLOBAL_SYMBOLS flag and a linker script that allows the linker to leave the symbols exposed in the module's .so file (see res_odbc.exports for an example). ........ 2009-03-17 21:28 +0000 [r182762] Russell Bryant * funcs/func_channel.c, CHANGES: Add support for the "name" option in the CHANNEL() function. Review: http://reviewboard.digium.com/r/199/ 2009-03-17 20:47 +0000 [r182722] Jeff Peeler * channels/h323/compat_h323.cxx, channels/h323/ast_h323.cxx, configure, autoconf/ast_check_openh323.m4, channels/h323/compat_h323.h, channels/chan_h323.c, channels/h323/ast_h323.h, channels/h323/chan_h323.h: Allow H.323 Plus library to be used in addition to the OpenH323 library Chan_h323 can now be compiled against both the previously supported versions of OpenH323 as well as the current H.323 Plus (version 1.20.2). The configure script has been modified to look in the default install location of h323 to hopefully help avoid using the environment variables OPENH323DIR and PWLIBDIR. Also, the CLI command "h323 show version" has been added which indicates which version of h323 is in use. (closes issue #11261) Reported by: vhatz Patches: asterisk-1.6.0.6-h323plus.patch uploaded by jthurman (license 614) 2009-03-17 18:06 +0000 [r182596-182607] David Vossel * CHANGES: Fixing CHANGES in rev 182596. Progress DTMF was added into app_dial's D() option. In CHANGES it should have been updated under 1.6.3 rather than 1.6.2. * apps/app_dial.c, CHANGES: Option to send DTMF when receiving PROGRESS status The D() option in app_dial is only able to send DTMF after the call has been answered. A progress option has been added to D() to allow DTMF to be sent upon receiving PROGRESS. This allows DTMF to be sent before the call is answered. (closes issue #12123) Reported by: VoipForces Patches: app_dial.c_patch_trunk_valid uploaded by VoipForces (license 419) dtmf_progress.patch uploaded by dvossel (license 671) Tested by: VoipForces, dvossel 2009-03-17 15:22 +0000 [r182553] Russell Bryant * main/channel.c: Tweak the handling of the frame list inside of ast_answer(). This does not change any behavior, but moves the frames from the local frame list back to the channel read queue using an O(n) algorithm instead of O(n^2). 2009-03-17 14:59 +0000 [r182525-182530] Kevin P. Fleming * main/channel.c: correct logic flaw in ast_answer() changes in r182525 * main/channel.c, main/features.c, include/asterisk/channel.h: Improve behavior of ast_answer() to not lose incoming frames ast_answer(), when supplied a delay before returning to the caller, use ast_safe_sleep() to implement the delay. Unfortunately during this time any incoming frames are discarded, which is problematic for T.38 re-INVITES and other sorts of channel operations. When a delay is not passed to ast_answer(), it still delays for up to 500 milliseconds, waiting for media to arrive. Again, though, it discards any control frames, or non-voice media frames. This patch rectifies this situation, by storing all incoming frames during the delay period on a list, and then requeuing them onto the channel before returning to the caller. http://reviewboard.digium.com/r/196/ 2009-03-17 14:24 +0000 [r182521] Sean Bright * autoconf/ast_ext_lib.m4: Don't include a space before the optional extra text that may follow a help string. 2009-03-17 05:51 +0000 [r182450] Tilghman Lesher * /, main/db.c: Merged revisions 182449 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r182449 | tilghman | 2009-03-17 00:50:52 -0500 (Tue, 17 Mar 2009) | 7 lines Fix race in astdb The underlying db1 implementation does not fully isolate the pages retrieved from astdb, so the lock protecting accesses needs to be extended until the copy from the shared memory structure is done. (closes issue #14682) Reported by: makoto ........ 2009-03-17 01:54 +0000 [r182408] Richard Mudgett * channels/chan_dahdi.c: OPENR2 uses an incorrect string value if the extension delimiter is not present. * Fixed OPENR2 using an incorrect string value if the extension delimiter is not present in the Dial() function. This was fixed for SS7 and PRI in trunk -r172400. * Made OPENR2 stripmsd behavior the same as the SS7, PRI, and others. * Removed trailing whitespace that appeared with OPENR2. 2009-03-16 20:53 +0000 [r182362] Russell Bryant * UPGRADE.txt, CHANGES: Update UPGRADE.txt and CHANGES for 1.6.3