2013-01-02 Asterisk Development Team * Asterisk 1.8.19.1 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-12-10 Asterisk Development Team * Asterisk 1.8.19.0 Released. 2012-12-06 Asterisk Development Team * Asterisk 1.8.19.0-rc3 Released. * chan_local: Fix local_pvt ref leak in local_devicestate(). Regression introduced by ASTERISK-20390 fix. (closes issue ASTERISK-20769) Reported by: rmudgett 2012-12-05 Asterisk Development Team * Asterisk 1.8.19.0-rc2 Released. * Fix a SIP request memory leak with TLS connections. During the TLS re-work in chan_sip some TLS specific code was moved into a separate function. This function operates on a copy of the incoming SIP request. This copy was never deinitialized causing a memory leak for each request processed. This function is now given a SIP request structure which it can use to copy the incoming request into. This reduces the amount of memory allocations done since the internal allocated components are reused between packets and also ensures the SIP request structure is deinitialized when the TLS connection is torn down. (closes issue ASTERISK-20763) Reported by: deti 2012-11-06 Asterisk Development Team * Asterisk 1.8.19.0-rc1 Released. 2012-11-05 22:50 +0000 [r375893] Matthew Jordan * bridges/bridge_softmix.c, include/asterisk/timing.h, res/res_musiconhold.c, channels/chan_iax2.c, res/res_fax_spandsp.c, res/res_timing_kqueue.c, main/timing.c, main/channel.c, res/res_timing_pthread.c, res/res_timing_dahdi.c, res/res_timing_timerfd.c: Refactor ast_timer_ack to return an error and handle the error in timer users Currently, if an acknowledgement of a timer fails Asterisk will not realize that a serious error occurred and will continue attempting to use the timer's file descriptor. This can lead to situations where errors stream to the CLI/log file. This consumes significant resources, masks the actual problem that occurred (whatever caused the timer to fail in the first place), and can leave channels in odd states. This patch propagates the errors in the timing resource modules up through the timer core, and makes users of these timers handle acknowledgement failures. It also adds some defensive coding around the use of timers to prevent using bad file descriptors in off nominal code paths. Note that the patch created by the issue reporter was modified slightly for this commit and backported to 1.8, as it was originally written for Asterisk 10. (issue ASTERISK-20032) Reported by: Jeremiah Gowdy patches: jgowdy-timerfd-6-22-2012.diff uploaded by Jeremiah Gowdy (license 6358) 2012-11-05 21:36 +0000 [r375862] Richard Mudgett * main/loader.c: Add safety NULL pointer check in module user references. Made __ast_module_user_remove() check for NULL pointers. ........ Merged revision 375860 from C.3 2012-11-04 03:06 +0000 [r375727-375800] Matthew Jordan * main/manager.c: Don't attempt to purge sessions when no sessions exist Manager's tcp/tls objects have a periodic function that purge old manager sessions periodically. During shutdown, the underlying container holding those sessions can be disposed of and set to NULL before the tcp/tls periodic function is stopped. If the periodic function fires, it will attempt to iterate over a NULL container. This patch checks for whether or not the sessions container exists before attempting to purge sessions out of it. If the sessions container is NULL, we simply return. Note that this error was also caught by the Asterisk Test Suite. * main/manager.c: Properly clean up manager resources on exit This patch does two things: 1) It properly unregisters the manager CLI commands 2) It cleans up AMI users on exit. Prior to this patch, the AMI users were not being disposed of properly, resulting in a memory leak. (closes issue ASTERISK-20646) Reported by: Corey Farrell patches: manager_shutdown.patch uploaded by Corey Farrell (license 5909) * main/xmldoc.c: Fix memory leak when unloading XML documentation This patch is a modified version of a patch originally committed for the Asterisk 11 branch in r375756. A portion of that patch, that fixed the memory leak during unloading XML documentation, applies to branches 1.8 and 10 as well. The patch for this issue was modified for these two branches. (issue ASTERISK-20648) Reported by: Corey Farrell Tested by: mjordan patches: xmldoc-memory_leak.patch uploaded by Corey Farrell (license 5909) * main/cdr.c: Prevent multiple CDR batches from conflicting when scheduling the CDR write The Asterisk Test Suite caught an error condition where a scheduled CDR batch write can be deleted twice if two channels attempt to post their CDRs at the same time. The batch CDR mutex is locked while the CDRs are appended to the current batch list; however, it is unlocked prior to actually scheduling the CDR write. As such, two threads can attempt to remove the currently scheduled batch write at the same time, resulting in an assertion error. This patch extends the time that the mutex is locked to encompass actually scheduling the write. This prevents two threads from unscheduling the currently scheduled write at the same time. 2012-11-03 03:11 +0000 [r375698] Andrew Latham * README, include/asterisk/doxyref.h: Doxygen Updates Replace links to missing text files removed in the 1.6.x series with links to the wiki. Doxygen can handle URLs fine, don't atempt to quote them. Also update the wiki link in the Readme to get everyone on the same page. (issue ASTERISK-20259) 2012-11-02 20:48 +0000 [r375625-375658] Richard Mudgett * main/channel.c, channels/chan_misdn.c, main/ccss.c: Things don't need to be that const. * 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 2012-11-02 16:58 +0000 [r375594] Michael L. Young * channels/chan_sip.c: Fix Wrong Result In Debug Message For SDP Origin Processing While looking at some debug logs, I noticed that it was being reported that the SDP origin line was unsupported or failed. Upon looking into this on my local machine, I found that I too was getting this debug message yet everything seemed to be getting processed properly. What was discovered is, that, the variable to determine what is displayed in the debug message for the SDP line that was processed, was not being set for the origin line when the result was successful. This patch fixes this and was tested on local machine. 2012-10-31 14:23 +0000 [r375528] Matthew Jordan * res/res_calendar_ews.c: Properly extract the Body information of an EWS calendar item Unlike all other calendar modules, res_calendar_ews fails to extract the Body information for a calendar item. This is due, in part, to a quirk in the schema in the XML - not only does a CalendarItem contain a Body element, but the CalendarItem exists as a descendant of a different Body element. The neon parser was erroneously skipping all Body elements. This patch fixes that by bypassing Body elements that are not a child of CalendarItem, and parsing the Body element out if it is a child. Note that the original patch by Terry Wilson only needed slight modifications to make it properly pull the Body information out; as such, while I've linked to the patch that I uploaded for Dmitry, I've attributed the patch to Terry. (closes issue ASTERISK-19738) Reported by: Dmitry Burilov Tested by: Dmitry Burilov patches: calendar_ews_body_2012_10_29.diff uploaded by Terry Wilson (license 6283) 2012-10-30 18:48 +0000 [r375484] Jonathan Rose * apps/app_mixmonitor.c: mixmonitor: Add a test event This test event is being used to fix the mixmonitor_audiohook_inherit test. 2012-10-30 02:07 +0000 [r375450] Matthew Jordan * apps/app_queue.c: Ensure that the Queue application tracks busy members in off nominal situations There are a few code paths where the Queue application fails to count a paused or in use queue member as being 'busy'. This can cause callers to get stuck in the Queue until a paused agent unpauses themselves. (closes issue ASTERISK-20623) Reported by: Bryan Walters patches: app_queue.patch uploaded by Bryan Walters (license 5851) 2012-10-29 21:01 +0000 [r375415] Mark Michelson * channels/chan_sip.c: Prevent resetting of NATted realtime peer address on reload. If a "sip reload" is issued for a SIP peer, then his IP address will be cleared, thus resulting in forgetting the public IP address. Asterisk will then attempt to route SIP traffic to the private IP address. The fix here is to make "sip reload" ignore realtime peers when "host = dynamic" is spotted. Realtime peers can now only have their IP address reset if they have gone from being not dynamic to being dynamic. (closes issue ASTERISK-18203) reported by daren ferreira (closes issue ASTERISK-20572) reported by JoshE Patches: fix_nat_realtime.diff uploaded by JoshE (license #6075) 2012-10-29 19:26 +0000 [r375361-375388] Richard Mudgett * main/features.c: Fix the Park 'r' option when a channel parks itself. When a channel uses the Park appliation to park itself with the 'r' option, the channel hears music-on-hold instead of the requested ringing. * Added a missing check for the 'r' option when a channel parks itself. (closes issue ASTERISK-19382) Reported by: James Stocks Patches by: dsessions Review: https://reviewboard.asterisk.org/r/2148/ * 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 2012-10-23 16:20 +0000 [r375272-375325] Jonathan Rose * contrib/scripts/ast_tls_cert: ast_tls_cert script: Better response for various exit conditions to openssl (closes issue ASTERISK-20260) Reported by: Daniel O'Connor Patches: ast_tls_cert-update.diff uploaded by Daniel O'Connor (license 6419) * 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) * codecs/gsm/src/code.c: GSM: Fix encoding problems with GSM (closes issue ASTERISK-20457) Reported by: Richard Miller Patches: code.patch uploaded by Richard Miller (license 5685) 2012-10-18 21:36 +0000 [r375216-375244] Jonathan Rose * UPGRADE.txt: Correct version number in Upgrade.txt release notes pertaining to queue order Showed 1.8.17 to 1.8.18, needs to be 1.8.18 to 1.8.19 * UPGRADE.txt: 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 * apps/app_queue.c: app_queue: Make ordering of rrmemory/rrordered persist over add/remove members Prior to this patch, adding, removing or reloading members to rrmemory would cause the order to become completely jumbled. Now it behaves more or less like rrordered other than the fact that it stores the members on a hash table rather than a linked list. This patch also prevents removal of members and member reloads from jumbling rrordered queues. (issue AST-989) Reported by: Thomas Arimont Review: https://reviewboard.asterisk.org/r/2164/ 2012-10-18 19:42 +0000 [r375189] Richard Mudgett * makeopts.in, Makefile, build_tools/make_version, configure, configure.ac: build_tools: Allow Asterisk to report git SHAs in version string. Make git more attractive for managing work-in-progress. Especially convenient when a potential patch set needs to be tested on multiple platforms since one can use git to keep all the test environments in sync independent of a subversion server. Now the Asterisk version will show the exact git SHA5 that was used when building (still appended by "M" if there are local modifications) from a git clone of the Asterisk repository so the developer can more easily know what is actually under test. You will now get this: $ asterisk -V Asterisk GIT-1698298 Instead of this: $ asterisk -V Asterisk UNKNOWN__and_probably_unsupported This has zero impact for those not using git with the exception of an extra test in the configure script to gather git's path. This is necessary to prevent "sudo make install" from failing since git may not be in the path in make's shell environment. (closes issue ASTERISK-20483) Reported by: Shaun Ruffell Patches: 0001-build_tools-Allow-Asterisk-to-report-git-SHAs-in-ver.patch (license #5417) patch uploaded by Shaun Ruffell Modified 2012-10-17 18:55 +0000 [r375146] Kinsey Moore * main/tcptls.c: Ensure Asterisk fails TCP/TLS SIP calls when certificate checking fails When placing a call to a TCP/TLS SIP endpoint whose certificate is not signed by a configured CA certificate, Asterisk would issue a warning and continue to process the call as if there was not an issue with the certificate. Asterisk now properly fails the call if the certificate fails verification or if the certificate does not exist when certificate checking is enabled (the default behavior). (closes issue ASTERISK-20559) Reported by: kmoore Review: https://reviewboard.asterisk.org/r/2163/ 2012-10-16 21:41 +0000 [r375074-375111] Walter Doekes * channels/chan_sip.c: Fixes to the fd-oriented SIP TCP reads. Don't crash on large user input. Allow SIP headers without space. Optimize code a bit. Review: https://reviewboard.asterisk.org/r/2162 * channels/chan_sip.c: Update sip_request_call SIP dial string documentation. This was missed when merging review r1859. 2012-10-16 19:13 +0000 [r375059] Tzafrir Cohen * contrib/scripts/autosupport: autosupport: fix bashism '==' is bashism (bashspecific, fails when dash is /bin/sh). Anyway, a 'case' works better there. (closes issue ASTERISK-20567) Reported by: Tzafrir Cohen 2012-10-15 21:00 +0000 [r375025] Mark Michelson * include/asterisk/strings.h, channels/chan_iax2.c, apps/app_dial.c, main/ccss.c: Fix some potential misuses of ast_str in the code. Passing an ast_str pointer by value that then calls ast_str_set(), ast_str_set_va(), ast_str_append(), or ast_str_append_va() can result in the pointer originally passed by value being invalidated if the ast_str had to be reallocated. This fixes places in the code that do this. Only the example in ccss.c could result in pointer invalidation though since the other cases use a stack-allocated ast_str and cannot be reallocated. I've also updated the doxygen in strings.h to include notes about potential misuse of the functions mentioned previously. Review: https://reviewboard.asterisk.org/r/2161 2012-10-14 08:59 +0000 [r374977] Tzafrir Cohen * config.guess, config.sub: Update config.guess and config.sub: 2012-10-10 Update config.guess and config.sub to revision fb456b34ef4aa02b95dc6be69aaa66fa94a844fb from the savannah.gnu.org git repo. Adds support for e.g. aarch64 (ARM 64bit). config.guess:timestamp='2012-09-25' config.sub:timestamp='2012-10-10' 2012-10-12 15:57 +0000 [r374905] Mark Michelson * include/asterisk/tcptls.h, main/tcptls.c, channels/chan_sip.c: Do not use a FILE handle when doing SIP TCP reads. This is used to solve an issue where a poll on a file descriptor does not necessarily correspond to the readiness of a FILE handle to be read. This change makes it so that for TCP connections, we do a recv() on the file descriptor instead. Because TCP does not guarantee that an entire message or even just one single message will arrive during a read, a loop has been introduced to ensure that we only attempt to handle a single message at a time. The tcptls_session_instance structure has also had an overflow buffer added to it so that if more than one TCP message arrives in one go, there is a place to throw the excess. Huge thanks goes out to Walter Doekes for doing extensive review on this change and finding edge cases where code could fail. (closes issue ASTERISK-20212) reported by Phil Ciccone Review: https://reviewboard.asterisk.org/r/2123 2012-10-11 15:42 +0000 [r374843] 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 2012-10-10 20:52 +0000 [r374686-374802] 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 * main/pbx.c: Fix execution of 'i' extension due to uninitialized variable. The fix for ASTERISK-18243 added code that could potentially use dst_exten[] uninitialized. As a result the 'i' exten may not be executed when it should. (closes issue ASTERISK-20455) Reported by: Richard Miller Patches: pbx-1.8.16.0.diff (license #5685) patch uploaded by Richard Miller Made some cosmetic modifications. * configs/chan_dahdi.conf.sample: dahdi.conf.sample: Add description for "buffers" setting. This contains an edited version of the patch originally created by John Bigelow. (closes issue ASTERISK-14435) Reported by: John Bigelow Patches: buffers.patch (license #5091) patch uploaded by John Bigelow 0001-dahdi.conf.sample-Add-description-for-buffers-settin.patch (license #5417) patch uploaded by Shaun Ruffell Modified * pbx/pbx_spool.c: Fix deletion of unopenable spool files. If scan_service() cannot open the spool file, it logs a message saying that it will delete the file and calls remove_from_queue() to do it. However, remove_from_queue() fails to delete the spool file because struct outgoing has not yet been fully initialized. * Merged allocating a new struct outgoing and init_outgoing() into new_outgoing(). Allocation is initialization. * Made apply_outgoing() not initialize the spool filename in struct outgoing. * Made apply_outgoing() call ast_trim_blanks() and ast_skip_blanks() rather than manually inlining them. * Reduced indentation levels in apply_outgoing(). * Fixed a garbled comment in remove_from_queue(). * Reworked scan_service() to simplify it. (closes issue ASTERISK-17231) Reported by: David Chappell Patches: spool_open_failure.diff (license #4997) patch uploaded by David Chappell Started with this patch. 2012-11-06 Asterisk Development Team * Asterisk 1.8.18.0 Released. 2012-10-08 Asterisk Development Team * Asterisk 1.8.18.0-rc1 Released. 2012-10-05 20:20 +0000 [r374570-374581] dlee : * main/manager.c: I've committed too much. Reverting part of r374570. * 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 18:20 +0000 [r374536] Richard Mudgett * channels/misdn/isdn_msg_parser.c, channels/misdn/isdn_lib.c, channels/misdn/isdn_lib.h, channels/chan_misdn.c: Merged revisions 374515-374535 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier ................ r374515 | rmudgett | 2012-10-04 17:52:36 -0500 (Thu, 04 Oct 2012) | 10 lines chan_misdn: Remove some deadcode * Made setup_bc() static. Patches: patch1_unused-code.diff (license #6372) patch uploaded by Guenther Kelleter Modified JIRA ABE-2882 ................ r374516 | rmudgett | 2012-10-04 18:01:01 -0500 (Thu, 04 Oct 2012) | 7 lines chan_misdn: Remove unused bchan states Patches: patch2_unused-states.diff (license #6372) patch uploaded by Guenther Kelleter JIRA ABE-2882 ................ r374517 | rmudgett | 2012-10-04 18:17:51 -0500 (Thu, 04 Oct 2012) | 16 lines chan_misdn: Remove unnecessary null pointer checks and checks for stack->nt * cleanup_bc() is always called with valid bc (or it would've crashed before). * Value of stack->nt is known in advance at some places. * Rename handle_event() to handle_event_te(), handle_frm() to handle_frm_te(). Patches: patch3_checks.diff (license #6372) patch uploaded by Guenther Kelleter Modified JIRA ABE-2882 ................ r374518 | rmudgett | 2012-10-04 18:21:59 -0500 (Thu, 04 Oct 2012) | 7 lines chan_misdn: Fix spelling in log messages Patches: patch4_spelling.diff (license #6372) patch uploaded by Guenther Kelleter JIRA ABE-2882 ................ r374519 | rmudgett | 2012-10-04 18:31:59 -0500 (Thu, 04 Oct 2012) | 15 lines chan_misdn: Don't cleanup a bc twice. In handle_frm_te() after calling misdn_lib_send_event(bc, EVENT_RELEASE_COMPLETE) bc is emptied, cleaned and set not in use, although misdn_lib_send_event() already did the same. This is bad. When it's not in use we are not allowed to touch it. * Moved log message in front of the resulting actions and fixed it to match the case. Patches: patch5_bccleanup.diff (license #6372) patch uploaded by Guenther Kelleter JIRA ABE-2882 ................ r374520 | rmudgett | 2012-10-04 18:43:56 -0500 (Thu, 04 Oct 2012) | 12 lines chan_misdn: Fix memory leaks, bc, chan not cleaned up etc., really bad stuff. * Fix return codes of cb_events() for EVENT_SETUP to use caller's cleanup mechanisms. * Move cl_queue_chan() call after bearer check. Patches: patch6_leaks.diff (license #6372) patch uploaded by Guenther Kelleter JIRA ABE-2882 ................ r374521 | rmudgett | 2012-10-04 18:48:38 -0500 (Thu, 04 Oct 2012) | 11 lines chan_misdn: We must initialize cause on sending a DISCONNECT. We must initialize cause on sending a DISCONNECT, so it is later correctly indicated to ast_channel in case the answer (RELEASE/RELEASE_COMPLETE) does not include one. Patches: patch7_hangupcause.diff (license #6372) patch uploaded by Guenther Kelleter JIRA ABE-2882 ................ r374522 | rmudgett | 2012-10-04 19:03:56 -0500 (Thu, 04 Oct 2012) | 7 lines chan_misdn: Remove unused code for upqueue Patches: patch8_unused-upqueue.diff (license #6372) patch uploaded by Guenther Kelleter JIRA ABE-2882 ................ r374523 | rmudgett | 2012-10-04 19:11:50 -0500 (Thu, 04 Oct 2012) | 7 lines chan_misdn: Improve debugging (port number, messages fixed, dups removed) Patches: patch9_debug.diff (license #6372) patch uploaded by Guenther Kelleter JIRA ABE-2882 ................ r374533 | rmudgett | 2012-10-05 12:17:18 -0500 (Fri, 05 Oct 2012) | 8 lines chan_misdn: Better debug: we can print_bc_info even if there's no ast leg. Patches: patch10_debug-bc-2.diff (license #6372) patch uploaded by Guenther Kelleter Modified. JIRA ABE-2882 ................ r374534 | rmudgett | 2012-10-05 12:34:10 -0500 (Fri, 05 Oct 2012) | 16 lines chan_misdn: setup_bc() is called too early for an incoming SETUP on TE. This prevents the B channel from being setup for HDLC mode when requested by the bearer capability and config option hdlc=yes. It violates ETS300102 Ch.5.2.3.2: "The user, in any case, must not connect to the channel until a CONNECT ACKNOWLEDGE message has been received." * Call setup_bc() on receipt of CONNECT_ACKNOWLEGDE for PTMP, and on first response to SETUP for PTP. Patches: abe-2881-2.diff (license #6372) patch uploaded by Guenther Kelleter Modified. JIRA ABE-2881 ................ r374535 | rmudgett | 2012-10-05 12:41:05 -0500 (Fri, 05 Oct 2012) | 2 lines chan_misdn: Remove some more deadcode. ................ 2012-10-04 20:15 +0000 [r374475-374479] Alec L Davis * CHANGES, main/dsp.c, configs/dsp.conf.sample: dsp.c User Configurable DTMF_HITS_TO_BEGIN and DTMF_MISSES_TO_END Instead of a recompile, allow values to be adjusted in dsp.conf For binary distributions allows easy adjustment for wobbly GSM calls, and other reasons. Defaults to DTMF_HITS_TO_BEGIN=2 and DTMF_MISSES_TO_END=3 (closes issue ASTERISK-17493) Tested by: alecdavis alecdavis (license 585) Review https://reviewboard.asterisk.org/r/2144/ * main/dsp.c: dsp.c fix incorrect DTMF Digit_Duration. it's always short by 'hits_to_begin*DTMF_GSIZE', or 25.5ms if hitstobegin=2 (issue ASTERISK-16003) Tested by: alecdavis alecdavis (license 585) Review https://reviewboard.asterisk.org/r/2145/ 2012-10-04 17:39 +0000 [r374456] Joshua Colp * channels/chan_sip.c: 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/ 2012-10-04 15:25 +0000 [r374426] dlee : * main/db.c, res/res_agi.c: Fix DBDelTree error codes for AMI, CLI and AGI The AMI DBDelTree command will return Success/Key tree deleted successfully even if the given key does not exist. The CLI command 'database deltree' had a similar problem, but was saved because it actually responded with '0 database entries removed'. AGI had a slightly different error, where it would return success if the database was unavailable. This came from confusion about the ast_db_deltree retval, which is -1 in the event of a database error, or number of entries deleted (including 0 for deleting nothing). * 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-10-04 04:39 +0000 [r374365-374384] Alec L Davis * CHANGES, main/dsp.c, configs/dsp.conf.sample: dsp.c User configuration of DTMF_NORMAL_TWIST and DTMF_REVERSE_TWIST values Asterisk's DTMF Specifications are based on AT&T specs, which may not be compatible in other countries. Various countries have different specifications for the maximum power level differences between the DTMF low group and high group of frequencies. Power level difference between frequencies for different Administrations/RPOAs NTT = Max. 5 dB AT&T = 4dB(reverse) to 8dB(normal) Danish = Max. 6 dB Australian = Max. 10 dB Brazilian = Max. 9 dB ETSI = Max. 6 dB from ETSI ES 201 235-3 V1.3.1 (2006-03) Now allow 4 variables to be individually configured in dsp.conf, with reasonable min/max of 2dB to 20dB. Default is AT&T specifications Add's the following variables to dsp.conf ;dtmf_normal_twist=6.31 ;dtmf_reverse_twist=2.51 ;relax_dtmf_normal_twist=6.31 ;relax_dtmf_reverse_twist=3.98 (closes issue ASTERISK-20442) Reported by: tbsky Tested by: tbsky,alecdavis alecdavis (license 585) Review https://reviewboard.asterisk.org/r/2141/ * main/dsp.c: _dsp_init: bring inline with trunk preparation for clean merge of DTMF TWIST patch No functional changes, just style. alecdavis (license 585) Reported by: Alec Davis Tested by: alecdavis related https://reviewboard.asterisk.org/r/2141 2012-10-04 02:09 +0000 [r374177-374335] Matthew Jordan * res/res_jabber.c: Check for presence of buddy in info/dinfo handlers The res_jabber resource module uses the ASTOBJ library for managing its ref counted objects. After calling ASTOBJ_CONTAINER_FIND to locate a buddy object, the pointer to the object has to be checked to see if the buddy existed. Prior to this patch, the buddy object was not checked for NULL; with this patch in both aji_client_info_handler and aji_dinfo_handler the pointer is checked before used and, if no buddy object was found, the handlers return an error code. This patch does not take the approach that our JID can be used to log in from another resource. If that approach is desired, an improvement could be made to this patch to create the buddy on the fly. This patch seeks only to prevent Asterisk from crashing. Note that multiple people have proposed patches for this issue; the patch being committed here is based on those. (closes issue ASTERISK-19532) Reported by: Karsten Wemheuer Tested by: Byron Clark patches: fix-jabber uploaded by Karsten Wemheuer (license #5930) xmpp_no_crash_with_ejabberd.patch uploaded by Byron Clark (license #6157) (closes issue ASTERISK-19557) Reported by: ulugutz * main/ccss.c: Destroy the generic_monitors container after the core_instances in ccss For each item in core_instances disposed of in the shutdown of ccss, any generic monitor instances referenced by the objects will be removed from generic_monitors during their destruction. Hilarity ensues if generic_monitors no longer exists. Thanks to the Asterisk Test Suite's generic_ccss test for complaining loudly when it ran into this. * main/asterisk.c: Ensure Shutdown AMI event is still fired during Asterisk shutdown Richard pointed out that having the manager dispose of itself gracefully during shutdown meant that the Shutdown event will no longer get fired. This patch moves the AMI event just prior to running the atexit callbacks. * main/event.c, main/taskprocessor.c, res/res_musiconhold.c, main/cel.c, main/indications.c, main/channel.c, main/data.c, main/pbx.c, main/manager.c, main/ccss.c, main/features.c: Fix a variety of ref counting issues This patch resolves a number of ref leaks that occur primarily on Asterisk shutdown. It adds a variety of shutdown routines to core portions of Asterisk such that they can reclaim resources allocate duringd initialization. Review: https://reviewboard.asterisk.org/r/2137 2012-10-01 16:45 +0000 [r374108] Sean Bright * tests/test_db.c, apps/app_queue.c, main/db.c, include/asterisk/astdb.h: app_queue: Support persisting and loading of long member lists. Greenlight in #asterisk brought up that he was receiving an error message "Could not create persistent member string, out of space" when running app_queue in Asterisk 10. dump_queue_members() made an assumption that 8K would be enough to store the generated string, but with queues that have large member lists this is not always the case. This patch removes the limitation and uses ast_str instead of a fixed sized buffer. The complicating factor comes from the fact that ast_db_get requires a buffer and buffer size argument, which doesn't let us pull back more than what we pass in, so I introduced a new ast_db_get_allocated() which returns an ast_strdup()'d copy of the value from astdb. As an aside, I did some testing on the maximum size of data that we can store in the BDB library we distribute and was able to store a 10MB string and retrieve it with no problems, so I feel this is a safe patch. Review: https://reviewboard.asterisk.org/r/2136/ 2012-09-28 19:03 +0000 [r374032] Jonathan Rose * res/res_jabber.c: res_jabber: Remove CLI command 'jabber test' The opinion of development was that it is both improper to have Matt's personal email address used in the source and that the command wouldn't be useful without it. (closes issue AST-467) Reported by: Malcolm Davenport 2012-09-28 12:14 +0000 [r373989] Joshua Colp * res/res_agi.c: Update documentation to make it explicit that "stream file" will not restart musiconhold. (issue ASTERISK-17367) Reported by: oej 2012-09-27 22:08 +0000 [r373945] Richard Mudgett * apps/app_senddtmf.c: Fix SendDTMF crash and channel reference leak using channel name parameter. The SendDTMF channel name parameter has two issues. 1) Crashes if the channel name does not exist. 2) Leaks a channel reference if the channel is the current channel. Problem introduced by ASTERISK-15956. * Updated SendDTMF documentation. * Renamed app to senddtmf_name and tweaked the type. 2012-09-27 16:49 +0000 [r373878-373909] Joshua Colp * main/loader.c: loader: Ensure dependent modules are properly initialized. If an Asterisk module specifies a dependency in ast_module_info.nonoptreq, it is possible for Asterisk to skip calling the modules's .load function. Asterisk was loading and linking the module via load_dynamic_module() but was not adding the module to the resource_heap. Therefore the module was not initialized based on it's priority along with the other modules in the heap. Now use load_resource() instead of load_dynamic_module() for non-optional requirement. This will add the module to the resource_heap so the module can be properly initialized in the correct order. This is required if there are any module global data structures initialized in the .load() callback for the module on platforms which do not support weak references. (issue ASTERISK-20439) Reported by: sruffell Patches: 0001-loader-Ensure-dependent-modules-are-properly-initial.patch uploaded by sruffell (license 5417) * channels/chan_local.c: Fix an issue where Local channels dialed by app_queue are considered in use immediately. The chan_local channel driver returns a device state of in use even if a created Local channel has not yet been dialed. This fix changes the logic to return a state of not in use until the channel itself has been dialed. (closes issue ASTERISK-20390) Reported by: tim_ringenbach Review: https://reviewboard.asterisk.org/r/2116/ 2012-09-26 21:11 +0000 [r373848] Mark Michelson * channels/chan_sip.c: Move handling of 408 response so there is no misleading warning message. (closes issue ASTERISK-20060) Reported by: Walter Doekes 2012-09-26 18:04 +0000 [r373815] Richard Mudgett * apps/app_meetme.c: Fixed meetme tab completion and command documentation. * Removed unnecessary case sensitivity in meetme list, lock, unlock, mute, unmute, and kick commands. * Separated meetme lock/unlock, mute/unmute, and kick commands into their own registered commands to simplify tab completion and parameter checking. meetme_lock_cmd(), meetme_mute_cmd(), and meetme_kick_cmd() * Simplified meetme_show_cmd() (closes issue AST-1006) Reported by: John Bigelow Tested by: rmudgett 2012-09-25 23:07 +0000 [r373735-373773] Mark Michelson * main/say.c: Fix saying of date in Dutch. The Dutch say the date before the month. (closes issue ASTERISK-20353) Reported by: Teun Ouwehand * configs/agents.conf.sample, channels/chan_agent.c: Remove dead code and documentation for nonexistent feature. multiplelogin was removed from chan_agent back in 1.6.0 when AgentCallbackLogin() was removed. (closes issue AST-948) reported by Steve Pitts * apps/app_voicemail.c: Fix error where improper IMAP greetings would be deleted. (closes issue ASTERISK-20435) Reported by: fhackenberger Patches: asterisk-20435-imap-del-greeting.diff uploaded by Michael L. Young (License #5026) (with suggested modification made by me) 2012-09-25 20:10 +0000 [r373705] Joshua Colp * channels/chan_local.c: Fix T.38 support when used with chan_local in between. Users of the T.38 API can indicate AST_T38_REQUEST_PARMS on a channel to request that the channel indicate a T.38 negotiation with the parameters present on the channel. The return value of this indication is expected to be AST_T38_REQUEST_PARMS upon success but with chan_local involved this could never occur. This fix changes chan_local to always return AST_T38_REQUEST_PARMS for this situation. If the underlying channel technology on the other side does not support T.38 this would have been determined ahead of time using ast_channel_get_t38_state and an indication would not occur. (closes issue ASTERISK-20229) Reported by: wdoekes Patches: ASTERISK-20229.patch uploaded by wdoekes (license 5674) Review: https://reviewboard.asterisk.org/r/2070/ 2012-09-25 19:32 +0000 [r373666-373702] Kinsey Moore * res/res_rtp_asterisk.c: Fix an issue where media would not flow for situations where the legacy STUN code is in use. The STUN packets should *not* be blocked by strict RTP. (closes issue ASTERISK-20415) Reported-by: Michele Cicciotti Patch-by: Josh Colp (trunk r369817) * apps/app_queue.c: "show" completion option for "queue" shouldn't appear twice When tab-completing CLI commands starting with "queue", "show" appeared twice in the list due to the way that Asterisk's tab completion functions and the order in which the commands were registered. The registration order has been altered to resolve this issue. (closes issue AST-940) Reported-by: Steve Pitts 2012-09-25 17:21 +0000 [r373652] Terry Wilson * configs/sip.conf.sample, channels/sip/include/sip.h, channels/chan_sip.c: Properly handle UAC/UAS roles for SIP session timers The SIP session timer mechanism contains a mandatory 'refresher' parameter (included in the Session-Expires header) which is used in the session timer offer/answer signaling within a SIP Invite dialog. It looks like asterisk is interpreting the uac resp. uas role only as the initial role of client and server (caller is uac, callee is uas). The standard rfc 4028 however assigns the client role to the ((RE)-Invite) requester, the server role to the ((RE)-Invite) responder. This patch has Asterisk track the actual refresher as "us" or "them" as opposed to relying on just the configured "uas" or "uac" properties. (closes issue AST-922) Reported by: Thomas Airmont Review: https://reviewboard.asterisk.org/r/2118/ 2012-09-25 17:18 +0000 [r373618-373640] Richard Mudgett * codecs/ilbc/iLBC_decode.c, codecs/ilbc/iLBC_encode.c: Fix valgrind found memcpy issues in codec_ilbc. Valgrind found codec_ilbc using memcpy instead of memmove for overlapping memory blocks. (issue ASTERISK-19890) (closes issue ASTERISK-20231) Reported by: Walter Doekes Patches: ASTERISK-20231.patch (license #5674) patch uploaded by Walter Doekes * codecs/Makefile: Make rebuild GSM, ilbc, or lpc10 codecs if the respective sources change. 2012-09-25 16:15 +0000 [r373617] Jonathan Rose * channels/chan_sip.c: chan_sip: Set Quality of Service for video rtp instance (closes issue ASTERISK-20201) Reported by: ddkprog Patches: chan_sip.c.diff uploaded by ddkprog (license 6008) 2012-09-25 13:27 +0000 [r373578] Kinsey Moore * configs/res_odbc.conf.sample: Fix documentation for default username in res_odbc This was previously stated to be "root", but is actually the name of the context if unspecified. (closes issue ASTERISK-20258) Reported by: Stefan x 2012-09-25 11:58 +0000 [r373532-373550] Joshua Colp * res/res_rtp_multicast.c: Fix an issue where a caller to ast_write on a MulticastRTP channel would determine it failed when in reality it did not. When sending RTP packets via multicast the amount of data sent is stored in a variable and returned from the write function. This is incorrect as any non-zero value returned is considered a failure while a return value of 0 is success. For callers (such as ast_streamfile) that checked the return value they would have considered it a failure when in reality nothing went wrong and it was actually a success. The write function for the multicast RTP engine now returns -1 on failure and 0 on success, as it should. (closes issue ASTERISK-17254) Reported by: wybecom * channels/chan_sip.c: 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 2012-09-24 22:15 +0000 [r373504] Matthew Jordan * res/res_rtp_asterisk.c: Revert change to res_rtp_asterisk committed in r373236 (1.8) The change committed in r373236 attempted to account for endpoints that increased their RTP timestamp in DTMF end of event re-transmissions. This change attempted to make Asterisk continue to work with endpoints that failed to follow the RFC while maintaining the fix that allowed for out of order DTMF to be handled. Unfortunately, there is no free lunch, and this patch broke any system that sent DTMF immediately after an RTP session was established or when an SSRC is updated. As such, that patch is being reverted for the previous behavior. Endpoints that erroneously increase the RTP timestamp in DTMF end of event packets will not work properly with Asterisk. (issue ASTERISK-20424) 2012-09-24 22:09 +0000 [r373500] Richard Mudgett * channels/chan_sip.c: Be consistent, send From: "Anonymous" When setting CALLERID(pres)=unavailable in the dialplan, the From header in the SIP message contains "Anonymous" . For consistency, Asterisk should use a lowercase a in the userpart of the URI. * Make the From header use a lowercase A in the userpart of the anonymous URI. (closes issue ASTERISK-19838) Reported by: Antti Yrjola Patches: chan_sip_patch_ASTERISK-19838.patch (license #6383) patch uploaded by Antti Yrjola 2012-09-24 20:57 +0000 [r373467] Jonathan Rose * apps/app_mixmonitor.c, funcs/func_audiohookinherit.c: func_audiohookinherit: Document some missed sources. This patch also mentions that AUDIOHOOK_INHERIT can be used to transfer MixMonitor audiohooks. There is also wiki that addresses audiohooks and the use of AUDIOHOOK_INHERIT at the following link: https://wiki.asterisk.org/wiki/display/AST/Audiohooks (closes issue ASTERISK-18220) Reported by: Ishfaq Malik 2012-09-24 19:15 +0000 [r373438] Joshua Colp * channels/chan_sip.c: Fix a deadlock caused by a race condition between removing a hint and reloading the dialplan and subscribing to the removed hint. If conditions were right it was possible for both the PBX core and chan_sip to deadlock by both having a lock that the other wants. In the case of the PBX core it had the contexts lock and wanted a SIP dialog lock, while in the case of chan_sip it had the SIP dialog lock and wanted the contexts lock. This fix unlocks the SIP dialog before getting the extension state so that the other thread will not block on trying to lock it. Once the extension state is retrieved the SIP dialog is locked again and life carries on. As the SIP dialog is reference counted it is not possible for it to go away after unlocking. (closes issue ASTERISK-20437) Reported by: jhutchins 2012-09-24 15:40 +0000 [r373424] Richard Mudgett * channels/chan_sip.c: Fix potential reentrancy problems in chan_sip. Asterisk v1.8 and later was not as vulnerable to this issue. * Made find_call() lock each private as it processes the found dialogs. (Primary cause of ABE-2876) * Made the other functions that traverse the dialogs container lock each private as it examines them. * Fix race condition in sip_call() if the thread that sent the INVITE is held up long enough for a response to be processed. The p->initid for the INVITE retransmission could be added after it was canceled by the response processing. * Made __sip_destroy() clean up resource pointers after freeing. This is primarily defensive in case someone has a stale private pointer. * Removed redundant memset() in reqprep(). The call to init_req() already does the memset() and is the first reference to req in reqprep(). * Removed useless set of req.method in transmit_invite(). The calls to initreqprep() and reqprep() have to do this because they memset() the req. JIRA ABE-2876 .......... Merged -r373423 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier 2012-09-21 19:00 +0000 [r373298-373342] Jonathan Rose * channels/iax2-provision.c: iax2-provision: Fix improper return on failed cache retrieval (closes issue ASTERISK-20337) reported by: John Covert Patches: iax2-provision.c.patch uploaded by John Covert (license 5512) * apps/app_queue.c: app_queue: Make queue reload members and variants of that work Prior to this patch, 'queue reload members' cli command did not work at all. This also affects the manager function 'QueueReload' when supplied with the 'members: yes' field. (closes issue AST-956) Reported by: John Bigelow 2012-09-20 19:12 +0000 [r373242] 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-20 18:41 +0000 [r373236] Matthew Jordan * res/res_rtp_asterisk.c: When processing RFC 2833 DTMF, accomodate increasing timestamps in End events While endpoints should not be changing the source timestamp between DTMF event packets, the fact is there exists those endpoints that do exactly that. To work around this, we absorb timestamps within the expected re-transmit period. Note that this period only affects End of Event packets, so it should not prevent the detection of new DTMF digits that happen to arrive right on top of each other. (closes issue ASTERISK-20424) Reported by: Vladimir Mikhelson Tested by: mjordan, Vladimir Mikhelson Review: https://reviewboard.asterisk.org/r/2124 2012-09-19 16:02 +0000 [r373165] Joshua Colp * channels/chan_sip.c: 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 2012-09-18 20:12 +0000 [r373131] Sean Bright * main/manager.c: Don't crash when passing a NULL message to __astman_get_header. Before this commit, __astman_get_header would blindly dereference the passed in 'struct message *' to traverse the header list. There are cases, however, such as '*CLI> sip qualify peer foo' where the message pointer is NULL, so we need to check for that. 2012-09-15 00:13 +0000 [r373090] Richard Mudgett * channels/sig_ss7.c: Made companding law for SS7 calls only determined by SS7 signaling type. For SS7, the companding law for a call was chosen inconsistently depending upon ss7type (ITU vs ANSI) and the DAHDI companding default (T1 vs E1). For incoming calls, the companding law was determined by ss7type. For outgoing calls, the companding law was determined by the DAHDI default. With the wrong combination you would get A-law/u-law conflicts. An A-law/u-law conflict sounds like bad static on the line. SS7 ITU signaling with E1 line: ok SS7 ITU signaling with T1 line: noise SS7 ANSI signaling with E1 line: noise SS7 ANSI signaling with T1 line: ok * Fix the companding law used to be determined by the SS7 signaling type only. 2012-09-14 19:07 +0000 [r373061] Matthew Jordan * 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 2012-09-13 18:39 +0000 [r373024] dlee : * include/asterisk/channel.h, main/channel.c: Fix timeouts for ast_waitfordigit[_full]. ast_waitfordigit_full would simply pass its timeout to ast_waitfor_nandfds, expecting it to decrement the timeout by however many milliseconds were waited. This is a problem if it consistently waits less than 1ms. The timeout will never be decremented, and we wait... FOREVER! This patch makes ast_waitfordigit_full manage the timeout itself. It maintains the previously undocumented behavior that negative timeouts wait forever. (closes issue ASTERISK-20375) Reported by: Mark Michelson Tested by: Mark Michelson Review: https://reviewboard.asterisk.org/r/2109/ 2012-09-13 Asterisk Development Team * Asterisk 1.8.17.0-rc1 Released. 2012-09-12 15:42 +0000 [r372959] Matthew Jordan * main/astobj2.c, include/asterisk/astobj2.h: Constify __ao2_ref_debug in astobj2 When REF_DEBUG is enabled in certain files - most notably ccss.c - the 'tag' parameter passed to __ao2_ref_debug will be a const char *. The function currently expects that parameter to not be const. This causes a warning when compiling, as the const qualifier is being discarded. With dev-mode enabled, this prevents compiling Asterisk. This patch makes __ao2_ref_debug's tag and file parameters const. (closes issue ASTERISK-20408) Reported by: mjordan 2012-09-12 14:51 +0000 [r372932] Mark Michelson * channels/chan_sip.c: Add channel name to a warning to make debugging easier. The "autodestruct with owner in place" message is typically indicative of a channel reference leak. Printing out the name of the channel in the message may be helpful when trying to debug the issue. 2012-09-11 22:11 +0000 [r372902] Jonathan Rose * channels/chan_local.c: chan_local: Switch from using a random 4 digit hex identifier to unique id Changes chan_local channels to use an 8 digit hex identifier generated atomically and sequentially in order to eliminate the chance of having multiple channels with the same name during high call volume situations. (issue ASTERISK-20318) Reported by: Dan Cropp Review: https://reviewboard.asterisk.org/r/2104/ 2012-09-11 15:26 +0000 [r372840] Mark Michelson * main/features.c: Fix bad channel application data reference. When channels get bridged due to an AMI bridge action or a DTMF attended transfer, the two channels that get bridged have their application data pointing to the other channel's name. This means that if one channel is hung up but the other moves on, it means that the channel that moves on will have its application data pointing at freed memory. (issue ASTERISK-20335) Reported by: aragon 2012-09-10 20:53 +0000 [r372804] Kinsey Moore * channels/chan_iax2.c: Ensure iax2 debug output is displayed when expected When IAX2 debug was changed from iax_showframe to iax_outputframe, some instances were missed (or added afterward). This was causing debug output to not be displayed when expected. (closes issue ASTERISK-20338) Reported-by: John Covert Patch-by: John Covert 2012-09-10 18:35 +0000 [r372765] Jonathan Rose * apps/app_meetme.c: app_meetme: Document that 'p' option will continue in dialplan. (closes issue AST-991) Reported by John Bigelow 2012-09-10 18:31 +0000 [r372763] Kinsey Moore * channels/chan_sip.c: Warn on CLI when UDPTL init fails This adds a CLI warning when a SDP offer is rejected due to UDPTL initialization failure. Previously, there was no indication of the reason for offer rejection in this case. (closes issue ASTERISK-20357) Reported-by: Francesco Usseglio Gaudi 2012-09-10 17:07 +0000 [r372736] Jonathan Rose * main/channel.c: Masquerade: Retain parkinglot settings made by CHANNEL function. Prior to this patch, the user would have a parkinglot set on a channel that was parked and when the channel was retrieved, any attempt by that channel to park would simply use the default. This patch makes parkinglot values set in this way be retained through the masquerade. (closes issue AST-990) Reported by: Nick Huskinson Patches: masquerade_parkinglot_patch.diff Uploaded by Jonathan Rose (license 6182) 2012-09-09 01:19 +0000 [r372709] Matthew Jordan * channels/sip/sdp_crypto.c: 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 2012-09-08 03:54 +0000 [r372682] dlee : * main/Makefile: Add OPENSSL_INCLUDE to the CFLAGS for ssl.c and tcptls.c. Without this flag, those files will compile with the system installed OpenSSL headers (if they exist). This is a real bummer if a different path was specified using --with-ssl= (closes issue ASTERISK-20392) 2012-09-07 23:05 +0000 [r372620-372655] Richard Mudgett * main/astmm.c: Fix MALLOC_DEBUG version of ast_strndup(). (closes issue ASTERISK-20349) Reported by: Brent Eagles * funcs/func_math.c: Remove annoying unconditional debug message from INC/DEC functions. (closes issue AST-1001) Reported by: Guenther Kelleter * apps/app_queue.c: Fix exception path typo in app_queue.c try_calling(). (closes issue ASTERISK-20380) Reported by: Jeremy Pepper Patches: fix-local-channel-locking.patch (license #6350) patch uploaded by Jeremy Pepper * apps/app_voicemail.c: Fix VoicemailUserEntry event headers ServerEmail and MailCommand reported values. The AMI action VoicemailUsersList VoicemailUserEntry event headers ServerEmail and MailCommand did not report the global values if they were not overridden. The VoicemailUserEntry event header ServerEmail was not populated with the global value if the voicemail user did not override it. The VoicemailUserEntry event header MailCommand was never populated with a value. * Removed unused struct ast_vm_user member mailcmd[]. (closes issue AST-973) Reported by: John Bigelow Tested by: rmudgett 2012-09-07 02:24 +0000 [r372554-372581] Matthew Jordan * apps/app_minivm.c: Free ast_str objects when temp file fails to be created in MiniVM The previous commit (r372554) was from a patch that was written before r366880, which ensured that ast_str objects allocated in the sendmail routine were free'd in off nominal paths. This commit frees the string objects in the off nominal path introduced in r372554. (issue ASTERISK-17133) Reported by: Tzafrir Cohen * apps/app_minivm.c: Fix file descriptor leak and pointer scope issue in MiniVM when sending mail When MiniVM sends an e-mail and it has the volgain option set, it will spawn sox in a separate process to handle the manipulation of the sound file. In doing so, it creates a temporary file. There are two problems here: 1) The file descriptor returned from mkstemp is leaked 2) The finalfilename character pointer points to a buffer that loses scope once volgain processing is finished. Note that in r316265, Russell fixed some gcc warnings by using the return value of the mkstemp call. A warning was placed in minivm that the file descriptor was going to be leaked. This patch reverts that change, as it handles the leak and 'uses' the file descriptor returned from mkstemp. (closes issue ASTERISK-17133) Reported by: Tzafrir Cohen patches: minivm_18501_demo.diff uploaded by Tzafrir Cohen (license #5035) 2012-09-06 21:38 +0000 [r372517] Kinsey Moore * apps/app_queue.c: Ensure listed queues are not offered for completion When using tab-completion for the list of queues on "queue reset stats" or "queue reload {all|members|parameters|rules}", the tab-completion listing for further queues erroneously listed queues that had already been added to the list. The tab-completion listing now only displays queues that are not already in the list. (closes issue AST-963) Reported-by: John Bigelow 2012-09-06 18:54 +0000 [r372498] dsessions : * configs/res_ldap.conf.sample, channels/chan_sip.c: LDAP Realtime Peers Cannot Register Prior to 1.8, it was not necessary for an explicit "type" to be set for an asterisk LDAP realtime peer. Now the routine find_peer actually checks the type field during registration and fails to find the peer if it is not set. The attached patches make the realtime type equal whatever type is being searched for if the type is 0 upon return from routine build_peer. (closes issue ASTERISK-17222) Reported by: John Covert Patch by: David Vossel Tested by: Darren Sessions Review: https://reviewboard.asterisk.org/r/2095/ 2012-09-06 15:52 +0000 [r372471] Jonathan Rose * UPGRADE.txt: chan_sip: Note change in behavior to how directmediapermit/deny ACL works r366547 introduced a change to the directmedia ACL for chan_sip which modified the behavior significantly. Prior to the patch, this option would bridge peers with directmedia if a peer's IP address matched its own directmedia ACL. After that patch, the peer would check the bridged peer's ACL instead. This change has been present since 1.8.14.0. That patched failed to document the change in Upgrade.txt, so this patch adds mention of that change to UPGRADE.txt (UPGRADE-1.8.txt in newer branches) (issue AST-876) 2012-09-06 14:28 +0000 [r372444] Kinsey Moore * apps/app_queue.c: Ensure "rules" is tab-completable for "queue show" Previously, tabbing at the end of "queue show" produced a list of available queues about which information could be shown, but did not include an alternative command, "rules", to access information about queue rules. The "rules" item should now be shown in the list of tab-completable items. (closes issue AST-958) Reported-by: John Bigelow 2012-09-06 02:48 +0000 [r372390-372417] Matthew Jordan * pbx/pbx_dundi.c: Fix DUNDi message routing bug when neighboring peer is unreachable Consider a scenario where DUNDi peer PBX1 has two peers that are its neighbors, PBX2 and PBX3, and where PBX2 and PBX3 are also neighbors. If the connection is temporarily broken between PBX1 and PBX3, PBX1 should not include PBX3 in the list of peers it sends to PBX2 in a DPDISCOVER message, as it cannot send messages to PBX3. If it does, PBX2 will assume that PBX3 already received the message and fail to forward the message on to PBX3 itself. This patch fixes this by only including peers in a DPDISCOVER message that are reachable by the sending node. This includes all peers with an empty address (00:00:00:00:00:00) and that are have been reached by a qualify message. This patch also prevents attempting to qualify a dynamic peer with an empty address until that peer registers. (closes issue ASTERISK-19309) Reported by: Peter Racz patches: dundi_routing.patch uploaded by Peter Racz (license 6290) The patch uploaded by Peter was modified slightly for this commit. * apps/app_followme.c: Allow configured numbers for FollowMe to be greater than 90 characters When parsing a 'number' defined in followme.conf, FollowMe previously parsed the number in the configuration file into a buffer with a length of 90 characters. This can artificially limit some parallel dial scenarios. This patch allows for numbers of any length to be defined in the configuration file. Note that Clod Patry originally wrote a patch to fix this problem and received a Ship It! on the JIRA issue. The patch originally expanded the buffer to 256 characters. Instead, the patch being committed duplicates the string in the config file on the stack before parsing it for consumption by the application. (closes issue ASTERISK-16879) Reported by: Clod Patry Tested by: mjordan patches: followme_no_limit.diff uploaded by Clod Patry (license #5138) Slightly modified for this commit. 2012-09-05 19:20 +0000 [r372354] Kinsey Moore * main/manager.c: Correct documentation for ModuleLoad AMI action The documentation incorrectly listed 'rtp' as a reloadable subsystem and left out many other reloadable subsystems. It is now also documented that subsystems may only be reloaded, not loaded or unloaded. (closes issue AST-977) Reported-by: John Bigelow 2012-09-05 18:34 +0000 [r372339] Alec L Davis * main/dsp.c: dsp.c: in ast_mf_detect_init incorrectly sets goertzel samples to 160, should be MF_GSIZE Related https://reviewboard.asterisk.org/r/2097/ 2012-09-05 18:29 +0000 [r372337] Kinsey Moore * main/pbx.c: Ensure counts generated in manager_show_dialplan_helper are correct When manager_show_dialplan_helper was written, the counter increment for the total number of contexts was placed with the extensions increment instead of in the enclosing loop. This function should now generate correct context counts. (closes issue AST-970) Reported-by: John Bigelow 2012-09-05 13:13 +0000 [r372268] Matthew Jordan * apps/app_voicemail.c: Fix memory leaks in app_voicemail when using IMAP storage or realtime config This patch fixes two memory leaks: 1. When find_user is called with NULL as its first parameter, the voicemail user returned is allocated on the heap. The inboxcount2 function uses find_user in such a fashion when counting new messages, and fails to free the resulting voicemail user object. 2. When populate_defaults is called on a voicemail user, it wipes whatever flags have been set on the object by copying over the global flags object. If the VM_ALLOCED flag was ste on the voicemail user prior to doing so, that flag is removed. This leaks the voicemail user when free_user is later called. (closes issue ASTERISK-19155) Reported by: Filip Jenicek patches: asterisk.patch2 uploaded by Filip Jenicek (license 6277) Patch slightly modified for this commit. Review: https://reviewboard.asterisk.org/r/2096 2012-09-05 07:35 +0000 [r372212-372239] Alec L Davis * main/dsp.c: dsp.c: Fix multiple issues when no-interdigit delay is present, and fast DTMF 50ms/50ms Revert DTMF hit/miss detector to original -r349249 method with some changes, remove unnecessary; 1. reseting of hits=0, when no signal, only need to set it once. 2. incrementing of hits, when the hit is the same as the current hit. 3. setting of lasthit, when it's the same as before. Change HITS_TO_BEGIN to 2, MISSES_TO_END to 3 & 3 spelling mistakes (closes issue ASTERISK-19610) alecdavis (license 585) Reported by: Jean-Philippe Lord Tested by: alecdavis Review: https://reviewboard.asterisk.org/r/2085/ * main/dsp.c: dsp.c: optimize goerztzel sample loops, in dtmf_detect, mf_detect and tone_detect use a temporary short int when repeatedly used to call goertzel_sample. alecdavis (license 585) Reported by: alecdavis Tested by: alecdavis Review: https://reviewboard.asterisk.org/r/2093/ 2012-09-05 03:45 +0000 [r372185] Michael L. Young * res/res_rtp_asterisk.c: Fix Incrementing Sequence Number For Retransmitted DTMF End Packets In Asterisk 1.4+, a fix was put in place to increment the sequence number for retransmitted DTMF end packets. With the introduction of the RTP engine API in 1.8, the sequence number was no longer being incremented. This patch fixes this regression as well as cleans up a few lines that were not doing anything. (closes issue ASTERISK-20295) Reported by: Nitesh Bansal Tested by: Michael L. Young Patches: 01_rtp_event_seq_num.patch uploaded by Nitesh Bansal (license 6418) asterisk-20295-dtmf-fix-cleanup.diff uploaded by Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/2083/ 2012-09-05 02:16 +0000 [r372158] Matthew Jordan * cel/cel_pgsql.c: Fix memory leak when CEL is successfully written to PostgreSQL database PQClear is not called when the result object of a call to PQExec has a status of PGRES_COMMAND_OK. Interestingly enough, the off nominal case was handled properly, so this memory leak only occurred when CEL records were successfully written. This patch properly clears the result in the nominal code path. (closes issue ASTERISK-19991) Reported by: Etienne Lessard Tested by: Etienne Lessard patches: mem_leak_cel_pgsql.patch uploaded by Etienne Lessard (license #6394) 2012-08-30 20:51 +0000 [r372048-372089] Mark Michelson * apps/app_queue.c: Prevent crash on shutdown due to refcount error on queues container. When app_queue is unloaded, the queues container has its refcount decremented, potentially to 0. Then the taskprocessor responsible for handling device state changes is unreferenced. If the taskprocessor happens to be just about to run its task, then it will create and destroy an iterator on the queues container. This can cause the refcount on the queues container to increase to 1 and then back to 0. Going back to 0 a second time results in double frees. This failure was seen periodically in the testsuite when Asterisk would shut down. * apps/app_queue.c: Help prevent ringing queue members from being rung when ringinuse set to no. Queue member status would not always get updated properly when the member was called, thus resulting in the member getting multiple calls. With this change, we update the member's status at the time of calling, and we also check to make sure the member is still available to take the call before placing an outbound call. (closes issue ASTERISK-16115) reported by nik600 Patches: app_queue.c-svn-r370418.patch uploaded by Italo Rossi (license #6409) 2012-08-30 16:21 +0000 [r371961-372015] Matthew Jordan * channels/chan_iax2.c: AST-2012-013: Resolve ACL rules being ignored during calls by some IAX2 peers When an IAX2 call is made using the credentials of a peer defined in a dynamic Asterisk Realtime Architecture (ARA) backend, the ACL rules for that peer are not applied to the call attempt. This allows for a remote attacker who is aware of a peer's credentials to bypass the ACL rules set for that peer. This patch ensures that the ACLs are applied for all peers, regardless of their storage mechanism. (closes issue ASTERISK-20186) Reported by: Alan Frisch Tested by: mjordan, Alan Frisch * main/manager.c, README-SERIOUSLY.bestpractices.txt: AST-2012-012: Resolve AMI User Unauthorized Shell Access through ExternalIVR The AMI Originate action can allow a remote user to specify information that can be used to execute shell commands on the system hosting Asterisk. This can result in an unwanted escalation of permissions, as the Originate action, which requires the "originate" class authorization, can be used to perform actions that would typically require the "system" class authorization. Previous attempts to prevent this permission escalation (AST-2011-006, AST-2012-004) have sought to do so by inspecting the names of applications and functions passed in with the Originate action and, if those applications/functions matched a predefined set of values, rejecting the command if the user lacked the "system" class authorization. As noted by IBM X-Force Research, the "ExternalIVR" application is not listed in the predefined set of values. The solution for this particular vulnerability is to include the "ExternalIVR" application in the set of defined applications/functions that require "system" class authorization. Unfortunately, the approach of inspecting fields in the Originate action against known applications/functions has a significant flaw. The predefined set of values can be bypassed by creative use of the Originate action or by certain dialplan configurations, which is beyond the ability of Asterisk to analyze at run-time. Attempting to work around these scenarios would result in severely restricting the applications or functions and prevent their usage for legitimate means. As such, any additional security vulnerabilities, where an application/function that would normally require the "system" class authorization can be executed by users with the "originate" class authorization, will not be addressed. Instead, the README-SERIOUSLY.bestpractices.txt file has been updated to reflect that the AMI Originate action can result in commands requiring the "system" class authorization to be executed. Proper system configuration can limit the impact of such scenarios. (closes issue ASTERISK-20132) Reported by: Zubair Ashraf of IBM X-Force Research * doc/CODING-GUIDELINES (added): Restore CODING-GUIDELINES to doc folder In r294740, the CODING-GUIDELINES was removed from the doc folder in favor of the content on the Asterisk wiki. Some folks still look in the doc folder initially for coding guideline suggestions; as such, this patch adds a CODING-GUIDELINES file back into the doc folder. The content of the file merely points to the correct page on the Asterisk wiki where the coding guidelines currently live. (closes issue ASTERISK-20279) Reported by: Andrew Latham Patches: CODING-GUIDELINES.diff uploaded by Andrew Latham (license 5985) 2012-08-29 20:42 +0000 [r371919] Jonathan Rose * apps/app_meetme.c: app_meetme: Adding test events for following activity in MeetMe. 2012-08-29 19:38 +0000 [r371860-371888] Richard Mudgett * main/channel.c: Initialize file descriptors for dummy channels to -1. Dummy channels usually aren't read from, but functions like SHELL and CURL use autoservice on the channel. (closes issue ASTERISK-20283) Reported by: Gareth Palmer Patches: svn-371580.patch (license #5169) patch uploaded by Gareth Palmer (modified) * apps/app_dial.c: Fix hangup cause passthrough regression. The v1.8 -r369258 change to fix the F and F(x) action logic introduced a regression in passing the hangup cause from the called channel to the caller channel. (closes issue ASTERISK-20287) Reported by: Konstantin Suvorov Patches: app_dial_hangupcause.patch (license #6421) patch uploaded by Konstantin Suvorov (modified) Tested by: rmudgett 2012-08-29 16:59 +0000 [r371824] Jonathan Rose * channels/chan_sip.c: chan_sip: Send 408 on retransmit timeout instead of 603 (closes issue ASTERISK-20124) Reported by: Walter Doekes 2012-08-27 21:47 +0000 [r371747-371787] 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 * 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. (closes issue AST-975) reported by John Bigelow * 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 2012-08-27 16:40 +0000 [r371718] dlee : * main/lock.c: Fixes ast_rwlock_timed[rd|wr]lock for BSD and variants. The original implementations simply wrap pthread functions, which take absolute time as an argument. The spinlock version for systems without those functions treated the argument as a delta. This patch fixes the spinlock version to be consistent with the pthread version. (closes issue ASTERISK-20240) Reported by: Egor Gorlin Patches: lock.c.patch uploaded by Egor Gorlin (license 6416) 2012-08-27 13:43 +0000 [r371690] Kinsey Moore * main/utils.c: Implement workaround for BETTER_BACKTRACES crash When compiling with BETTER_BACKTRACES enabled, Asterisk will sometimes crash when "core show locks" is run. This happens regularly in the testsuite since several tests run "core show locks" to help with debugging. This seems to be a fault with libraries on certain operating systems (notably CentOS 6.2/6.3) running on virtual machines and utilizing gcc 4.4.6. (closes issue ASTERISK-20090) 2012-08-26 23:03 +0000 [r371662] Alec L Davis * main/dsp.c: mf_detect: incorrectly used DTMF_GSIZE instead of MF_GSIZE 2012-08-21 20:35 +0000 [r371590] Mark Michelson * main/utils.c, apps/app_queue.c, pbx/pbx_config.c, res/res_jabber.c, apps/app_stack.c, channels/chan_oss.c, res/res_config_sqlite.c, cdr/cdr_tds.c, main/xmldoc.c, apps/app_dial.c, channels/chan_dahdi.c, channels/chan_sip.c, funcs/func_odbc.c, main/file.c: Fix misuses of asprintf throughout the code. This fixes three main issues * Change asprintf() uses to ast_asprintf() so that it pairs properly with ast_free() and no longer causes MALLOC_DEBUG to freak out. * When ast_asprintf() fails, set the pointer NULL if it will be referenced later. * Fix some memory leaks that were spotted while taking care of the first two points. (Closes issue ASTERISK-20135) reported by Richard Mudgett Review: https://reviewboard.asterisk.org/r/2071 2012-08-20 15:25 +0000 [r371544] Kinsey Moore * main/udptl.c: Ignore recovered zero-length secondary UDPTL packets In some cases, recovering lost packets using the secondary packet recovery mechanism with UDPTL/T.38 can result in the recovery of zero-length packets. These must be ignored or the frame generated from them can cause segfaults and allocation failures. (closes issue ASTERISK-19762) (closes issue ASTERISK-19373) Reported-by: Benjamin (bulkorok) Reported-by: Rob Gagnon (rgagnon) 2012-08-17 18:51 +0000 [r371469] Matthew Jordan * main/xmldoc.c: Fix memory leak in XML documentation When formatting documentation fields, the XML documentation parser calls xmldoc_get_formatted. This function allocates a string buffer at the beginning of its routine. Unfortunately, on certain code paths, it also calls xmldoc_string_cleanup, which assumes that it will create the string buffer. The previously allocated string buffer is then leaked by the xmldoc_string_cleanup routine. Now: we don't do that. (closes issue AST-932) Reported by: Alexander Homig 2012-08-17 15:49 +0000 [r371393-371436] 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) * 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) 2012-08-16 22:30 +0000 [r371392] Terry Wilson * main/config.c: Handle integer over/under-flow in ast_parse_args The strtol family of functions will return *_MIN/*_MAX on overflow. To detect when an overflow has happened, errno must be set to 0 before calling the function, then checked afterward. (closes issue ASTERISK-20120) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2073/ 2012-08-16 18:57 +0000 [r371337-371357] Jonathan Rose * channels/chan_sip.c: chan_sip: Use pvt outgoing_call variable to set Remote-Party-ID Header Previously the pvt SIP_OUTGOING flag was used instead, which will frequently flip during reinvites. (closes issue AST-897) Reported by: Thomas Arimont * 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 2012-08-15 23:10 +0000 [r371306] Mark Michelson * apps/app_queue.c: Fix bug where final queue member would not be removed from memory. If a static queue had realtime members, then there could be a potential for those realtime members not to be properly deleted from memory. If the queue's members were loaded from realtime and then all the members were deleted from the backend, then the queue would still think these members existed. The reason was that there was a short- circuit in code such that if there were no members found in the backend, then the queue would not be updated to reflect this. Note that this only affected static queues with realtime members. Realtime queues with realtime members were unaffected by this issue. (closes issue ASTERISK-19793) reported by Marcus Haas 2012-08-15 20:14 +0000 [r371270] Kinsey Moore * channels/chan_sip.c: Avoid unconditional NULLing of mwipvt on relatedpeer on SIP dialog destruction The other instance of this bug was fixed by jcolp/file in r121496. If we are destroying a dialog only set the MWI dialog pointer on the related peer to NULL if it is the dialog currently being destroyed. (closes issue ASTERISK-20119) Patch-by: Misha Vodsedalek 2012-08-13 20:00 +0000 [r371201] 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) 2012-08-13 19:49 +0000 [r371198] Mark Michelson * channels/chan_sip.c: Fix problem where incorrect pointer was checked for nullity. 2012-08-10 21:21 +0000 [r371141] 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 2012-08-10 16:40 +0000 [r371060-371089] Alexandr Anikin * addons/chan_ooh323.c: remove ALREADYGONE flag on ooh323 call data by ooh323_indicate (CONGESTION/BUSY) due to call hasn't gone there really. This indication arrive from asterisk core not h.323 stack (closes issue ASTERISK-19308) Reported by: Dmitry Melekhov Patches: ASTERISK-19308.patch * addons/ooh323c/src/ooGkClient.c: Send re-register packets by GRQ (gatekeeper request) interval (close issue ASTERISK-20094) Patches: ASTERISK-20094-2.patch 2012-08-09 18:58 +0000 [r371012] Richard Mudgett * channels/sig_pri.c, channels/sig_ss7.c, channels/chan_dahdi.c, configure, include/asterisk/autoconfig.h.in, configure.ac: Use better libss7 detection test and move libpri compile test. 2012-08-09 18:58 +0000 [r370988-371011] Alexandr Anikin * addons/ooh323c/src/ooGkClient.c: Fix to resend GRQ/RRQ if RRJ (registration reject) is received (close issue ASTERISK-20094) Patches: ASTERISK-20094.patch * addons/ooh323c/src/ooh323ep.c: change opening h323 logfile with append mode instead of overwrite 2012-08-09 17:39 +0000 [r370985] Kinsey Moore * apps/app_meetme.c: Correct documentation for the MeetMe x flag The documentation for the x flag for MeetMe incorrectly described its function as closing down the conference when the last marked user left. It actually causes the users with that flag to leave the conference when the last marked user exits. The functionality of this flag is not changing. 2012-08-08 22:40 +0000 [r370952] Michael L. Young * apps/app_chanspy.c: Fix Not Unreferencing A Spied Channel When a channel hangs up while being spied upon and the option to exit the ChanSpy application when the spied on channel hangs up is set, ast_autochan_destroy is not being called and therefore a reference to the spied upon channel is not removed. The symptom being reported was that when using func_group in the dialplan and calling "group show channels" at the cli, the spied upon channel was still being shown while "core show channels" showed that the channel was not up. This patch calls ast_autochan_destroy when a spied upon channel hangs up and the option to exit the ChanSpy application is set, removing the reference to the channel allowing the count for the group that the spied channel was part of to be decremented. (closes issue ASTERISK-17515) Reported by: Arkadiusz Malka Tested by: Alexandr Gordeev, Michael L. Young Patches: asterisk-17515-destroy-autochan.diff uploaded by Michael L. Young (license 5026) 2012-08-08 20:28 +0000 [r370923] Kinsey Moore * main/channel.c: Do not define a cause that doesn't actually exist AST_CAUSE_NOTDEFINED is a placeholder for usage when there is no cause information. As such, it should not be defined and translatable as a cause. 2012-08-08 19:58 +0000 [r370900] Richard Mudgett * channels/chan_dahdi.c, channels/sig_analog.c, channels/sig_analog.h: Fix the analog dial *0 flash-hook of bridged peer feature. The flash-hook the bridged peer feature now correctly determines if the bridged peer is another chan_dahdi channel, that it is an analog channel, and that it has the correct signaling for an FXO port. It now also flash-hooks the correct channel. 2012-08-07 19:19 +0000 [r370856] Kinsey Moore * main/channel.c: Add missing AST_CAUSE_* -> text translations 2012-08-06 15:00 +0000 [r370797] Mark Michelson * channels/chan_sip.c: Improve debug message for temporary outbound proxies. Thanks to Paul Belanger for pointing this out. 2012-08-03 21:43 +0000 [r370769-370771] Mark Michelson * channels/sip/config_parser.c: Seriously? Another compilation error fixed. Somebody beat me. * channels/chan_sip.c: Remove unused variable. * 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 2012-08-01 02:25 +0000 [r370697] Kinsey Moore * utils/extconf.c: Revert alloca changes for utils These changes were a tad overzealous in the utils directory. Unfortunately, these don't compile with a "make". 2012-07-31 20:54 +0000 [r370666] Matthew Jordan * channels/chan_sip.c: Schedule pokes of registered SIP peers within a given timespan after SIP reload With a large number of SIP peers registered, performing a SIP reload causes a flood of SIP OPTIONS request packets. These are immediately sent out, and, as responses come back, can cause peers to be flagged as 'lagged' due to handling of the many response messages. This fix prevents this "packet storm" and schedules the pokes for a random time. That time varies between 1 ms and the peer's qualify time, or, if the qualify time is unknown, the global qualifyfreq setting. The committed patch has some very small modifications to the patch schmidts wrote for the review. (closes issue ASTERISK-19154) Reported by: Nicolo Mazzon patches: issue19154.patch license #6034 uploaded by schmidts Review: https://reviewboard.asterisk.org/r/1652 2012-07-31 19:31 +0000 [r370642] Kinsey Moore * main/utils.c, funcs/func_logic.c, channels/chan_gtalk.c, cdr/cdr_pgsql.c, channels/chan_iax2.c, res/res_jabber.c, main/config.c, main/channel.c, res/ael/pval.c, apps/app_osplookup.c, main/manager.c, pbx/pbx_spool.c, main/strcompat.c, apps/app_minivm.c, main/features.c, res/res_agi.c, main/http.c, main/logger.c, pbx/pbx_ael.c, main/app.c, channels/chan_alsa.c, pbx/pbx_realtime.c, addons/chan_mobile.c, apps/app_while.c, include/asterisk/utils.h, main/pbx.c, res/res_config_pgsql.c, channels/chan_sip.c, apps/app_festival.c, pbx/pbx_lua.c, funcs/func_cut.c, tests/test_linkedlists.c, apps/app_getcpeid.c, funcs/func_global.c, channels/chan_jingle.c, main/tcptls.c, funcs/func_channel.c, apps/app_directed_pickup.c, main/callerid.c, main/file.c, apps/app_macro.c, main/astmm.c, apps/app_sms.c, main/event.c, pbx/pbx_dundi.c, include/asterisk/strings.h, utils/extconf.c, apps/app_mixmonitor.c, main/asterisk.c, main/dsp.c, addons/res_config_mysql.c, apps/app_voicemail.c, addons/app_mysql.c, apps/app_meetme.c, apps/app_dictate.c, main/say.c, main/threadstorage.c, funcs/func_strings.c: Clean up and ensure proper usage of alloca() This replaces all calls to alloca() with ast_alloca() which calls gcc's __builtin_alloca() to avoid BSD semantics and removes all NULL checks on memory allocated via ast_alloca() and ast_strdupa(). (closes issue ASTERISK-20125) Review: https://reviewboard.asterisk.org/r/2032/ Patch-by: Walter Doekes (wdoekes) 2012-07-31 15:26 +0000 [r370618] Mark Michelson * 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 2012-09-13 Asterisk Development Team * Asterisk 1.8.16.0 Released. 2012-09-11 Asterisk Development Team * Asterisk 1.8.16.0-rc2 Released. * AST-2012-013: Resolve ACL rules being ignored during calls by some IAX2 peers * AST-2012-012: Resolve AMI User Unauthorized Shell Access through ExternalIVR * r371860: 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 * r372709: 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 * r372840: Fix bad channel application data reference. When channels get bridged due to an AMI bridge action or a DTMF attended transfer, the two channels that get bridged have their application data pointing to the other channel's name. This means that if one channel is hung up but the other moves on, it means that the channel that moves on will have its application data pointing at freed memory. (issue ASTERISK-20335) 2012-07-31 Asterisk Development Team * Asterisk 1.8.16.0-rc1 Released. 2012-07-30 16:47 +0000 [r370563] Richard Mudgett * channels/chan_misdn.c: Release B channel allocation on error path in chan_misdn. 2012-07-25 21:00 +0000 [r370494] Jonathan Rose * res/res_agi.c: res_agi: Add message indicating need for \n character in verbose message The while loop responsible for reading AGI messages from a fastAGI service can end up looping indefinitely when an AGI script fails to indicate the end of a message with a \n character. This patch adds an indication that we are expecting a \n character to end the message to make it more clear to users that this is necessary if they are receiving this warning over and over. (issue ASTERISK-20061) Reported by: Eike Kuiper 2012-07-24 16:53 +0000 [r370429] Kevin P. Fleming * main/frame.c: Rewrite a comment that didn't adequately explain the code it was documenting. 2012-07-24 16:49 +0000 [r370428] Tzafrir Cohen * channels/chan_oss.c: chan_oss: fix "sample rate" error message 2012-07-23 21:09 +0000 [r370360-370383] Kevin P. Fleming * funcs/func_shell.c: Improve documentation for the SHELL() dialplan function. * main/channel.c: 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) 2012-07-19 22:07 +0000 [r370275] Richard Mudgett * main/cel.c: Fix compiler warnings. gcc (GCC) 4.2.4 has problems casting away constness. 2012-07-19 22:00 +0000 [r370252-370273] Matthew Jordan * main/cel.c: Fix compilation error when MALLOC_DEBUG is enabled To fix a memory leak in CEL, a channel datastore was introduced whose destruction function pointer was pointed to the ast_free macro. Without MALLOC_DEBUG enabled this compiles as fine, as ast_free is defined as free. With MALLOC_DEBUG enabled, however, ast_free takes on a definition from a different place then utils.h, and became undefined. This patch resolves this by using a reference to ast_free_ptr. When MALLOC_DEBUG is enabled, this calls ast_free; when MALLOC_DEBUG is not enabled, this is defined to be ast_free, which is defined to be free. (issue AST-916) Reported by: Thomas Arimont * res/res_rtp_asterisk.c: Handle extremely out of order RFC 2833 DTMF The current implementation of RFC 2833 DTMF handling in res_rtp_asterisk will, if a packet arrives out of order, drop the packet. This is to prevent duplicate ton generation in the Asterisk core. Since the RTP layer does not buffer data itself, this is the only option the RTP layer currently has for handling packets that arrive out of order. For the most part, this doesn't matter. For a particular digit, so long as a BEGIN packet arrives before the first END packet, the digit will be produced. If subsequent BEGIN packets arrive interleaved with the ENDs, they will be dropped; likewise, if the BEGIN or END packets themselves are out of order, those packets are dropped but sufficient information is conveyed to the Asterisk core to produce the appropriate digit. For certain sequences of DTMF packets - most notably when, for a particular digit, an END packet arrives before any BEGIN packet for that digit - this is a real problem. When an END arrives before any BEGINs, the END packet is dropped - but at the same time, it causes subsequent BEGIN packets for that digit to be ignored. When the next in order END packet arrives, it too is dropped - Asterisk believes that there was no initial BEGIN. The solution this patch provides is to trust the END packet to convey the information needed for the Asterisk core to produce the DTMF digit. If we receive an END packet, and it: * Has a timestamp greater then the last timestamp received from an END packet * Does not have the same sequence number as the last received sequence number (and is thus not an END packet retransmission) Then we send the END frame up to the Asterisk core. It contains enough DTMF information for Asterisk to produce the digit. On the other hand, if we receive a BEGIN or continuation packet that occurs with a timestamp equal to or less then the last END timestamp, then we've received something out of order - but we already have received enough information to produce the digit. These packets are dropped. Much thanks goes to Olle Johansson (oej) for providing the idea for this solution. Review: https://reviewboard.asterisk.org/r/2033/ (issue ASTERISK-18404) Reporter: Stephane Chazelas Tested by: Matt Jordan 2012-07-18 19:12 +0000 [r370183-370205] Kevin P. Fleming * main/cel.c: Resolve severe memory leak in CEL logging modules. A customer reported a significant memory leak using Asterisk 1.8. They have tracked it down to ast_cel_fabricate_channel_from_event() in main/cel.c, which is called by both in-tree CEL logging modules (cel_custom.c and cel_sqlite3_custom.c) for each and every CEL event that they log. The cause was an incorrect assumption about how data attached to an ast_channel would be handled when the channel is destroyed; the data is now stored in a datastore attached to the channel, which is destroyed along with the channel at the proper time. (closes issue AST-916) Review: https://reviewboard.asterisk.org/r/2053/ * apps/app_macro.c, channels/chan_iax2.c, apps/app_mixmonitor.c, apps/app_stack.c, funcs/func_global.c, res/res_odbc.c, main/channel.c, addons/app_mysql.c, main/pbx.c, funcs/func_curl.c, main/ccss.c, funcs/func_odbc.c, funcs/func_lock.c: Ensure that all ast_datastore_info structures are 'const'. While addressing a bug, I came across a instance of 'struct ast_datastore_info' that was not declared 'const'. Since the API already expects them to be 'const', this patch changes the declarations of all existing instances that were not already declared that way. 2012-07-16 19:50 +0000 [r370131] Walter Doekes * channels/chan_sip.c: Code cleanup and bugfix in chan_sip outboundproxy parsing. The bug was clearing the global outboundproxy when a peer-specific outboundproxy was bad. The cleanup reduces duplicate code. Review: https://reviewboard.asterisk.org/r/2034/ Reviewed by: Mark Michelson 2012-07-16 13:44 +0000 [r370081] Kinsey Moore * UPGRADE.txt, CHANGES: Add comments about the BUILD_NATIVE change This is a significant change and mention of it should have gone into UPGRADE.txt and CHANGES. 2012-07-12 20:15 +0000 [r370017] Richard Mudgett * channels/chan_dahdi.c, channels/sig_analog.c: Add missing ast_hangup() calls on some analog exception paths. Make starting analog_ss_thread() or __analog_ss_thread() failure paths hangup the channel. 2012-07-12 20:05 +0000 [r369993-370014] Kinsey Moore * channels/chan_sip.c: Include Expires header for SIP PUBLISH requests RFC3903 requres SIP PUBLISH requests to have Expires headers, so add them. Review: https://reviewboard.asterisk.org/r/2003/ Patch-by: gareth * channels/chan_sip.c: Prevent double uri_escaping in chan_sip when pedantic is enabled If pedantic mode is enabled, outbound invites will have double-escaped contacts. This avoids setting an already-escaped string into a field where it is expected to be unescaped. (closes issue ASTERISK-20023) Reported-by: Walter Doekes 2012-07-12 14:23 +0000 [r369970] Michael L. Young * funcs/func_math.c: Correct Documentation For DEC Function The documentation for DEC in func_math.c was incorrect. Looks like a copy and paste error. (Closes issue ASTERISK-20095) Reported by: Billy Chia Tested by: Michael L. Young Patches: func_math.patch uploaded by Billy Chia (license 6381) 2012-07-11 17:08 +0000 [r369937] Tilghman Lesher * funcs/func_realtime.c: Allow the REALTIME() function to report errors back to the caller. Also, do more error checking on the arguments specified to the REALTIME() function and clarify the documentation. While I was editing the file, a few coding guidelines fixups, as well. Review: https://reviewboard.asterisk.org/r/2031/ 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,