diff options
author | lmadsen <lmadsen@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-06-01 15:59:14 +0000 |
---|---|---|
committer | lmadsen <lmadsen@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-06-01 15:59:14 +0000 |
commit | 5de59dbfa61db47d8ce65e5fce4018d9483b5c8f (patch) | |
tree | 1e1548f8056fc2d1bc6153433f33ad1c66e5f935 | |
parent | 3123a057317925b9f8d003e2f6408b6c9f524530 (diff) |
Importing files for 1.4.33-rc1 release.
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.4.33-rc1@266647 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r-- | .lastclean | 1 | ||||
-rw-r--r-- | .version | 1 | ||||
-rw-r--r-- | ChangeLog | 28855 |
3 files changed, 28857 insertions, 0 deletions
diff --git a/.lastclean b/.lastclean new file mode 100644 index 000000000..bb95160cb --- /dev/null +++ b/.lastclean @@ -0,0 +1 @@ +33 diff --git a/.version b/.version new file mode 100644 index 000000000..b21c0e844 --- /dev/null +++ b/.version @@ -0,0 +1 @@ +1.4.33-rc1 diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 000000000..75aa16451 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,28855 @@ +2010-06-01 Leif Madsen <lmadsen@digium.com> + + * Asterisk 1.4.33-rc1 Released. + +2010-06-01 15:17 +0000 [r266585] Tilghman Lesher <tlesher@digium.com> + + * main/asterisk.c: Prevent CLI prompt from distorting output of + lines shorter than the prompt. Uses the VT100 method of clearing + the line from the cursor position to the end of the line: Esc-0K + (closes issue #17160) Reported by: coolmig Patches: + 20100531__issue17160.diff.txt uploaded by tilghman (license 14) + Tested by: coolmig + +2010-06-01 14:57 +0000 [r266579-266580] Paul Belanger <paul.belanger@polybeacon.com> + + * channels/chan_sip.c: Fix formatting issue with previous patch. + + * channels/chan_sip.c: Missing fallback to audio fax feature when + T.38 re-INVITE failed When a T.38 re-INVITE failed with an 488 or + 606 answer, we should fallback to audio fax by send a + re-re-INVITE without T.38. The function is backported from 1.6 + asterisk. (closes issue #16795) Reported by: vrban (closes issue + #16692) Reported by: vrban Patches: + t38_fallback_to_audio_v3.patch uploaded by vrban (license 756) + Tested by: lmadsen, vrban, haggard + https://reviewboard.asterisk.org/r/514/ + +2010-05-30 04:43 +0000 [r266437] Tilghman Lesher <tlesher@digium.com> + + * contrib/init.d/rc.debian.asterisk: Reverting patch and reopening + issue #16784, as patch breaks color display. + +2010-05-26 21:11 +0000 [r266142] Tilghman Lesher <tlesher@digium.com> + + * main/asterisk.c, main/logger.c: Use sigaction for signals which + should persist past the initial trigger, not signal. If you call + signal() in a Solaris signal handler, instead of just resetting + the signal handler, it causes the signal to refire, because the + signal is not marked as handled prior to the signal handler being + called. This effectively causes Solaris to immediately exceed the + threadstack in recursive signal handlers and crash. (closes issue + #17000) Reported by: rmcgilvr Patches: + 20100526__issue17000.diff.txt uploaded by tilghman (license 14) + Tested by: rmcgilvr + +2010-05-26 20:33 +0000 [r266140] David Vossel <dvossel@digium.com> + + * channels/chan_dahdi.c: add dahdi_func_write to zap_tech structure + This was supposed to be committed with r263292, the back-port of + teh DAHDI buffer policy dial string option + +2010-05-26 18:21 +0000 [r266004] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: Make AgentComplete message more consistent. At + times, the "Member" field was not specified during the event. + It's there now. (closes issue #15638) Reported by: elbriga + Patches: patchAppQueueAgentComplete.diff uploaded by elbriga + (license 482) + +2010-05-26 16:21 +0000 [r265910] Tilghman Lesher <tlesher@digium.com> + + * res/res_config_pgsql.c: Not finding rows in the DB does not rise + to the level of a warning. (closes issue #17062) Reported by: + drookie Patches: 20100525__issue17062.diff.txt uploaded by + tilghman (license 14) + +2010-05-25 17:11 +0000 [r265613] David Vossel <dvossel@digium.com> + + * channels/chan_dahdi.c: fixes build issue with zaptel (closes + issue #17394) Reported by: aragon Patches: half_buffer_fix.diff + uploaded by dvossel (license 671) Tested by: aragon + +2010-05-25 16:48 +0000 [r265610] Matthew Nicholson <mnicholson@digium.com> + + * apps/app_queue.c: Don't mark the cdr records of unanswered queue + calls with "NOANSWER". This restores the behavior prior to + r258670. (closes issue #17334) Reported by: jvandal Patches: + queue-cdr-fixes1.diff uploaded by mnicholson (license 96) Tested + by: aragon, jvandal + +2010-05-25 13:33 +0000 [r265570] Terry Wilson <twilson@digium.com> + + * include/asterisk/options.h, main/asterisk.c, Makefile, + doc/manager.txt, main/manager.c: Merged revisions 265320,265467 + via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk + ........ r265320 | twilson | 2010-05-24 14:06:40 -0500 (Mon, 24 + May 2010) | 14 lines Add the FullyBooted AMI event It is possible + to connect to the manager interface before all Asterisk modules + are loaded. To ensure that an application does not send AMI + actions that might require a module that has not yet loaded, the + application can listen for the FullyBooted manager event. It will + be sent upon connection if all modules have been loaded, or as + soon as loading is complete. The event: Event: FullyBooted + Privilege: system,all Status: Fully Booted Review: + https://reviewboard.asterisk.org/r/639/ ........ r265467 | + twilson | 2010-05-24 17:21:58 -0500 (Mon, 24 May 2010) | 1 line + Merge the rest of the FullyBooted patch ........ + +2010-05-24 19:37 +0000 [r265365] David Vossel <dvossel@digium.com> + + * main/channel.c: fixes segfault when using generic plc + +2010-05-21 20:59 +0000 [r264996-265089] Mark Michelson <mmichelson@digium.com> + + * include/asterisk/file.h, apps/app_queue.c: Don't hang up on a + queue caller if the file we attempt to play does not exist. This + also fixes a documentation mistake in file.h that made my + original attempt to correct this problem not work correctly. + (closes issue #17061) Reported by: RoadKill + + * include/asterisk/channel.h: Fix grammatical error in comment. + + * main/channel.c, main/autoservice.c, include/asterisk/channel.h: + Allow ast_safe_sleep to defer specific frames until after the + sleep has concluded. From reviewboard Background: A Digium + customer discovered a somewhat odd bug. The setup is that parties + A and B are bridged, and party A places party B on hold. While + party B is listening to hold music, he mashes a bunch of DTMF. + Party A takes party B off hold while this is happening, but party + B continues to hear hold music. I could reproduce this about 1 in + 5 times. The issue: When DTMF features are enabled and a user + presses keys, the channel that the DTMF is streamed to is placed + in an ast_safe_sleep for 100 ms, the duration of the emulated + tone. If an AST_CONTROL_UNHOLD frame is read from the channel + during the sleep, the frame is dropped. Thus the unhold + indication is never made to the channel that was originally + placed on hold. The fix: Originally, I discussed with Kevin + possible ways of fixing the specific problem reported. However, + we determined that the same type of problem could happen in other + situations where ast_safe_sleep() is used. Using autoservice as a + model, I modified ast_safe_sleep_conditional() to defer specific + frame types so they can be re-queued once the sleep has finished. + I made a common function for determining if a frame should be + deferred so that there are not two identical switch blocks to + maintain. Review: https://reviewboard.asterisk.org/r/674/ + +2010-05-20 23:23 +0000 [r264820] Richard Mudgett <rmudgett@digium.com> + + * main/callerid.c: ast_callerid_parse() had a path that left name + uninitialized. Several callers of ast_callerid_parse() do not + initialize the name parameter before calling thus there is the + potential to use an uninitialized pointer. + +2010-05-20 15:59 +0000 [r264541] Mark Michelson <mmichelson@digium.com> + + * include/asterisk/options.h, main/loader.c, main/channel.c, + include/asterisk/channel.h: 1.4 version of PLC fix. Analogous to + trunk revision 264452, but without the change to chan_sip since + it is not necessary in this branch. + +2010-05-19 20:01 +0000 [r264334] Matthew Nicholson <mnicholson@digium.com> + + * apps/app_speech_utils.c: Set quieted flag when receiving a dtmf + tone during playback in speechbackground. (closes issue #16966) + Reported by: asackheim + +2010-05-19 17:41 +0000 [r264248] Tilghman Lesher <tlesher@digium.com> + + * include/asterisk/options.h, configure, configure.ac: Internal + timing is now on by default, if you're using DAHDI 2.3 or above. + The reason for ensuring DAHDI 2.3 or above is that this version + ensures that a timer is always available, whereas in previous + versions, it was possible for DAHDI to be loaded, but have no + drivers to actually generate timing. If internal_timing was + turned on in this circumstance, a complete lack of audio would + result. This is the reason why internal_timing was not on by + default. However, now that DAHDI ensures the availability of a + timer, there is no reason for this setting to be off (and in + fact, it solves a great many initial user problems). (closes + issue #15932) Reported by: dimas Patches: + 20100519__issue15932.diff.txt uploaded by tilghman (license 14) + Tested by: tilghman + +2010-05-19 08:23 +0000 [r264056] Alec L Davis <sivad.a@paradise.net.nz> + + * configs/indications.conf.sample: fix incorrectly typed + indications for [nz] stutter and dialrecall (closes issue #17359) + Reported by: alecdavis Patches: bug17359.diff.txt uploaded by + alecdavis (license 585) + +2010-05-19 06:32 +0000 [r263949] Tilghman Lesher <tlesher@digium.com> + + * main/dsp.c: Because progress is called multiple times, across + several frames, we must persist states when detecting multitone + sequences. (closes issue #16749) Reported by: dant Patches: + dsp.c-bug16749-1.patch uploaded by dant (license 670) Tested by: + dant + +2010-05-18 18:54 +0000 [r263769] Jeff Peeler <jpeeler@digium.com> + + * apps/app_directory.c: Modify directory name reading to be + interrupted with operator or pound escape. In the case of + accidentally entering the wrong first three letters for the + reading, users could be very frustrated if the name listing is + very long. This allows interrupting the reading by pressing 0 or + #. 0 will attempt to execute a configured operator (o) extension + and # will exit and proceed in the dialplan. ABE-2200 + +2010-05-17 22:00 +0000 [r263637-263639] Mark Michelson <mmichelson@digium.com> + + * main/devicestate.c: Fix logic error when checking for a devstate + provider. When using strsep, if one of the list of specified + separators is not found, it is the first parameter to strsep + which is now NULL, not the pointer returned by strsep. This issue + isn't especially severe in that the worst it is likely to do is + waste some cycles when a device with no '/' and no ':' is passed + to ast_device_state. + + * main/pbx.c: Remove arbitrary size limitation for hints. (closes + issue #17257) Reported by: tim_ringenbach Patches: + hints_crash_fix.diff uploaded by tim ringenbach (license 540) + +2010-05-17 14:35 +0000 [r263374-263456] Leif Madsen <lmadsen@digium.com> + + * main/http.c: Manager cookies are not compatible with RFC2109. The + Version field in the cookies we're setting contain quotes around + the version number which is not compatible with RFC2109 and + breaks some implementations. (closes issue #17231) Reported by: + ecarruda Patches: manager_rfc2109-trunk-v1.patch uploaded by + ecarruda (license 559) manager_rfc2109-1.6.2-v1.patch uploaded by + ecarruda (license 559) Tested by: ecarruda, russell + + * sounds/Makefile: Update link to new version of core sounds. The + latest version of the core sounds files 1.4.19 now includes the + missing queue-minute sound file which is called by app_queue but + which has been missing. (closes issue #17123) Reported by: + n8ideas + +2010-05-17 13:01 +0000 [r263292] David Vossel <dvossel@digium.com> + + * channels/chan_dahdi.c: backport of DAHDI buffer policy dial + string option + +2010-05-13 23:08 +0000 [r263112] Jeff Peeler <jpeeler@digium.com> + + * main/channel.c, main/file.c: Fix internal timing not working with + Zaptel dahdi_compat.h was not being included in channel.c when + used with Zaptel and wasn't in file.c at all. (closes issue + #15250) Reported by: mneuhauser Patches: dahdi_compat.patch + uploaded by mneuhauser (license 425) Tested by: IgorG + +2010-05-12 17:00 +0000 [r262662] David Vossel <dvossel@digium.com> + + * apps/app_meetme.c: fixes app_meetme dsp error We attempted to + detect silence after translating a frame from signed linear. This + caused a flooding of errors. To resolve this the code to detect + silence was moved before the translation. (closes issue #17133) + Reported by: jsdyer + +2010-05-11 19:55 +0000 [r262421] Jason Parker <jparker@digium.com> + + * pbx/Makefile: Use a less silly method for modifying a + flex-generated file. The sed syntax that was used wasn't actually + valid, causing some versions to choke. This is the method that is + used in 1.6.x+ for similar changes. (closes issue #16696) + Reported by: bklang Patches: 16696-sedfix.diff uploaded by qwell + (license 4) Tested by: qwell + +2010-05-11 17:22 +0000 [r262321] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c, Makefile.rules: Fix issue #17302 a slightly + different way (mad props to Qwell) + +2010-05-10 16:34 +0000 [r262151] Tilghman Lesher <tlesher@digium.com> + + * Makefile.rules: Allow compilation on Mac OS X 10.4 (Tiger) + (closes issue #17297) Reported by: jcovert Patches: + 20100506__issue17297.diff.txt uploaded by tilghman (license 14) + (closes issue #17302) Reported by: jcovert + +2010-05-06 20:10 +0000 [r261698-261735] Jeff Peeler <jpeeler@digium.com> + + * apps/app_voicemail.c: Only allow the operator key to be accepted + after leaving a voicemail. Or rather disallow the operator key + from being accepted when not offered, such as after finishing a + recording from within the mailbox options menu. ABE-2121 SWP-1267 + + * apps/app_voicemail.c: Revert 261698, code in trunk leads me to + believe unadvertised options are supported. + + * apps/app_voicemail.c: Remove some hidden broken code in the + voicemail mailbox options menu. After finishing a recording from + within the mailbox options menu, pressing 0 exhibited strange + behavior with operator=yes turned on. Pressing 0 was not even + advertised as an option and the options from the vm-saveoper + prompt: "Press 1 to accept this recording. Otherwise, please + continue to hold" did not function correctly. While this of + course could be fixed, it didn't really seem to make sense even + if it was working properly. ABE-2121 SWP-1267 + +2010-05-06 16:56 +0000 [r261608] Jason Parker <jparker@digium.com> + + * sounds/Makefile: Use the versioned MOH tarballs, now that we have + them. This makes for more reproducibility. Prompted by a + discussion in #asterisk-dev + +2010-06-01 Leif Madsen <lmadsen@digium.com> + + * Asterisk 1.4.32 Released + +2010-05-26 Leif Madsen <lmadsen@digium.com> + + * Asterisk 1.4.32-rc2 Released + +2010-05-26 10:56 -0500 [r265891] Matt Nicholson <mnicholson@digium.com> + + * Merged r265610 from 1.4: + + Don't mark the cdr records of unanswered queue calls with "NOANSWER". + This restores the behavior prior to r258670. + + (closes issue #17334) + Reported by: jvandal + Patches: + queue-cdr-fixes1.diff uploaded by mnicholson (license 96) + Tested by: aragon, jvandal + +2010-05-06 Leif Madsen <lmadsen@digium.com> + + * Asterisk 1.4.32-rc1 Released + +2010-05-05 16:42 +0000 [r261274] Paul Belanger <paul.belanger@polybeacon.com> + + * channels/chan_sip.c: Registration fix for SIP realtime. Make sure + realtime fields are not empty. (closes issue #17266) Reported by: + Nick_Lewis Patches: chan_sip.c-realtime.patch uploaded by Nick + Lewis (license 657) Tested by: Nick_Lewis, sberney Review: + https://reviewboard.asterisk.org/r/643/ + +2010-05-04 23:47 +0000 [r261093-261094] Tilghman Lesher <tlesher@digium.com> + + * main/channel.c: Add a tiny corner case to the previous commit + + * main/channel.c: Protect against overflow, when calculating how + long to wait for a frame. (closes issue #17128) Reported by: + under Patches: d.diff uploaded by under (license 914) + +2010-05-04 18:46 +0000 [r260923] Jeff Peeler <jpeeler@digium.com> + + * apps/app_voicemail.c: Voicemail transfer to operator should occur + immediately, not after main menu. There were two scenarios in the + advanced options that while using the operator=yes and review=yes + options, the transfer occurred only after exiting the main menu + (after sending a reply or leaving a message for an extension). + Now after the audio is processed for the reply or message the + transfer occurs immediately as expected. ABE-2107 ABE-2108 + +2010-05-04 17:40 +0000 [r260887] tringenbach <tringenbach@localhost>: + + * README-SERIOUSLY.bestpractices.txt: Fix FILTER() examples to work + in 1.4 Review: https://reviewboard.asterisk.org/r/644/ + +2010-05-04 15:49 +0000 [r260801] Jason Parker <jparker@digium.com> + + * build_tools/make_build_h: Fix fallout from removing from + configure script. Pointed out by philipp64 on #asterisk-dev + +2010-05-03 16:54 +0000 [r260661-260662] Paul Belanger <paul.belanger@polybeacon.com> + + * Makefile: Should have removed /usr/lib/ part. Thanks Qwell. + + * Makefile: non-root make install PREFIX=/tmp fails. Prepend libdir + when executing mkpkgconfig allowing non-root installs to work. + (closes issue #17268) Reported by: pabelanger Patches: + issue17268.patch uploaded by pabelanger (license 224) Tested by: + pabelanger + +2010-05-03 14:57 +0000 [r260569] Leif Madsen <lmadsen@digium.com> + + * doc/HOWTO_collect_debug_information.txt: Minor typo pointed out + by pabelanger on IRC. + +2010-04-30 22:22 +0000 [r260434] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_dahdi.c: Ensure channel state is not incorrectly + set in the case of a very early answer. The needringing bit was + being read in dahdi_read after answering thereby setting the + state to ringing from up. This clears needringing upon answering + so that is no longer possible. (closes issue #17067) Reported by: + tzafrir Patches: needringing.diff uploaded by tzafrir (license + 46) + +2010-04-30 20:08 +0000 [r260345] Mark Michelson <mmichelson@digium.com> + + * res/res_musiconhold.c: Fix potential crash from race condition + due to accessing channel data without the channel locked. In + res_musiconhold.c, there are several places where a channel's + stream's existence is checked prior to calling ast_closestream on + it. The issue here is that in several cases, the channel was not + locked while checking the stream. The result was that if two + threads checked the state of the channel's stream at + approximately the same time, then there could be a situation + where both threads attempt to call ast_closestream on the + channel's stream. The result here is that the refcount for the + stream would go below 0, resulting in a crash. I have added + proper channel locking to res_musiconhold.c to ensure that we do + not try to check chan->stream without the channel locked. A + Digium customer has been using this patch for several weeks and + has not had any crashes since applying the patch. ABE-2147 + +2010-04-29 22:11 +0000 [r260195] Richard Mudgett <rmudgett@digium.com> + + * channels/chan_dahdi.c: DTMF CallerID detection problems. The code + handling DTMF CallerID drops digits on long CallerID numbers and + may timeout waiting for the first ring with shorter numbers. The + DTMF emulation mode was not turned off when processing DTMF + CallerID. When the emulation code gets behind in processing the + DTMF digits it can skip a digit. For shorter numbers, the timeout + may have been too short. I increased it from 2 seconds to 4 + seconds. Four seconds is a typical time between rings for many + countries. (closes issue #16460) Reported by: sum Patches: + issue16460.patch uploaded by rmudgett (license 664) + issue16460_v1.6.2.patch uploaded by rmudgett (license 664) Tested + by: sum, rmudgett Review: https://reviewboard.asterisk.org/r/634/ + JIRA SWP-562 JIRA AST-334 JIRA SWP-901 + +2010-04-29 15:31 +0000 [r259858-260049] David Vossel <dvossel@digium.com> + + * include/asterisk/audiohook.h, main/audiohook.c: Fixes crash in + audiohook_write_list The middle_frame in the audiohook_write_list + function was being freed if a audiohook manipulator returned a + failure. This is incorrect logic. This patch resolves this and + adds detailed descriptions of how this function should work and + why manipulator failures must be ignored. (closes issue #17052) + Reported by: dvossel Tested by: dvossel (closes issue #16196) + Reported by: atis Review: https://reviewboard.asterisk.org/r/623/ + + * main/channel.c, channels/chan_local.c: resolves deadlocks in + chan_local Issue_1. In the local_hangup() 3 locks must be held at + the same time... pvt, pvt->chan, and pvt->owner. Proper deadlock + avoidance is done when the channel to hangup is the outbound + chan_local channel, but when it is not the outbound channel we + have an issue... We attempt to do deadlock avoidance only on the + tech pvt, when both the tech pvt and the pvt->owner are locked + coming into that loop. By never giving up the pvt->owner channel + deadlock avoidance is not entirely possible. This patch resolves + that by doing deadlock avoidance on both the pvt->owner and the + pvt when trying to get the pvt->chan lock. Issue_2. ast_prod() is + used in ast_activate_generator() to queue a frame on the channel + and make the channel's read function get called. This function is + used in ast_activate_generator() while the channel is locked, + which mean's the channel will have a lock both from the generator + code and the frame_queue code by the time it gets to + chan_local.c's local_queue_frame code... local_queue_frame + contains some of the same crazy deadlock avoidance that + local_hangup requires, and this recursive lock prevents that + deadlock avoidance from happening correctly. This patch removes + ast_prod() from the channel lock so only one lock is held during + the local_queue_frame function. (closes issue #17185) Reported + by: schmoozecom Patches: issue_17185_v1.diff uploaded by dvossel + (license 671) issue_17185_v2.diff uploaded by dvossel (license + 671) Tested by: schmoozecom, GameGamer43 Review: + https://reviewboard.asterisk.org/r/631/ + +2010-04-28 21:07 +0000 [r259852] Leif Madsen <lmadsen@digium.com> + + * config.guess: Update config.guess. Updating config.guess because + after installing Ubuntu Server 9.10 and running all the update + scripts, running ./configure would not continue because it was + unable to determine what kind of system I had. After updating + config.guess things started working again. + +2010-04-28 20:30 +0000 [r259748-259847] Jason Parker <jparker@digium.com> + + * configure, configure.ac: Add AC_CONFIG_AUX_DIR to configure + script, so systems without install can use install-sh from our + source dir. + + * makeopts.in: Missed this when removing $ID + + * Makefile, configure, configure.ac: Remove usage of `id` since it + isn't useful and was causing breakge. Solaris `id` doesn't + support the -u argument. Instead of figuring out how to fix this + to work on Solaris, I decided to check why it was necessary and + where else it was used. It was only used in one place, and it + hasn't been needed for a very long time (I question whether it + was ever needed). + +2010-04-28 17:13 +0000 [r259664] Jeff Peeler <jpeeler@digium.com> + + * apps/app_voicemail.c: Do not play goodbye prompt after timeout of + message review. ABE-2124 + +2010-04-27 21:53 +0000 [r259531] Richard Mudgett <rmudgett@digium.com> + + * channels/chan_dahdi.c: DAHDI "WARNING" message is confusing and + vague "WARNING[28406]: chan_dahdi.c:6873 ss_thread: CallerID feed + failed: Success" Changed the warning to "Failed to decode + CallerID on channel 'name'". The message before it is likely more + specific about why the CallerID decode failed. SWP-501 AST-283 + +2010-04-27 21:48 +0000 [r259526] Leif Madsen <lmadsen@digium.com> + + * sounds/Makefile: Update sounds files. * Add additional sounds + prompts for say_enumeration * Update the English conference + sounds prompts so they are better quality and all sound more + consistent * Clean up the core-sounds-XX.txt and + extra-sounds-XX.txt files to include all present sound files Both + core (en, fr, es) and extra (en, fr) sounds files have been + updated. (closes issue #16200) Reported by: murf (closes issue + #17137) Reported by: lmadsen + +2010-04-27 21:15 +0000 [r259352-259441] Jason Parker <jparker@digium.com> + + * main/editline/configure, main/editline/configure.in: Add gar to + the check for AR for those silly OSes (Solaris) that don't have + ar. + + * configure, configure.ac: Support the silly OSes that don't have + ar and strip. Since AC_PATH_TOOL is equiv to AC_CHECK_TOOL when + path isn't specified, and AC_PATH_TOOLS doesn't exist, we'll just + switch to AC_CHECK_TOOLS. + +2010-04-27 18:14 +0000 [r259270] Richard Mudgett <rmudgett@digium.com> + + * channels/chan_dahdi.c, configs/chan_dahdi.conf.sample: + hidecalleridname parameter in chan_dahdi.conf Issue #7321 + implements a new chan_dahdi configuration option. However, a + change mentioned in the issue was never implemented. This is the + change that will allow the feature to work. I added a note to + chan_dahdi.conf.sample about the feature. (closes issue #17143) + Reported by: djensen99 Patches: diff.txt uploaded by djensen99 + (license NA) (One line change) Tested by: djensen99 + +2010-04-26 21:44 +0000 [r259018-259104] Mark Michelson <mmichelson@digium.com> + + * main/channel.c: Let compilation succeed warning-free when + DONT_OPTIMIZE is turned off. + + * main/channel.c: Prevent Newchannel manager events for dummy + channels. No Newchannel manager event will be fired for channels + that are allocated to not match a registered technology type. + Thus bogus channels allocated solely for variable substitution or + CDR operations do not result in a Newchannel event. (closes issue + #16957) Reported by: atis Review: + https://reviewboard.asterisk.org/r/601 + +2010-04-25 18:09 +0000 [r258775] Tilghman Lesher <tlesher@digium.com> + + * res/res_monitor.c: When StopMonitor is called, ensure that it + will not be restarted by a channel event. (closes issue #16590) + Reported by: kkm Patches: resmonitor-16590-trunk.239289.diff + uploaded by kkm (license 888) + +2010-04-22 21:49 +0000 [r258670] Matthew Nicholson <mnicholson@digium.com> + + * main/cdr.c, main/channel.c, res/res_features.c: Fix broken CDR + behavior. This change allows a CDR record previously marked with + disposition ANSWERED to be set as BUSY or NO ANSWER. Additionally + this change partially reverts r235635 and does not set the + AST_CDR_FLAG_ORIGINATED flag on CDRs generated from ast_call(). + To preserve proper CDR behavior, the AST_CDR_FLAG_DIALED flag is + now cleared from all brige CDRs in ast_bridge_call(). (closes + issue #16797) Reported by: VarnishedOtter Tested by: mnicholson + +2010-04-21 21:45 +0000 [r258432] Jeff Peeler <jpeeler@digium.com> + + * apps/app_voicemail.c: Fix looping forever when no input received + in certain voicemail menu scenarios. Specifically, prompting for + an extension (when leaving or forwarding a message) or when + prompting for a digit (when saving a message or changing + folders). ABE-2122 SWP-1268 + +2010-04-20 16:16 +0000 [r257856-258029] Jeff Peeler <jpeeler@digium.com> + + * apps/app_voicemail.c: Play correct prompt when voicemail store + failure occurs after attempted forward. If a user's mailbox was + full and a message was attempted to be forwarded to said box, + warnings on the console would indicate failure. However, the + played prompt was that of success (vm-msgsaved). Now storage + failure is taken into account and the correct prompt + (vm-mailboxfull) is played when appropriate. ABE-2123 SWP-1262 + + * apps/app_voicemail.c: make app_voicemail compile with + IMAP_STORAGE + +2010-04-16 21:15 +0000 [r257686] Dwayne M. Hubbard <dwayne.hubbard@gmail.com> + + * apps/app_mixmonitor.c: Make the mixmonitor thread process audio + frames faster Mantis issue 17078 reports MixMonitor recordings + have shorter durations than the call duration. This was because + the mixmonitor thread was not processing frames from the + audiohook fast enough. The mixmonitor thread would slowly fall + behind the most recent audio frame and when the channel hangs up, + the mixmonitor thread would exit without processing the same + number of frames as the channel; leaving the mixmonitor recording + shorter than actual call duration. This revision fixes this issue + by moving the ast_audiohook_trigger_wait() and the subsequent + audiohook.status check into the block where the + ast_audiohook_read_frame() function returns NULL. (closes issue + #17078) Reported by: geoff2010 Patches: dw-M17078.patch uploaded + by dhubbard (license 733) Tested by: dhubbard, geoff2010 Review: + https://reviewboard.asterisk.org/r/611/ + +2010-04-15 21:23 +0000 [r257467-257544] Tilghman Lesher <tlesher@digium.com> + + * include/asterisk/app.h, main/app.c: Allow application options + with arguments to contain parentheses, through a variety of + escaping techniques. Fixes SWP-1194 (ABE-2143). Review: + https://reviewboard.asterisk.org/r/604/ + + * channels/chan_sip.c: Don't recreate peer, when responding to a + repeated deregistration attempt. When a reply to a deregistration + is lost in transmit, the client retries the deregistration. + Previously, this would cause a realtime/autocreate peer to be + loaded back into memory, after it had already been correctly + purged. Instead, we just want to resend the reply without loading + the peer. (closes issue #16908) Reported by: kkm Patches: + 20100412__issue16908.diff.txt uploaded by tilghman (license 14) + Tested by: kkm + +2010-04-15 19:40 +0000 [r257342-257426] Leif Madsen <lmadsen@digium.com> + + * doc/backtrace.txt: Update backtrace.txt documentation. Update the + backtrace.txt documentation so it conforms to the same layout as + other documents we've been working on recently. Additionally, add + a bunch of new information about gathering backtraces for crashes + and deadlocks, along with ways of verifying your file before + uploading it. Create a couple of one line commands for people to + generate the files we need. (closes issue #17190) Reported by: + lmadsen Patches: backtrace.txt.patch-2 uploaded by lmadsen + (license 10) Tested by: lmadsen, pabelanger + + * doc/backtrace.txt: Update address of the bug tracker. + +2010-04-14 23:08 +0000 [r257266] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: When forwarding a message, ensure that + prepending works correctly. This is a regression in 1.4, only. + (closes issue #17103) Reported by: mglazer Patches: + 20100408__issue17103.diff.txt uploaded by tilghman (license 14) + Tested by: tilghman + +2010-04-13 16:46 +0000 [r257070] Matthew Nicholson <mnicholson@digium.com> + + * main/manager.c, configs/manager.conf.sample: Add an option to + restore past broken behavor of the Events manager action Before + r238915, certain values for the EventMask parameter of the Events + action would result in no response being returned. This patch + adds an option to restore that broken behavior. Also while fixing + this bug I discovered that passing an empty EventMasks parameter + would also result in no response being returned, this has been + fixed as well while being preserved when the broken behavior is + requested. (closes issue #17023) Reported by: nblasgen Review: + https://reviewboard.asterisk.org/r/602/ + +2010-04-12 17:29 +0000 [r256900] Leif Madsen <lmadsen@digium.com> + + * doc/HOWTO_collect_debug_information.txt (added): Add How-To + document on collecting debugging info for issues.asterisk.org + Paul Belanger has been helping a lot with bug tracking recently + and created this document that we can now point to when + additional debugging information is required. This document will + help those filing issues to know how to get the information + required when filing their issues. This will make things easier + on the developers. Initial text and changes by pabelanger. Tweaks + and editing by myself. (closes issue #17159) Reported by: + pabelanger Patches: HOWTO_collect_debug_information.txt.patch + uploaded by lmadsen (license 10) Tested by: tzafrir, pabelanger, + lmadsen + +2010-04-06 00:10 +0000 [r256225] Richard Mudgett <rmudgett@digium.com> + + * channels/chan_dahdi.c: DAHDI/PRI call to pri_channel_bridge() not + protected by PRI lock. SWP-1231 ABE-2163 + +2010-05-03 Leif Madsen <lmadsen@digium.com> + + * Asterisk 1.4.31 Released + +2010-04-29 Leif Madsen <lmadsen@digium.com> + + * Asterisk 1.4.31-rc2 Released + +2010-04-29 10:31 +0000 [r260049] David Vossel <dvossel@digium.com> + + * include/asterisk/audiohook.h, main/audiohook.c: Fixes crash in + audiohook_write_list. (closes issue 0017052) Reported by: dvossel + Tested by: dvossel. (closes issue 0016196) Reported by: atis. + Review: https://reviewboard.asterisk.org/r/623/ + +2010-04-28 10:31 +0000 [r259858] David Vossel <dvossel@digium.com> + + * channels/chan_local.c, main/channel.c: Resolves deadlocks in + chan_local. (closes issue 0017185) Reported by: schmoozecom + Patches: issue_17185_v1.diff uploaded by dvossel (license 671) + issue_17185_v2.diff uploaded by dvossel (license 671) Tested + by: schmoozecom, GameGamer43 + Review: https://reviewboard.asterisk.org/r/631/ + +2010-04-05 Leif Madsen <lmadsen@digium.com> + + * Asterisk 1.4.31-rc1 Released + +2010-04-02 23:45 +0000 [r256009-256014] Russell Bryant <russell@digium.com> + + * channels/chan_local.c: Resolve a deadlock that occurs due to a + pointless call to ast_bridged_channel() (closes issue #16840) + Reported by: bzing2 Patches: patch.txt uploaded by bzing2 + (license 902) issue_16840.rev1.diff uploaded by russell (license + 2) Tested by: bzing2, russell + + * main/channel.c: Remove extremely verbose debug message. + +2010-03-31 19:09 +0000 [r255591] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: Ensure line terminators in email are + consistent. Fixes an issue with certain Mail Transport Agents, + where attachments are not interpreted correctly. (closes issue + #16557) Reported by: jcovert Patches: + 20100308__issue16557__1.4.diff.txt uploaded by tilghman (license + 14) 20100308__issue16557__1.6.0.diff.txt uploaded by tilghman + (license 14) 20100308__issue16557__trunk.diff.txt uploaded by + tilghman (license 14) Tested by: ebroad, zktech Reviewboard: + https://reviewboard.asterisk.org/r/544/ + +2010-03-31 17:42 +0000 [r255503] Leif Madsen <lmadsen@digium.com> + + * apps/app_dial.c, configs/sip.conf.sample: Add documentation + clarifying when 't' and 'T' can be used. (closes issue #17021) + Reported by: kovzol Tested by: lmadsen, kovzol, davidw, ebroad + +2010-03-30 20:56 +0000 [r255322-255409] Russell Bryant <russell@digium.com> + + * channels/chan_h323.c: Don't kill Asterisk if the H323 listener + does not start. + + * pbx/pbx_dundi.c: Don't make Asterisk not start if pbx_dundi fails + to initialize. + +2010-03-25 20:41 +0000 [r254714-254800] Jason Parker <jparker@digium.com> + + * utils/Makefile: Don't remove local copies of utils in uninstall. + + * main/astobj2.c, include/asterisk/astobj2.h: Fix DEBUG_THREADS + issue with out-of-tree modules. Take 2, without ABI breakage this + time. Review: https://reviewboard.asterisk.org/r/588/ + +2010-03-25 18:51 +0000 [r254639] Russell Bryant <russell@digium.com> + + * Makefile, /: Update Asterisk 1.4 to use menuselect trunk. Review: + https://reviewboard.asterisk.org/r/590/ + +2010-03-25 17:33 +0000 [r254452-254552] Mark Michelson <mmichelson@digium.com> + + * include/asterisk/acl.h: Add doxygen for acl.h Review: + https://reviewboard.asterisk.org/r/528 + + * main/rtp.c: Several fixes regarding RFC2833 DTMF detection. Here + is a copy and paste of the details from my request on reviewboard + that dealt with these changes: Fix 1. The first change in place + is to fix Mantis issue 15811, which deals with a situation where + Asterisk will incorrectly interpret out of order RFC2833 frames + as duplicate DTMF digits. For instance, we would receive a + sequence like: seqno 1: DTMF 1 seqno 2: DTMF 1 seqno 3: DTMF 1 + seqno 4: DTMF 1 seqno 6: DTMF 1 (end) seqno 5: DTMF 1 seqno 7: + DTMF 1 (end) seqno 8: DTMF 1 (end) Prior to this patch when we + received the frame with seqno 5, we would interpret this as a new + DTMF 1. With this patch, we will check the seqno of the incoming + digit and not process the frame if the seqno is lower than the + last recorded seqno. Note that we do not record the seqno of the + dropped DTMF frame for future processing. While the above + situation is what was designed to be fixed, the patch is written + in such a way that the following would also be fixed too: seqno + 9: DTMF 1 seqno 10: DTMF 1 (end) seqno 11: DTMF 1 (end) seqno 13: + DTMF 2 seqno 12: DTMF 1 (end) seqno 14: DTMF 2 seqno 15: DTMF 2 + (end) seqno 16: DTMF 2 (end) seqno 17: DTMF 2 (end) In this + second situation, the beginning of the DTMF 2 arrives before the + final end frame of the DTMF 1. With the patch, seqno 12 is no + processed and thus we properly interpret the DTMF. Fix 2. The + second change in place is to fix an issue like the following: + seqno 1: DTMF 1 seqno 2: DTMF 1 seqno 3: DTMF 1 (end) *packet + lost* seqno 4: DTMF 1 (end) *packet lost* seqno 5: DTMF 1 (end) + *packet lost* seqno 6: DTMF 2 When we receive seqno 6, we had + code in place that was supposed to properly end the previously + unended DTMF 1. The problem was that the code was essentially a + no-op. The code would set up an end frame for the DTMF 1 but + would immediately overwrite the frame with the begin for DTMF 2. + I changed process_dtmf_rfc2833() so that instead of returning a + single frame, it is given as an output parameter a list of + frames. Each frame that needs to be returned is appended to this + list. Fix 3. The final change is a minor one where an + AST_CONTROL_SRCCHANGE frame could get lost. If we process a cisco + DTMF or an RFC 3389 frame and no frame was returned, then we + would return &ast_null_frame. The problem is that earlier in the + function, we may have generated an AST_CONTROL_SRCCHANGE frame + and put it in the list of frames we wish to return. This frame + would be lost in such a case. The patch fixes this problem + Review: https://reviewboard.asterisk.org/r/558 + +2010-03-25 15:57 +0000 [r254451] Terry Wilson <twilson@digium.com> + + * main/file.c: Handle new SRCCHANGE control message here too + +2010-03-24 00:37 +0000 [r254235] Jeff Peeler <jpeeler@digium.com> + + * res/res_monitor.c: Ensure that monitor recordings are written to + the correct location (again) This is an extension to 248860. As + such the dialplan test has been extended: ; non absolute path, + not combined exten => 5040, 1, monitor(wav,tmp/jeff/monitor_test) + exten => 5040, n, dial(sip/5001) ; absolute path, not combined + exten => 5041, 1, monitor(wav,/tmp/jeff/monitor_test2) exten => + 5041, n, dial(sip/5001) ; no path, not combined exten => 5042, 1, + monitor(wav,monitor_test3) exten => 5042, n, dial(sip/5001) ; + combined: changemonitor from non absolute to no path (leaves + tmp/jeff) exten => 5043, 1, monitor(wav,tmp/jeff/monitor_test4,m) + exten => 5043, n, changemonitor(monitor_test5) exten => 5043, n, + dial(sip/5001) ; combined: changemonitor from no path to non + absolute path exten => 5044, 1, monitor(wav,monitor_test6,m) + exten => 5044, n, changemonitor(tmp/jeff/monitor_test7) ; this + wasn't possible before exten => 5044, n, dial(sip/5001) ; non + absolute path, combined exten => 5045, 1, + monitor(wav,tmp/jeff/monitor_test8,m) exten => 5045, n, + dial(sip/5001) ; absolute path, combined exten => 5046, 1, + monitor(wav,/tmp/jeff/monitor_test9,m) exten => 5046, n, + dial(sip/5001) ; no path, combined exten => 5047, 1, + monitor(wav,monitor_test10,m) exten => 5047, n, dial(sip/5001) ; + combined: changemonitor from non absolute to absolute (leaves + tmp/jeff) exten => 5048, 1, + monitor(wav,tmp/jeff/monitor_test11,m) exten => 5048, n, + changemonitor(/tmp/jeff/monitor_test12) exten => 5048, n, + dial(sip/5001) ; combined: changemonitor from absolute to non + absolute (leaves /tmp/jeff) exten => 5049, 1, + monitor(wav,/tmp/jeff/monitor_test13,m) exten => 5049, n, + changemonitor(tmp/jeff/monitor_test14) exten => 5049, n, + dial(sip/5001) ; combined: changemonitor from no path to absolute + exten => 5050, 1, monitor(wav,monitor_test15,m) exten => 5050, n, + changemonitor(/tmp/jeff/monitor_test16) exten => 5050, n, + dial(sip/5001) ; combined: changemonitor from absolute to no path + (leaves /tmp/jeff) exten => 5051, 1, + monitor(wav,/tmp/jeff/monitor_test17,m) exten => 5051, n, + changemonitor(monitor_test18) exten => 5051, n, dial(sip/5001) ; + not combined: changemonitor from non absolute to no path (leaves + tmp/jeff) exten => 5052, 1, monitor(wav,tmp/jeff/monitor_test19) + exten => 5052, n, changemonitor(monitor_test20) exten => 5052, n, + dial(sip/5001) ; not combined: changemonitor from no path to non + absolute exten => 5053, 1, monitor(wav,monitor_test21) exten => + 5053, n, changemonitor(tmp/jeff/monitor_test22) exten => 5053, n, + dial(sip/5001) ; not combined: changemonitor from non absolute to + absolute (leaves tmp/jeff) exten => 5054, 1, + monitor(wav,tmp/jeff/monitor_test23) exten => 5054, n, + changemonitor(/tmp/jeff/monitor_test24) exten => 5054, n, + dial(sip/5001) ; not combined: changemonitor from absolute to non + absolute (leaves /tmp/jeff) exten => 5055, 1, + monitor(wav,/tmp/jeff/monitor_test24) exten => 5055, n, + changemonitor(tmp/jeff/monitor_test25) exten => 5055, n, + dial(sip/5001) ; not combined: changemonitor from no path to + absolute exten => 5056, 1, monitor(wav,monitor_test26) exten => + 5056, n, changemonitor(/tmp/jeff/monitor_test27) exten => 5056, + n, dial(sip/5001) ; not combined: changemonitor from absolute to + no path (leaves /tmp/jeff) exten => 5057, 1, + monitor(wav,/tmp/jeff/monitor_test28) exten => 5057, n, + changemonitor(monitor_test29) exten => 5057, n, dial(sip/5001) + +2010-03-23 22:45 +0000 [r254046-254161] Jason Parker <jparker@digium.com> + + * main/astobj2.c, main/lock.c (removed), main/channel.c, + main/Makefile, include/asterisk/astobj2.h, UPGRADE.txt, + include/asterisk/lock.h: Revert revisions 254046 and 254098. + + * UPGRADE.txt: Add note about the out-of-tree module ABI changes. + + * main/astobj2.c, main/lock.c (added), main/channel.c, + main/Makefile, include/asterisk/astobj2.h, + include/asterisk/lock.h: Allow out-of-tree modules to load, + regardless of DEBUG_THREADS/DEBUG_CHANNEL_LOCKS differences. This + can be guaranteed by forcing the ABI to no longer change when + these compiler flags are set. An unfortunate side-effect to this + is that there is an ABI change here. However, there is some + mitigation. Existing modules *will* fail to load since they would + require functions that no longer exist. Review: + https://reviewboard.asterisk.org/r/508/ + +2010-03-22 19:50 +0000 [r253799] Matthew Nicholson <mnicholson@digium.com> + + * res/res_features.c: Unconditionally copy the caller's account + code to the called party. (related to issue #16331) + +2010-03-21 14:26 +0000 [r253631-253670] Russell Bryant <russell@digium.com> + + * main/Makefile: Fix final link on FreeBSD by adding the + PTHREAD_CFLAGS. + + * main/sched.c, Makefile, apps/app_dial.c, channels/chan_dahdi.c, + main/manager.c, res/res_features.c, main/http.c, main/utils.c, + pbx/pbx_dundi.c, apps/app_followme.c: Resolve a number of FreeBSD + build issues. + +2010-03-18 17:57 +0000 [r253252-253349] Leif Madsen <lmadsen@digium.com> + + * apps/app_userevent.c: Typo found while fixing issue #16961. + + * doc/localchannel.txt: Synchronize text in localchannels.txt and + localchannels.tex. (issue #16963) + + * doc/localchannel.txt: Update new Local channel documentation. The + original reporter, Kobaz, of an issue with a Local channel that + inspired the Local channel documentation provided some tweaks to + the documentation after testing what I had written. Hopefully + anything that was vague or unclear has been cleaned up by these + changes. (closes issue #16963) Reported by: kobaz Patches: + localchannel-2.txt uploaded by kobaz (license 834) Tested by: + kobaz, lmadsen + +2010-03-17 16:25 +0000 [r253158] Terry Wilson <twilson@digium.com> + + * main/rtp.c, channels/chan_skinny.c, channels/chan_h323.c, + channels/chan_mgcp.c, channels/chan_sip.c, + include/asterisk/rtp.h: Revert API change in release branches + This re-renames ast_rtp_update_source to ast_rtp_new_source + +2010-03-17 00:26 +0000 [r253018] Leif Madsen <lmadsen@digium.com> + + * configs/say.conf.sample: Add french snipset to say.conf. Add the + french snipset to say.conf. (Closes issue #15799) + +2010-03-16 20:52 +0000 [r252766-252928] Russell Bryant <russell@digium.com> + + * Makefile.rules: Backport chan_sip build fix for Mac OSX 10.6 from + trunk. + + * codecs/gsm/Makefile: Use uname -s, as done in trunk. + + * codecs/gsm/Makefile: Apply codec_gsm Mac OS X 10.6 build fix that + is in trunk and 1.6.X. + + * utils/Makefile: Don't treat warnings as errors for muted. muted + supports OS X, but uses functions marked as deprecated in 10.6. + However, the functions are still supported, so just ignore the + warnings for now and allow the build to proceed. + +2010-03-16 18:46 +0000 [r252761] Leif Madsen <lmadsen@digium.com> + + * configs/extensions.ael.sample: Additional extensions.ael global + variable fixes. Fixing up a couple more overlapping global + variable namespaces shared with extensions.conf.sample. Also + noticed a few of the lines that were commented out didn't have + the closing semi-colon so I added that as well. (issue #17035) + +2010-03-15 21:43 +0000 [r252617] Tilghman Lesher <tlesher@digium.com> + + * contrib/init.d/org.asterisk.asterisk.plist: Uh, yeah. Umask. I'm + stupid. + +2010-03-15 20:48 +0000 [r252531-252533] Leif Madsen <lmadsen@digium.com> + + * configs/extensions.ael.sample: Update extensions.ael file to not + overlap extensions.conf. Updated the extensions.ael file so the + global variables don't overlap those that we have in + extensions.conf (sample files). This way unexpected things won't + happed hopefully if both pbx_ael and res_config are loaded. + (closes issue #17035) Reported by: pprindeville + + * configure, configs/extensions.ael.sample: Revert last commit that + had bad changed to configure. + + * configure, configs/extensions.ael.sample: Update extensions.ael + file to not overlap extensions.conf. Updated the extensions.ael + file so the global variables don't overlap those that we have in + extensions.conf (sample files). This way unexpected things won't + happed hopefully if both pbx_ael and res_config are loaded. + (closes issue #17035) Reported by: pprindeville + +2010-03-15 01:39 +0000 [r252361-252366] Tilghman Lesher <tlesher@digium.com> + + * Makefile: Typo + + * main/asterisk.c, Makefile, + contrib/init.d/org.asterisk.asterisk.plist (added): Launch + Asterisk on Mac OS X with launchd. Reviewboard: + https://reviewboard.asterisk.org/r/551/ + +2010-03-13 00:30 +0000 [r252175] Terry Wilson <twilson@digium.com> + + * main/rtp.c, channels/chan_mgcp.c, main/channel.c, + channels/chan_sip.c, channels/chan_skinny.c, + include/asterisk/rtp.h, channels/chan_h323.c, + configs/sip.conf.sample, include/asterisk/frame.h: Merged + revisions 252089 via svnmerge from + https://origsvn.digium.com/svn/asterisk/trunk ........ r252089 | + twilson | 2010-03-12 16:04:51 -0600 (Fri, 12 Mar 2010) | 20 lines + Only change the RTP ssrc when we see that it has changed This + change basically reverts the change reviewed in + https://reviewboard.asterisk.org/r/374/ and instead limits the + updating of the RTP synchronization source to only those times + when we detect that the other side of the conversation has + changed the ssrc. The problem is that SRCUPDATE control frames + are sent many times where we don't want a new ssrc, including + whenever Asterisk has to send DTMF in a normal bridge. This is + also not the first time that this mistake has been made. The + initial implementation of the ast_rtp_new_source function also + changed the ssrc--and then it was removed because of this same + issue. Then, we put it back in again to fix a different issue. + This patch attempts to only change the ssrc when we see that the + other side of the conversation has changed the ssrc. It also + renames some functions to make their purpose more clear. Review: + https://reviewboard.asterisk.org/r/540/ ........ + +2010-03-12 19:58 +0000 [r251986-251997] Richard Mudgett <rmudgett@digium.com> + + * channels/chan_dahdi.c: Forward declaring dahdi_pri was already + done. + + * channels/chan_dahdi.c: Make chan_dahdi wakeup_sub() prototype not + conditional. + +2010-03-11 Leif Madsen <lmadsen@digium.com> + + * Asterisk 1.4.30 released + +2010-03-04 Leif Madsen <lmadsen@digium.com> + + * Asterisk 1.4.30-rc3 released + +2010-03-03 21:28 +0000 [r250613] Leif Madsen <lmadsen@digium.com> + + * doc/localchannel.txt: Update existing Local channel + documentation. A complete re-write of the Local channel + documentation has been performed, with the existing information + from localchannel.txt and localchannel.tex merged in. (issue + #16637) Reported by: kobaz Patches: localchannel.tex uploaded by + lmadsen (license 10) localchannel.txt uploaded by lmadsen + (license 10) Tested by: lmadsen, jsmith, mmichelson + +2010-03-03 19:04 +0000 [r250480] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_dahdi.c: Make sure to clear red alarm after + polarity reversal. From the issue: The automatic overnight line + tests (or manual ones) used on UK (BT) lines causes a red alarm + on a dahdi / TDM400P connected channel. This is because the line + uses voltage tests (battery loss) and polarity reversal. The + polarity reversal causes chan_dahdi to initiate v23 CallerID + processing but during this the event DAHDI_EVENT_NOALARM is + ignored so that the alarm is never cleared. (closes issue #14163) + Reported by: jedi98 Patches: chan_dahdi-1.4-inalarm.diff uploaded + by jedi98 (license 653) Tested by: mattbrown, Chainsaw, + mikeeccleston + +2010-03-03 18:02 +0000 [r250394] David Vossel <dvossel@digium.com> + + * channels/chan_iax2.c: fixes problem with duplicate TXREQ packets + When Asterisk receives an IAX2 TXREQ packet, try_transfer() will + call store_by_transfercallno() to link the chan_iax2_pvt struct + into iax_transfercallno_pvts. If a duplicate TXREQ packet is + received for the same call, the pvt struct will be linked into + iax_transfercallno_pvts multiple times. This patch fixes this. + Thanks rain for debugging this and providing a patch! (closes + issue #16904) Reported by: rain Patches: + iax2-double-txreq-fix.diff uploaded by rain (license 327) Tested + by: rain, dvossel + +2010-03-02 21:08 +0000 [r250041-250050] Leif Madsen <lmadsen@digium.com> + + * doc/imapstorage.txt: Update IMAP documentation. Update the IMAP + documentation to make it clear that storing voicemails in the + same folder as a large number of emails could potentially cause + significant slow downs when writing or retrieving voicemails. + (closes issue #16704) Reported by: TimeHider Tested by: lmadsen, + TimeHider + + * configs/cdr.conf.sample: Update documentation to clarify purpose + of unanswered option. (closes issue #16267) Reported by: elsto + Patches: cdr.conf.sample.patch.txt uploaded by lmadsen (license + 10) Tested by: davidw, elsto + + * doc/configuration.txt: Update documentation to not imply we + support overriding options. (issue #16855) Reported by: davidw + +2010-03-02 19:36 +0000 [r249845-249946] Alec L Davis <sivad.a@paradise.net.nz> + + * apps/app_echo.c: revert ability to exit echo app caused a + regression, as only supported VOICE, not VIDEO etc. Left in small + formatting change. (issue #16880) + + * apps/app_echo.c: fixes ability to exit echo app when called from + a ISDN channel, null frames prevent '#' exit. Now only echo back + VOICE and DTMF frames (issue #16880) Reported by: alecdavis + Patches: based on echo_exit_1-6-1.diff.txt uploaded by alecdavis + (license 585) Tested by: alecdavis + +2010-03-01 19:35 +0000 [r249671] Sean Bright <sean@malleable.com> + + * apps/app_voicemail.c: Fix crash in app_voicemail related to + message counting. We were passing a 'struct inprocess **' and + treating it like a 'struct inprocess *' causing a segfault. + (closes issue #16921) Reported by: whardier Patches: + 20100301_issue16921.patch uploaded by seanbright (license 71) + Tested by: whardier + +2010-03-01 17:02 +0000 [r249536] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_local.c: Modify queued frames from local channels + to not set the other side to up In this case, attended transfers + were broken due to ast_feature_request_and_dial detecting the + channel being set to up before the answer frame could be read and + therefore failing to mark the channel as ready. This fix is a + regression fix for 244785, which should continue to work properly + as well. (closes issue #16816) Reported by: jamhed Tested by: + jamhed, corruptor + +2010-02-27 23:51 +0000 [r249365] Alec L Davis <sivad.a@paradise.net.nz> + + * channels/chan_dahdi.c: overlap receiving: automatically send CALL + PROCEEDING when dialplan starts Following Q.931 5.2.4 When the + user has determined that sufficient call information has been + received the user shall stop T302 and send CALL PROCEEDING to the + network. Previously timeouts were possible if the dialplan took a + long time to issue any response back to the network. Verified + that our local TELCO also does the same. (issue #16789) Reported + by: alecdavis Patches: based on overlap_receiving_trunk.diff.txt + uploaded by alecdavis (license 585) Tested by: alecdavis (closes + issue #16789) + +2010-02-27 14:07 +0000 [r249234] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_iax2.c: add a reference to the now-published IAX2 + RFC + +2010-02-26 17:04 +0000 [r249100] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: For T.38 reINVITEs treat a 606 the same as a + 488. (closes issue #16792) Reported by: vrban Patches: + t38_606.patch uploaded by vrban (license 756) + +2010-02-25 21:22 +0000 [r248860] Jeff Peeler <jpeeler@digium.com> + + * res/res_monitor.c: Ensure that monitor recordings are written to + the correct location (again) This is an extension to 248757. As + such the dialplan test has been extended: exten => 5040, 1, + monitor(wav,tmp/jeff/monitor_test,b) exten => 5040, n, + dial(sip/5001) exten => 5041, 1, + monitor(wav,/tmp/jeff/monitor_test2,b) exten => 5041, n, + dial(sip/5001) exten => 5042, 1, monitor(wav,monitor_test3,b) + exten => 5042, n, dial(sip/5001) exten => 5043, 1, + monitor(wav,tmp/jeff/monitor_test3,m) exten => 5043, n, + changemonitor(monitor_test4) exten => 5043, n, dial(sip/5001) + exten => 5044, 1, monitor(wav,monitor_test4,m) exten => 5044, n, + changemonitor(tmp/jeff/monitor_test5) ; this looks to fail by + design and emits a warning exten => 5044, n, dial(sip/5001) + +2010-02-25 21:21 +0000 [r248859] Tilghman Lesher <tlesher@digium.com> + + * main/asterisk.c: Some platforms clear /var/run at boot, which + makes connecting a remote console... difficult. Previously, we + only created the default /var/run/asterisk directory at install + time. While we could create it in the init script, that would not + work for those who start asterisk manually from the command line. + So the safest thing to do is to create it as part of the Asterisk + boot process. This also changes the ownership of the directory, + because the pid and ctl files are created after we setuid/setgid. + (closes issue #16802) Reported by: Brian Patches: + 20100224__issue16802.diff.txt uploaded by tilghman (license 14) + Tested by: tzafrir + +2010-02-25 18:06 +0000 [r248668-248757] Jeff Peeler <jpeeler@digium.com> + + * res/res_monitor.c: Ensure that monitor recordings are written to + the correct location. Recordings should be placed in the monitor + directory when a non-absolute path is used. Exact dialplan used + for testing: exten => 5040, 1, + monitor(wav,tmp/jeff/monitor_test,b) exten => 5040, n, + dial(sip/5001) exten => 5041, 1, + monitor(wav,/tmp/jeff/monitor_test2,b) exten => 5041, n, + dial(sip/5001) exten => 5042, 1, monitor(wav,monitor_test3,b) + exten => 5042, n, dial(sip/5001) ABE-2101 + + * apps/app_voicemail.c: Make deletion of temporary greetings work + properly with IMAP_STORAGE This same patch was merged in 220833, + but was skipped in this branch erroneously. (closes issue #16170) + Reported by: francesco_r + +2010-02-24 21:02 +0000 [r248582] Tilghman Lesher <tlesher@digium.com> + + * main/logger.c: Remove color code sequences from verbose messages + that go to logfiles. (closes issue #16786) Reported by: dodo + Patches: logger2.patch uploaded by dodo (license 989) Tested by: + tilghman + +2010-02-23 16:26 +0000 [r248396] David Vossel <dvossel@digium.com> + + * channels/chan_sip.c: fixes invite with replaces deadlock (closes + issue #16862) Reported by: pwalker Patches: replaces_deadlock_1.4 + uploaded by dvossel (license 671) Tested by: pwalker, dvossel + +2010-02-22 13:52 +0000 [r248268] Olle Johansson <oej@edvina.net> + + * apps/app_meetme.c: Don't log to debug unless debug is turned on + +2010-02-20 22:25 +0000 [r248106] Olle Johansson <oej@edvina.net> + + * main/rtp.c: Make sure we support RTCP compound messages with zero + reports + +2010-02-19 19:11 +0000 [r248012] Tilghman Lesher <tlesher@digium.com> + + * main/loader.c, /: Backport crash fix from trunk to 1.4, whereby + 'core show gracefully' could crash Asterisk. (closes issue + #16470) Reported by: kjotte + +2010-02-19 17:18 +0000 [r247910] Richard Mudgett <rmudgett@digium.com> + + * channels/chan_misdn.c: Merged revision 247904 from + https://origsvn.digium.com/svn/asterisk/be/branches/C.2-... + .......... r247904 | rmudgett | 2010-02-19 10:49:44 -0600 (Fri, + 19 Feb 2010) | 49 lines Make chan_misdn DTMF processing + consistent with other channel technologies. The processing of + DTMF tones on the receiving side of an ISDN channel is + inconsistent with the way it is handled in other channels, + especially DAHDI analog. This causes DTMF tones sent from an ISDN + phone to be doubled at the connected party. We are using the + following 2 options of misdn.conf 1) astdtmf=yes 2) senddtmf=yes + Option one is necessary because the asterisk DSP DTMF detection + is better than mISDN's internal DSP. Not as many false positives. + Option two is necessary to transmit DTMF tones end to end when + mISDN channels are connected to SIP channels with out of band + DTMF for example. The symptom is that DTMF tones sent by an ISDN + phone are doubled on the way through asterisk when two mISDN + channels are connected with a Local channel in between or if it + is bridged to an analog channel. The doubling of DTMF tones is + because DTMF is passed inband to asterisk by the mISDN channel + and passed out of band once again after the release of the DTMF + tone. Passing it inband is wrong. Neither an analog channel nor + SIP channel passes DTMF inband if configured to inband DTMF. + Analog and SIP channels filter out the DTMF tones because they + use the voice frames returned by ast_dsp_process. But chan_misdn + passes the unfiltered input voice frames instead. To overcome one + aspect of the problem, the doubling of DTMF tones when two mISDN + channels are directly bridged, someone made an 'optimization', + where in that case the DTMF tone passed out-of-band to the peer + channel is not translated to an inband tone at the transmit side. + This optimization is bad because it does not work in general. For + example, analog channels or mISDN channels when bridged through + an intermediary local channel will generate DTMF tones from + out-of-band information. Also, of course, it must not be done + when there is no inband DTMF available. This patch fixes the + issue. Now chan_misdn will filter the received inband DTMF signal + the same as other channel types. Another change included: No need + to build an extra translation path because ast_process_dsp does + it if required. Patches: misdn-dtmf.patch JIRA ABE-2080 + +2010-02-18 19:38 +0000 [r247651] Matthew Nicholson <mnicholson@digium.com> + + * res/res_features.c: Copy the calling party's account code to the + called party if they don't already have one. (closes issue + #16331) Reported by: bluefox Tested by: mnicholson + +2010-02-18 16:53 +0000 [r247502-247508] Leif Madsen <lmadsen@digium.com> + + * README-SERIOUSLY.bestpractices.txt: Add additional link to best + practices document per jsmith. + + * README-SERIOUSLY.bestpractices.txt (added): Add best practices + documentation. (issue #16808) Reported by: lmadsen (issue #16810) + Reported by: Nick_Lewis Tested by: lmadsen Review: + https://reviewboard.asterisk.org/r/507/ + +2010-02-18 04:19 +0000 [r247422] Russell Bryant <russell@digium.com> + + * Makefile, sounds/Makefile: Tweak argument handling for wget in + the sounds Makefile. 1) Fix the check to see if we are using wget + to not be full of fail. The configure script populates this + variable with the absolute path to wget if it is found, so it + didn't work. 2) Allow some extra arguments to be passed in for + wget. This is just a simple change to allow our Bamboo build + script to tell wget to be quiet and not fill up our logs with + download status output. + +2010-02-17 16:24 +0000 [r247168] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: Make sure that when autofill is disabled that + callers not in the front of the queue cannot place calls. (closes + issue #16834) Reported by: kebl0155 Patches: + app_queue_no_autofill.v1.patch uploaded by kebl0155 (license 356) + +2010-02-15 23:42 +0000 [r246709] Tilghman Lesher <tlesher@digium.com> + + * Makefile: Make the menuselect instructions correct by allowing + 'make menuselect' to actually solve dependency problems. + (Previously, it would fail out again with the same message about + running 'make menuselect', which was NOT at all helpful.) + +2010-02-12 23:30 +0000 [r246545] David Vossel <dvossel@digium.com> + + * main/channel.c: lock channel during datastore removal On channel + destruction the channel's datastores are removed and destroyed. + Since there are public API calls to find and remove datastores on + a channel, a lock should be held whenever datastores are removed + and destroyed. This resolves a crash caused by a race condition + in app_chanspy.c. (closes issue #16678) Reported by: + tim_ringenbach Patches: datastore_destroy_race.diff uploaded by + tim ringenbach (license 540) Tested by: dvossel + +2010-02-12 18:52 +0000 [r246460] Jason Parker <jparker@digium.com> + + * main/channel.c: Fix some silly formatting, and remove unnecessary + option_debug checks + +2010-02-10 17:44 +0000 [r246115] David Vossel <dvossel@digium.com> + + * apps/app_queue.c: fixes random deadlock in app_queue with + use_weight during reload (closes issue #16677) Reported by: + tim_ringenbach Patches: app_queue_use_weight_deadlock.diff + uploaded by tim ringenbach (license 540) + +2010-02-10 13:37 +0000 [r245944] Tilghman Lesher <tlesher@digium.com> + + * configs/extensions.conf.sample: Include examples of FILTER usage + in extension patterns where a "." may be a risk. + +2010-02-10 08:24 +0000 [r245909] Olle Johansson <oej@edvina.net> + + * res/res_smdi.c: Make sure that res_smdi loads regardless of + configuration, since chan_dahdi depends on res_smdi + +2010-02-09 22:55 +0000 [r245792] David Vossel <dvossel@digium.com> + + * channels/chan_iax2.c: Fixes iaxs and iaxsl size off by one issue. + 2^15 = 32768 which is the maximum allowed iax2 callnumber. + Creating the iaxs and iaxsl array of size 32768 means the maximum + callnumber is actually out of bounds. This causes a nasty crash. + (closes issue #15997) Reported by: exarv Patches: iax_fix.diff + uploaded by dvossel (license 671) + +2010-02-08 20:39 +0000 [r245496] Jason Parker <jparker@digium.com> + + * main/ast_expr2.fl, main/ast_expr2f.c: Remove reference of + documentation in source directory. People don't always build + Asterisk from source (distro packages, anybody?). + +2010-02-08 11:57 +0000 [r245422] Olle Johansson <oej@edvina.net> + + * res/res_features.c: Res_features depends on res_adsi in 1.4 + +2010-02-05 18:32 +0000 [r245044] Kevin P. Fleming <kpfleming@digium.com> + + * contrib/firmware (removed), LICENSE: Remove contrib/firmware + directory as it is empty Remove explicit license for IAXy + firmware as it is no longer included in the tree + +2010-02-05 17:03 +0000 [r244926] Sean Bright <sean@malleable.com> + + * main/asterisk.c: Update main copyright date. + +2010-02-04 23:20 +0000 [r244785] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_local.c: Change channel state on local channels for + busy,answer,ring. Previously local channels channel state never + changed. This became problematic when the state of the other side + of the local channel was lost, for example during a masquerade. + Changing the state of the local channel allows for the scenario + to be detected when the channel state is set to ringing, but the + peer isn't ringing. The specific problem scenario is described in + 164201. Although this was noted on one of the issues, here is the + tested dialplan verified to work: exten => + 9700,1,Dial(Local/*9700@default&Local/#9700@default) exten => + *9700,1,Set(GLOBAL(TESTCHAN)=${CHANNEL:0:${MATH(${LEN(${CHANNEL})}-1):0:2}}1) + exten => *9700,n,wait(3) ;3 works, 1 did not exten => + *9700,n,Dial(SIP/5001) exten => #9700,1,Wait(1) ;1 works, 3 did + not exten => + #9700,n,ChannelRedirect(${TESTCHAN},parkedcalls,701,1) (closes + issue #14992) Reported by: davidw + +2010-02-01 23:13 +0000 [r244070-244242] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: Backup and restore original textfile, for + prosthesis (gerund of prepend). Also, fix menuselect such that + changing voicemail build options correctly causes rebuild. + (closes issue #16415) Reported by: tomo1657 Patches: + prepention.patch uploaded by tomo1657 (license 484) (with + modifications by me to backport to 1.4) + + * res/res_features.c: When a transferer hangs up during an attended + transfer BEFORE the transfer is answered, don't stop playing MOH. + (closes issue #16513) Reported by: litnimax Patches: + atxfer_moh_16513.patch uploaded by gknispel proformatique + (license 261) Tested by: litnimax + + * main/channel.c, channels/chan_local.c: Revert previous chan_local + fix (r236981) and fix instead by destroying expired frames in the + queue. (closes issue #16525) Reported by: kobaz Patches: + 20100126__issue16525.diff.txt uploaded by tilghman (license 14) + 20100129__issue16525__1.6.0.diff.txt uploaded by tilghman + (license 14) Tested by: kobaz, atis (closes issue #16581) + Reported by: ZX81 (closes issue #16681) Reported by: alexr1 + +2010-01-28 18:48 +0000 [r243862-243863] Leif Madsen <lmadsen@digium.com> + + * BUGS: Oops, correct wrong link (https vs. http) in previous + commit. + + * BUGS: Update location of bug tracker in documentation. + +2010-01-28 15:03 +0000 [r243779] Russell Bryant <russell@digium.com> + + * channels/chan_sip.c: Fix a bogus third argument to + ast_copy_string(). + +2010-01-27 20:35 +0000 [r243570-243691] Jeff Peeler <jpeeler@digium.com> + + * apps/app_queue.c: Revert 243570, I should have looked at this + closer. Will reopen the issue, but am leaving the review closed + as the change was pointless. (issue #16488) + + * apps/app_queue.c: Extend announcement URL used with Queue from 80 + chars to PATH_MAX. (closes issue #16488) Reported by: syspert + Patches: soundfilelen.pacth-2 uploaded by syspert (license 938) + Review: https://reviewboard.asterisk.org/r/475/ + +2010-01-27 18:06 +0000 [r243486] Mark Michelson <mmichelson@digium.com> + + * main/pbx.c: Use a safe list traversal while checking for + duplicate vars in pbx_builtin_setvar_helper. + +2010-01-26 23:55 +0000 [r243390] David Vossel <dvossel@digium.com> + + * res/res_features.c: fixes bug with channel receiving wrong + privileges after call parking (closes issue #16429) Reported by: + Yasuhiro Konishi Patches: features.c.diff uploaded by Yasuhiro + Konishi (license 947) Tested by: dvossel + +2010-01-26 18:19 +0000 [r243258] Jeff Peeler <jpeeler@digium.com> + + * main/channel.c: Remove unnecessary code in ast_read as issue + 16058 has been fully solved now. + +2010-01-25 21:50 +0000 [r242852-242969] Tilghman Lesher <tlesher@digium.com> + + * main/Makefile, pbx/Makefile: Err, and use the new menuselect + define, too. + + * build_tools/cflags.xml, build_tools/menuselect-deps.in, + configure, configure.ac: Only rebuild parsers by an option in + menuselect + + * configure, main/Makefile, configure.ac, pbx/Makefile: Restore + FreeBSD to able-to-compile-ish-mode + +2010-01-25 20:08 +0000 [r242850-242851] Olle Johansson <oej@edvina.net> + + * main/manager.c: Remove debugging that indeed should have been + gone before commit. Sorry. + + * main/manager.c: Report error when writing to functions returns + error in AMI setvar action + +2010-01-25 05:42 +0000 [r242520-242728] Tilghman Lesher <tlesher@digium.com> + + * main/Makefile, pbx/Makefile: Buildbot pointed out an error + (thanks, buildbot!) + + * main/Makefile, pbx/Makefile: Oops, should have used CMD_PREFIX, + not ECHO_PREFIX, for the commands. + + * main/Makefile: Make the build of the Asterisk expression parser + match that of the AEL parser. + + * configure, include/asterisk/autoconfig.h.in, configure.ac, + pbx/ael/ael_lex.c, pbx/Makefile, makeopts.in: Only rebuild bison + and flex source files on demand, if bison and flex are detected + by the configure script. Changed after discussion on the -dev + list about possible unnecessary build failures, due to + checkouts/untars causing these special source files to possibly + be newer than their resulting C files. This should additionally + ensure that nobody need learn about extra Makefile arguments to + ensure the proper files get rebuilt when changes are made to + these special source files. + +2010-01-22 21:44 +0000 [r242423] Tilghman Lesher <tlesher@digium.com> + + * pbx/Makefile: Rebuild from flex, bison sources when necessary. + (issue #14629) Reported by: Marquis Patches: + 20100121__issue14629.diff.txt uploaded by tilghman (license 14) + +2010-01-22 09:19 +0000 [r242226] Olle Johansson <oej@edvina.net> + + * channels/chan_sip.c: Initialize notify_types to NULL + +2010-01-22 01:48 +0000 [r242142] Alec L Davis <sivad.a@paradise.net.nz> + + * main/cdr.c: Add Dialed Number Identifier (DNID) field to cdr. + Branch support, retains ABI, if backend CDR collector is adaptive + then database requires 'dnid' field to be added, otherwise no + functional changes. Reported by: alecdavis Tested by: alecdavis + Patch cdr_dnid.diff2.txt uploaded by alecdavis (license 585) + Review: https://reviewboard.asterisk.org/r/455/ + +2010-01-21 15:25 +0000 [r241932] Sean Bright <sean@malleable.com> + + * configure, configure.ac: Fix configure check for + PTHREAD_ONCE_INIT when manually adding -Wall to CFLAGS. (closes + issue #16666) Reported by: romain_proformatique + +2010-01-21 05:53 +0000 [r241765] Tilghman Lesher <tlesher@digium.com> + + * funcs/func_math.c: Guard against division by zero. + +2010-01-20 20:00 +0000 [r241626] David Vossel <dvossel@digium.com> + + * Makefile: fixes parsing error in Makefile. Some echo lines were + missing "; . Thanks to jparker for pointing out the problem. + +2010-01-20 14:12 +0000 [r241543-241544] Sean Bright <sean@malleable.com> + + * pbx/pbx_spool.c: Modify fix for issue 16554 to be more inline + with what is already in trunk. I should have taken a closer look + at trunk/1.6.x, as this bug has already been fixed in a much more + simple manner, by just settings o->vars to NULL after the + ast_pbx_outgoing_* calls. (issue #16554) Reported by: mav3rick + + * pbx/pbx_spool.c: Fix a memory leak in pbx_spool when using SetVar + in a call file. In pbx_spool, when we are freeing our 'outgoing' + struct, we weren't deallocating the ast_variable list we had + built from SetVars in a call file. Adding a call to + ast_variables_destroy in our deallocation routine works, but only + if the variables have not already been passed into + ast_pbx_outgoing_app() or _exten(), both of which take care of + destroying the variable list for us. (closes issue #16554) + Reported by: mav3rick Patches: issue16554_20100119.patch uploaded + by seanbright (license 71) Tested by: mav3rick + +2010-01-20 09:38 +0000 [r241458] Alec L Davis <sivad.a@paradise.net.nz> + + * main/pbx.c: Update CDR variables as pbx starts Allows CDR + variables added in cdr.c:set_one_cid to become visable during the + call, by executing ast_cdr_update() early in __ast_pbx_run. Based + on cdr_update.diff3.txt (issue #16638) Reported by: alecdavis + Patches: cdr_update.diff3.txt uploaded by alecdavis (license 585) + Tested by: alecdavis + +2010-01-19 17:41 +0000 [r241228] Jason Parker <jparker@digium.com> + + * Makefile: Allow parallel make (-j) to work properly. 1.4 changes + are quite different from the others. (issue #16489) Reported by: + Chainsaw Tested by: qwell + +2010-01-19 17:22 +0000 [r241227] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_agent.c: Fix deadlock in agent_read by removing + call to agent_logoff. One must always lock the agents list lock + before the agent private. agent_read locks the private + immediately, so locking the agents list lock is not an option + (which is what agent_logoff requires). Because agent_read already + has access to the agent private all that is necessary is to do + the required hanging up that agent_logoff performed. (closes + issue #16321) Reported by: valon24 Patches: bug16321.patch + uploaded by jpeeler (license 325) + +2010-01-18 19:54 +0000 [r241015] Sean Bright <sean@malleable.com> + + * main/config.c: Plug a memory leak when reading configs with their + comments. While reading through configuration files with the + intent of returning their full contents (comments specifically) + we allocated some memory and then forgot to free it. This doesn't + fix 16554 but clears up a leak I had in the lab. (issue #16554) + Reported by: mav3rick Patches: issue16554_20100118.patch uploaded + by seanbright (license 71) Tested by: seanbright + +2010-01-18 16:51 +0000 [r240891] David Vossel <dvossel@digium.com> + + * Makefile: updated transmit_silence option documentation in + asterisk.conf This patch updates the transmit_silence option to + better document why the option exists, and what it affects. + Thanks to russell for providing the verbage for this update. + +2010-01-18 13:27 +0000 [r240768] Olle Johansson <oej@edvina.net> + + * utils/Makefile: Fix muted compilation in 1.4 only + +2010-01-15 23:06 +0000 [r240547] Russell Bryant <russell@digium.com> + + * Makefile: Fix a spelling error in the asterisk.conf sample. + +2010-01-15 20:52 +0000 [r240414] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: Disallow leaving more than maxmsg + voicemails. This is a possibility because our previous method + assumed that no messages are left in parallel, which is not a + safe assumption. Due to the vmu structure duplication, it was + necessary to track in-process messages via a separate structure. + If at some point, we switch vmu to an ao2-reference-counted + structure, which would eliminate the prior noted duplication of + structures, then we could incorporate this new in-process + structure directly into vmu. (closes issue #16271) Reported by: + sohosys Patches: 20100108__issue16271.diff.txt uploaded by + tilghman (license 14) 20100108__issue16271__trunk.diff.txt + uploaded by tilghman (license 14) + 20100108__issue16271__1.6.0.diff.txt uploaded by tilghman + (license 14) Tested by: jsutton + +2010-01-14 Leif Madsen <lmadsen@digium.com> + + * Release Asterisk 1.4.29 + +2010-01-08 Leif Madsen <lmadsen@digium.com> + + * Release Asterisk 1.4.29-rc1 + +2010-01-07 20:14 +0000 [r238409-238411] David Vossel <dvossel@digium.com> + + * channels/chan_iax2.c: fixes crash in "scheduled_destroy" in + chan_iax A signed short was used to represent a callnumber. This + is makes it possible to attempt to access the iaxs array with a + negative index. (closes issue #16565) Reported by: jensvb + + * channels/chan_sip.c: Change in sip show channels display format + allowing more digits for CID (closes issue 0016459) Reported by: + Rzadzins Patches: chan_sip_longer_cid.patch uploaded by Rzadzins + (license 953) + +2010-01-06 21:41 +0000 [r238230] Tilghman Lesher <tlesher@digium.com> + + * funcs/func_cdr.c: Revise documentation on disposition values to + the actual values used. (closes issue #16289) Reported by: + wdoekes + +2010-01-06 15:18 +0000 [r237697-238009] Russell Bryant <russell@digium.com> + + * apps/app_mp3.c: Resolve a crash due to an ast_frame not being + fully initialized. (closes issue #16531) Reported by: john8675309 + (closes SWP-615) + + * main/utils.c: Change a NOTICE log message to DEBUG where it + belongs. (closes issue #16479) Reported by: alexrecarey (closes + SWP-577) + +2010-01-04 21:45 +0000 [r237318-237573] Tilghman Lesher <tlesher@digium.com> + + * main/say.c: Bounds checking for input string (closes issue + #16407) Reported by: qwell Patches: 20100104__issue16407.diff.txt + uploaded by tilghman (license 14) + + * main/pbx.c: Regression in issue #15421 - Pattern matching (closes + issue #16482) Reported by: wdoekes Patches: + astsvn-16482-betterfix.diff uploaded by wdoekes (license 717) + 20091223__issue16482.diff.txt uploaded by tilghman (license 14) + Tested by: wdoekes, tilghman + + * main/pbx.c, res/res_agi.c, include/asterisk/channel.h: Add a flag + to disable the Background behavior, for AGI users. This is in a + section of code that relates to two other issues, namely issue + #14011 and issue #14940), one of which was the behavior of + Background when called with a context argument that matched the + current context. This fix broke FreePBX, however, in a post-Dial + situation. Needless to say, this is an extremely difficult + collision of several different issues. While the use of an + exception flag is ugly, fixing all of the issues linked is rather + difficult (although if someone would like to propose a better + solution, we're happy to entertain that suggestion). (closes + issue #16434) Reported by: rickead2000 Patches: + 20091217__issue16434.diff.txt uploaded by tilghman (license 14) + 20091222__issue16434__1.6.1.diff.txt uploaded by tilghman + (license 14) Tested by: rickead2000 + + * channels/chan_local.c: It's also possible for the Local channel + to directly execute an Application. Reviewboard: + https://reviewboard.asterisk.org/r/452/ + +2010-01-02 09:52 +0000 [r237135] Olle Johansson <oej@edvina.net> + + * channels/chan_sip.c: Release memory of the contact acl before + unloading module + +2009-12-30 21:57 +0000 [r236981] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_local.c: Don't queue frames to channels that have + no means to process them. (closes issue #15609) Reported by: + aragon Patches: + 20091230__issue16521__1.4__chan_local_only.diff.txt uploaded by + tilghman (license 14) Tested by: aragon Review: + https://reviewboard.asterisk.org/r/452/ + +2009-12-30 20:25 +0000 [r236890] Jeff Peeler <jpeeler@digium.com> + + * utils/astman.c: Remove conflicting function definitions + (asterisk.h) so LOW_MEMORY compiles. + +2009-12-28 15:12 +0000 [r236509-236585] Sean Bright <sean@malleable.com> + + * include/asterisk/threadstorage.h, configure, + include/asterisk/autoconfig.h.in, configure.ac: Try a test + compile to see if PTHREAD_ONCE_INIT requires extra braces. There + was conditional code (based on build platform) to optioinally + wrap PTHREAD_ONCE_INIT in braces that was removed since it is + fixed in newer versions of Solaris/OpenSolaris, but I am still + running into it on Solaris 10 x86 so add a configure-time check + for it. + + * apps/app_meetme.c: Avoid a crash with large numbers of MeetMe + conferences. Similar to changes made to Queue(), when we have + large numbers of conferences in meetme.conf (1000s) and we use + alloca()/strdupa(), we can blow out the stack and crash, so + instead just use a single fixed buffer. (closes issue #16509) + Reported by: Kashif Raza Patches: 20091223_16509.patch uploaded + by seanbright (license 71) Tested by: seanbright + +2009-12-27 18:19 +0000 [r236433] Tilghman Lesher <tlesher@digium.com> + + * contrib/init.d/rc.debian.asterisk: Turn on colors in the daemon, + since there's many requests for it on Ubuntu. + +2009-12-26 15:26 +0000 [r236357] Kevin P. Fleming <kpfleming@digium.com> + + * sounds/Makefile: update to latest releases with zero uid/gid + +2009-12-23 15:21 +0000 [r236261] Matthew Nicholson <mnicholson@digium.com> + + * channels/chan_sip.c: Properly set T.38 attributes and don't + return before T.38 ports are configured when T.38 is found but no + audio stream is found. (closes issue #16318) Reported by: + bird_of_Luck Patches: t38-sdp-parsing-fix3.diff uploaded by + mnicholson (license 96), written by vrban and mnicholson Tested + by: vrban, mihaill + +2009-12-23 02:55 +0000 [r236184] Tilghman Lesher <tlesher@digium.com> + + * res/res_agi.c: If EXEC only gets a single argument, don't crash + when the second is used. (closes issue #16504) Reported by: + bklang + +2009-12-22 16:58 +0000 [r236062] David Vossel <dvossel@digium.com> + + * channels/chan_sip.c: fixes issue with p->method incorrectly set + to ACK It is possible for a second ACK to come in for a + retransmitted message. If an ack does not match an unacked + message in our queue, restore the previous p->method as this ACK + is completely ignored. (closes issue #16295) Reported by: + omolenkamp Patches: issue16295_v2.diff uploaded by dvossel + (license 671) + +2009-12-21 19:43 +0000 [r235940] Jeff Peeler <jpeeler@digium.com> + + * res/res_monitor.c: Change Monitor to not assume file to write to + does not contain pathing. 227944 changed the fname_base argument + to always append the configured monitor path. This change was + necessary to properly compare files for uniqueness. If a full + path is given though, nothing needs to be appended and that is + handled correctly now. (closes issue #16377) (closes issue + #16376) Reported by: bcnit Patches: + res_monitor.c-issue16376-1.patch uploaded by dant (license 670) + +2009-12-21 16:45 +0000 [r235821] Tilghman Lesher <tlesher@digium.com> + + * res/res_features.c: Send parking lot announcement to the channel + which parked the call, not the park-ee. (closes issue #16234) + Reported by: yeshuawatso Patches: 20091210__issue16234.diff.txt + uploaded by tilghman (license 14) + 20091221__issue16234__1.4.diff.txt uploaded by tilghman (license + 14) Tested by: yeshuawatso + +2009-12-18 22:39 +0000 [r235652] Tilghman Lesher <tlesher@digium.com> + + * configure, configure.ac: Revise verbiage, per #asterisk-dev + discussion + +2009-12-18 22:29 +0000 [r235635] Jeff Peeler <jpeeler@digium.com> + + * main/channel.c, include/asterisk/cdr.h: Correct CDR dispositions + for BUSY/FAILED This patch is simple in that it reorders the + disposition defines so that the fix for issue 12946 works + properly (the default CDR disposition was changed to + AST_CDR_NOANSWER). Also, the AST_CDR_FLAG_ORIGINATED flag was set + in ast_call to ensure all CDR records are written. The side + effects of CDR changes are scary, so I'm documenting the test + cases performed to attempt to catch any regressions. The + following tests were all performed using 1.4 rev 195881 vs head + (235571) + patch: A calls B C calls B (busy) Hangup C Hangup A + (Both SIP and features) A calls B A blind transfers to C Hangup C + (Both SIP and features) A calls B A attended transfers to C + Hangup C A calls B A attended transfers to C (SIP) C blind + transfers to A (features) Hangup A All of the test scenario CDRs + matched. The following tests were performed just with the patch + to ensure proper operation (with unanswered=yes): exten + =>s,1,Answer exten =>s,n,ResetCDR(w) exten =>s,n,ResetCDR(w) + exten =>s,1,ResetCDR(w) exten =>s,n,ResetCDR(w) (closes issue + #16180) Reported by: aatef Patches: bug16180.patch uploaded by + jpeeler (license 325) + +2009-12-18 21:18 +0000 [r235572] Tilghman Lesher <tlesher@digium.com> + + * configure, configure.ac: Point to the typical missing package, + not the cryptic "termcap support". + +2009-12-17 Leif Madsen <lmadsen@digium.com> + + * Release Asterisk 1.4.28 + +2009-12-09 Leif Madsen <lmadsen@digium.com> + + * Release Asterisk 1.4.28-rc1 + +2009-12-09 19:58 +0000 [r233782-233879] Russell Bryant <russell@digium.com> + + * main/loader.c: Fix breakage of the "module load <module>" CLI + command. + + * main/loader.c, formats/format_ilbc.c, formats/format_vox.c, + include/asterisk/module.h, formats/format_pcm.c, + formats/format_h263.c, formats/format_g723.c, + formats/format_h264.c, formats/format_jpeg.c, + formats/format_g726.c, formats/format_gsm.c, + formats/format_g729.c, formats/format_sln.c, + formats/format_wav.c, formats/format_ogg_vorbis.c, + formats/format_wav_gsm.c: Set a module load priority for format + modules. A recent change to app_voicemail made it such that the + module now assumes that all format modules are available while + processing voicemail configuration. However, when autoloading + modules, it was possible that app_voicemail was loaded before the + format modules. Since format modules don't depend on anything, + set a module load priority on them to ensure that they get loaded + first when autoloading. This version of the patch is specific to + Asterisk 1.4 and 1.6.0. These versions did not already support + module load priority in the module API. This adds a trivial + version of this which is just a module flag to include it in a + pass before loading "everything". Thanks to mmichelson for the + review! (closes issue #16412) Reported by: jiddings Tested by: + russell Review: https://reviewboard.asterisk.org/r/445/ + +2009-12-08 00:02 +0000 [r233618] Atis Lezdins <atis@iq-labs.net> + + * contrib/valgrind.supp: Merged revisions 233577 via svnmerge from + https://origsvn.digium.com/svn/asterisk/trunk ........ r233577 | + atis | 2009-12-08 01:10:13 +0200 (Tue, 08 Dec 2009) | 8 lines Fix + compatibility with valgrind 3.3 and older. (noticed in issue + #16388) Reported by: parisioa Patches: valgrind.supp uloaded by + atis (license 242) Tested by: atis, parisioa ........ + +2009-12-07 23:24 +0000 [r233471-233609] David Vossel <dvossel@digium.com> + + * main/utils.c: hex escape control and non 7-bit clean characters + in uri_encode In ast_uri_encode, non 7-bit clean characters were + being hex escaped correctly, but control characters were not. + (issue #16299) + + * channels/chan_sip.c: fixes missing Contact header angle brackets + (closes issue #16298) Reported by: mgernoth Patches: + reg_parse_issue_1.4.diff uploaded by dvossel (license 671) Tested + by: dvossel + +2009-12-07 16:11 +0000 [r233392] Matthew Nicholson <mnicholson@digium.com> + + * channels/chan_sip.c: Allow SDP packets with only video session + information. (closes issue #16387) Reported by: zalex1953 Tested + by: mnicholson, zalex1953 + +2009-12-04 21:54 +0000 [r233116-233279] David Vossel <dvossel@digium.com> + + * configs/iax.conf.sample: clarify requirecalltoken option in + iax.sample.conf (closes issue #16223) Reported by: bklang + Patches: clarify-iax-requirecalltoken.patch uploaded by bklang + (license 919) + + * apps/app_voicemail.c: document and rename strip_control() in + app_voicemail (closes issue #16291) Reported by: wdoekes + +2009-12-04 17:12 +0000 [r233092] Russell Bryant <russell@digium.com> + + * main/channel.c: Only do frame payload check for HOLD frames. This + code was added for helping to debug the source of invalid HOLD + frames. However, a side effect of this is that it will + incorrectly report errors for frames that have an integer + payload. Make the check for this block specific to the HOLD frame + case. + +2009-12-04 16:59 +0000 [r233014-233091] Matthias Nick <mnick@digium.com> + + * pbx/pbx_config.c: Parse global variables or expressions in hint + extensions Parse global variables or expressions in hint + extensions. Like: exten => 400,hint,DAHDI/i2/${GLOBAL(var)} + (closes issue #16166) Reported by: rmudgett Tested by: mnick, + rmudgett + + * main/dsp.c: Warning message gets displayed only once Added + additional field 'int display_inband_dtmf_warning', which when + set to '1' displays the warning ('Inband DTMF is not supported on + codec %s. Use RFC2833'), and when set to '0' doesn't display the + warning. Otherwise you would get hundreds of warnings every + second. (closes issue #15769) Reported by: falves11 Patches: + patch_15769_14.txt uploaded by mnick (license 874) Tested by: + mnick, falves11 + +2009-12-03 20:10 +0000 [r232820] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: Deprecate "cz" in favor of "cs". Also, + change the use of language codes so that language registers as a + prefix, rather than an exact match. (closes issue #16272) + Reported by: patrol-cz Patches: 20091203__issue16272.diff.txt + uploaded by tilghman (license 14) + +2009-12-02 21:57 +0000 [r232581] Jeff Peeler <jpeeler@digium.com> + + * main/manager.c: Send ack (response/message) after receiving + manager action userevent (closes issue #16264) Reported by: dimas + Patches: event-ack.patch uploaded by dimas (license 88) + +2009-12-02 19:03 +0000 [r232444] David Vossel <dvossel@digium.com> + + * apps/app_queue.c: fixes app_queue ao2 error (closes issue #16369) + Reported by: vrban Patches: queue_issue_1.4.diff uploaded by + dvossel (license 671) Tested by: dvossel + +2009-12-02 17:04 +0000 [r232355] Joshua Colp <jcolp@digium.com> + + * apps/app_amd.c: Fix a bug where if you hung up very quickly after + calling AMD it would overwrite the AMDSTATUS of HANGUP with + TOOLONG. (closes issue #16239) Reported by: CGMChris + +2009-12-02 16:59 +0000 [r232268-232350] David Vossel <dvossel@digium.com> + + * main/acl.c: ast_outaddrfor doesn't do htons() on port, looks odd + in strace. (closes issue #16290) Reported by: wdoekes + + * funcs/func_groupcount.c: fixes segfault in func_groupcount closes + issue #16337) Reported by: Parantido Patches: issue_16337.diff + uploaded by dvossel (license 671) Tested by: Parantido, dvossel + +2009-12-02 04:05 +0000 [r232165] Terry Wilson <twilson@digium.com> + + * main/channel.c: Fix compiling without devmode (closes issue + #16367) Reported by: falves11 + +2009-12-02 00:42 +0000 [r232090] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_dahdi.c: Do not modify the gain settings on data + calls. (The digital flag actually represents a data call.) + (closes issue #15972) Reported by: udosw Patches: + transcap_digital_fix.diff.txt uploaded by alecdavis (license 585) + Tested by: alecdavis + +2009-12-01 23:25 +0000 [r232007] Russell Bryant <russell@digium.com> + + * main/file.c: Fix a warning pointed out by buildbot. + +2009-12-01 21:52 +0000 [r231911-231926] Jeff Peeler <jpeeler@digium.com> + + * main/channel.c: log channel name in dev mode as well + + * main/channel.c: Fix crash with invalid frame data The crash was + happening as a result of a frame containing an invalid data + pointer, but was set with data length of zero. The few times the + issue was reproduced it _seemed_ that the frame was queued + properly, that is the data pointer was set to NULL. I never could + reproduce the crash so as a last resort the crash has been fixed, + but a check in __ast_read has been added to give as much + information about the source of problematic frames in the future. + (closes issue #16058) Reported by: atis + +2009-12-01 21:14 +0000 [r231853] David Vossel <dvossel@digium.com> + + * main/pbx.c: WaitExten m option with no parameters generates frame + with zero datalen but non-null data ptr + +2009-12-01 15:34 +0000 [r231614-231740] Matthew Nicholson <mnicholson@digium.com> + + * main/file.c: Ignore unknown formats in ast_format_str_reduce() + and return an error if no know formats are found. + + * apps/app_voicemail.c, include/asterisk/file.h, main/file.c, + main/app.c: Remove duplicate entries from voicemail format lists. + This prevents app_voicemail from entering an infinite loop when + the same format is specified twice in the format list. (closes + issue #15625) Reported by: Shagg63 Tested by: mnicholson Review: + https://reviewboard.asterisk.org/r/429/ + +2009-11-30 17:14 +0000 [r231437-231441] David Vossel <dvossel@digium.com> + + * main/rtp.c: fixes crash caused by RTP comfort noise payload + greater than 24 bytes AST-2009-010 (closes issue #16242) Reported + by: amorsen Patches: issue16242.diff uploaded by oej (license + 306) Tested by: amorsen, oej, dvossel + + * apps/app_queue.c: app_queue crashes randomly, often during + call-transfers In app_queue, it is possible for a call_queue to + be destroyed while another object still holds a pointer to it. + This patch converts call_queue objects to ao2 objects allowing + them to be ref counted. This makes it safe for the queue_ent + object in queue_exec() to reference it's parent call_queue even + after it has left the queue. (closes issue #15686) Reported by: + Hatrix Patches: v2_queue_ao2.diff uploaded by dvossel (license + 671) Tested by: dvossel, aragon Review: + https://reviewboard.asterisk.org/r/427/ + +2009-11-25 22:31 +0000 [r231298] Tilghman Lesher <tlesher@digium.com> + + * main/channel.c: After a frame duplication failure, unlock the + channel before returning. + +2009-11-25 21:38 +0000 [r231233-231235] David Vossel <dvossel@digium.com> + + * apps/app_dial.c: fixes solaris segfault on dial with verbosity >= + 3 (closes issue #16193) Reported by: asgaroth Patches: + bug_16193_1.4.21.2_vers.diff uploaded by snuffy (license 35) + Tested by: asgaroth, snuffy + + * channels/chan_sip.c: fixes conditional jump or move depending on + uninitialised STACK value (closes issue #16261) Reported by: + edguy3 Patches: edguy16261.patch uploaded by edguy3 (license 917) + +2009-11-23 15:31 +0000 [r230772-230875] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_sip.c: When 'sip set debug' is enabled, and the + last line of an incoming SIP message is not properly newline + terminated, ensure that that line is included in the debug + output. (part of issue #16268) + + * main/editline/makelist.in, channels/chan_sip.c, + channels/ring_tone.h, channels/busy_tone.h: Correct fix for issue + #16268... the reporter's original patch was very close to + correct. + + * channels/chan_sip.c: Ensure that SDP parsing does not ignore the + last line of the SDP. (closes issue #16268) Reported by: sgimeno + +2009-11-20 20:53 +0000 [r230627] Matthew Nicholson <mnicholson@digium.com> + + * res/res_features.c: Copy the peer CDR's userfield to the bridge + CDR if it exists. This is necessary for the recordagentcalls + option in chan_agent to store the recorded file name in the + bridge CDR. (closes issue #14590) Reported by: msetim Patches: + queue_agent_userfield.patch uploaded by Laureano (license 265) + Tested by: Laureano, mnicholson + +2009-11-19 21:22 +0000 [r230508] David Vossel <dvossel@digium.com> + + * apps/app_mixmonitor.c: fixes MixMonitor thread not exiting when + StopMixMonitor is used (closes issue #16152) Reported by: AlexMS + Patches: stopmixmonitor_1.4.diff uploaded by dvossel (license + 671) Tested by: dvossel, AlexMS Review: + https://reviewboard.asterisk.org/r/424/ + +2009-11-19 16:09 +0000 [r230469] Michiel van Baak <michiel@vanbaak.info> + + * main/asterisk.c: Update copyright year in visible output. (cli) + Spotted by Stuart Henderson + +2009-11-30 Leif Madsen <lmadsen@digium.com> + + * Release Asterisk 1.4.27.1 + + * AST-2009-010 + + * SDP parser regression fix (issue #16268) + +2009-11-18 Leif Madsen <lmadsen@digium.com> + + * Release Asterisk 1.4.27 + +2009-11-13 Leif Madsen <lmadsen@digium.com> + + * Release Asterisk 1.4.27-rc5 + +2009-11-12 16:41 +0000 [r229669] David Vossel <dvossel@digium.com> + + * funcs/func_audiohookinherit.c: fixes merging error, datastore was + being freed in the wrong function. (closes issue #16219) Reported + by: aragon + +2009-11-11 19:46 +0000 [r229498] David Brooks <dbrooks@digium.com> + + * main/pbx.c: Solaris doesn't like NULL going to ast_log Solaris + will crash if NULL is passed to ast_log. This simple patch simply + uses S_OR to get around this. (closes issue #15392) Reported by: + yrashk + +2009-11-10 22:09 +0000 [r229360] Tilghman Lesher <tlesher@digium.com> + + * main/pbx.c: If two pattern classes start with the same digit and + have the same number of characters, they will compare equal. The + example given in the issue report is that of [234] and [246], + which have these characteristics, yet they are clearly not + equivalent. The code still uses these two characteristics, yet + when the two scores compare equal, an additional check will be + done to compare all characters within the class to verify + equality. (closes issue #15421) Reported by: jsmith Patches: + 20091109__issue15421__2.diff.txt uploaded by tilghman (license + 14) Tested by: jsmith, thedavidfactor + +2009-11-10 21:45 +0000 [r229355] David Ruggles <thedavidfactor@gmail.com> + + * doc/externalivr.txt: Fix ExternalIVR Documentation Remove + documentation for event that doesn't function (closes issue + #16220) Reported by: thedavidfactor Patches: + externalivr.txt.20091110.1622.patch uploaded by thedavidfactor + (license 903) + +2009-11-10 20:03 +0000 [r229281] Joshua Colp <jcolp@digium.com> + + * codecs/codec_g726.c: Remove broken support for direct transcoding + between G.726 RFC3551 and G.726 AAL2. On some systems the + translation core would actually consider g726aal2 -> g726 -> + signed linear to be a quicker path then g726aal2 -> signed linear + which exposed this problem. (closes issue #15504) Reported by: + globalnetinc + +2009-11-10 17:23 +0000 [r229191] David Ruggles <thedavidfactor@gmail.com> + + * doc/externalivr.txt: Document ExternalIVR event tag collision + ExternalIVR uses the D tag for two different event types. This + documents that behavior and how to differentiate between the two + cases. Also includes a minor spelling fix and clarification + (closes issue #16211) Reported by: thedavidfactor Patches: + externalivr.txt.20091109.1507.patch uploaded by thedavidfactor + (license 903) + +2009-11-10 17:15 +0000 [r229167] David Vossel <dvossel@digium.com> + + * channels/chan_iax2.c: don't crash on log message in solaris + AST-2009-006 (closes issue #16206) Reported by: bklang Tested by: + bklang + +2009-11-10 15:22 +0000 [r229091] Matthew Nicholson <mnicholson@digium.com> + + * channels/chan_sip.c: Reverted revision 202022. (closes issue + #16175) Reported by: paul-tg + +2009-11-09 Leif Madsen <lmadsen@digium.com> + + * Release Astersik 1.4.27-rc4 + +2009-11-09 15:37 +0000 [r228896] Leif Madsen <lmadsen@digium.com> + + * main/channel.c: Update WARNING message. Update a WARNING message + to give a suggested fix when encountered. (closes issue #16198) + Reported by: atis Tested by: atis + +2009-11-09 14:16 +0000 [r228827] Matthew Nicholson <mnicholson@digium.com> + + * include/asterisk/lock.h: Perform limited bounds checking when + destroying ast_mutex_t structures to make sure we don't try to + use negative indices. (closes issue #15588) Reported by: zerohalo + Patches: 20090820__issue15588.diff.txt uploaded by tilghman + (license 14) Tested by: zerohalo + +2009-11-06 22:33 +0000 [r228692] David Vossel <dvossel@digium.com> + + * main/channel.c: fixes audiohook write crash occuring in chan_spy + whisper mode. After writing to the audiohook list in ast_write(), + frames were being freed incorrectly. Under certain conditions + this resulted in a double free crash. (closes issue #16133) + Reported by: wetwired (closes issue #16045) Reported by: + bluecrow76 Patches: issue16045.diff uploaded by dvossel (license + 671) Tested by: bluecrow76, dvossel, habile + +2009-11-06 18:32 +0000 [r228547] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: Don't overwrite caller ID name on a trunk + with the configured fullname when using users.conf (issue + ABE-1989) + +2009-11-06 Leif Madsen <lmadsen@digium.com> + + * Release Asterisk 1.4.27-rc3 + +2009-11-06 17:07 +0000 [r228418] David Vossel <dvossel@digium.com> + + * codecs/codec_ilbc.c: fixes segfault in iLBC For reasons not yet + known, it appears possible for an ast_frame to have a datalen + greater than zero while the actual data is NULL during Packet + Loss Concealment. Most codecs don't support PLC so this doesn't + affect them. This patch catches the malformed frame and prevents + the crash from occuring. Additional efforts to determine why it + is possible for a frame to look like this are still being + investigated. (issue #16979) + +2009-11-06 16:41 +0000 [r228409] Joshua Colp <jcolp@digium.com> + + * main/abstract_jb.c: Fix a bug caused by a partially invalid frame + (from the jitterbuffer) passing through the Asterisk core. + (closes issue #15560) Reported by: jvandal (closes issue #15709) + Reported by: covici + +2009-11-06 16:26 +0000 [r228378] Matthew Nicholson <mnicholson@digium.com> + + * funcs/func_base64.c, main/utils.c: Properly handle '=' while + decoding base64 messages and null terminate strings returned from + BASE64_DECODE. (closes issue #15271) Reported by: chappell + Patches: base64_fix.patch uploaded by chappell (license 8) Tested + by: kobaz + +2009-11-06 15:41 +0000 [r228272-228338] David Vossel <dvossel@digium.com> + + * main/astfd.c: fixes crash in astfd.c (closes issue #15981) + Reported by: slavon + + * funcs/func_audiohookinherit.c: fixes memory leak in + func_audiohookinherit.c (closes issue 0015394) Reported by: + boroda Patches: bug15394_memoryleak_diff2.txt uploaded by dbrooks + (license 790) Tested by: dbrooks, boroda + +2009-11-05 19:14 +0000 [r228079] Jason Parker <jparker@digium.com> + + * channels/chan_vpb.cc: Fix crash on VPB exception when no hardware + is present. (closes issue #14970) Reported by: tzafrir Patches: + vpb_exception.diff uploaded by tzafrir (license 46) Tested by: + markwaters + +2009-11-05 18:59 +0000 [r228078] David Brooks <dbrooks@digium.com> + + * channels/chan_misdn.c: chan_misdn Asterisk 1.4.27-rc2 crash Crash + related to chan_misdn connection. Patch submitted by + gknispel_proformatique, tested by francesco_r. "I have many crash + since i have upgraded to Asterisk 1.4.27-rc2. Attached a full + bt." This patch zeros out an ast_frame. (closes issue #16041) + Reported by: francesco_r + +2009-11-04 23:47 +0000 [r227944] Jeff Peeler <jpeeler@digium.com> + + * res/res_monitor.c: Fix incorrect filename comparsion after + monitor file change The logic to detect if a requested file is + indeed a different file from the current file was incorrect. The + main issue being confusion of the use of filename_base which was + previously set without pathing information and then compared to + another full path. Robust file comparison logic has been added to + properly check if two files are the same even if symlinks are + used. (closes issue #15313) Reported by: caspy Patches: + 20091103__issue15313__1.4.diff.txt uploaded by jpeeler (license + 325) but mostly tilghman's work + +2009-11-04 20:52 +0000 [r227758-227827] Matthew Nicholson <mnicholson@digium.com> + + * apps/app_dial.c: This patch modifies the Dial application to + monitor the calling channel for hangups while playing back + announcements. (closes issue #16005) Reported by: falves11 + Patches: dial-announce-hangup-fix1.diff uploaded by mnicholson + (license 96) Tested by: mnicholson, falves11 Review: + https://reviewboard.asterisk.org/r/407/ + + * channels/chan_sip.c: Modify the SDP parsing code to parse session + and media level items separately. With the new code, media level + proprieties should no longer be confused with session level + proprieties. This change also reorganizes some of the SDP parsing + code which should make it easier to manage in the future. (closes + issue #14994) Reported by: frawd Tested by: frawd, mnicholson, + file Review: https://reviewboard.asterisk.org/r/385/ + +2009-11-04 19:25 +0000 [r227700-227735] Joshua Colp <jcolp@digium.com> + + * static-http/prototype.js: Fix a security issue where it may be + possible for someone to execute a cross-site AJAX request + exploit. (AST-2009-009) + + * channels/chan_sip.c: Fix a security issue where sending a + REGISTER with a differing username in the From URI and + Authorization header would reveal whether it was valid or not. + (AST-2009-008) + +2009-11-03 17:55 +0000 [r227275] Richard Mudgett <rmudgett@digium.com> + + * channels/chan_dahdi.c: Make sure the outgoing flag is cleared if + a new channel fails to get created for outgoing calls. This is + the relevant portion of asterisk/trunk -r226648 + +2009-11-03 15:36 +0000 [r227166] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: Fix a bug where an RPID header could be + generated with a blank username in the URI. (closes issue #15909) + Reported by: kobaz + +2009-11-03 10:48 +0000 [r227088-227090] Olle Johansson <oej@edvina.net> + + * channels/chan_sip.c: Fixing bug before someone reports it... + + * channels/chan_sip.c: Adding IP address in Contact ACL log message + and removing redundant message (based on kpfleming's feedback) + + * channels/chan_sip.c: Use proper response code when violating + Contact ACL's. Review: https://reviewboard.asterisk.org/r/415/ + Thanks kpfleming for a quick review. (EDVX-003) + +2009-11-02 20:52 +0000 [r226972] David Brooks <dbrooks@digium.com> + + * channels/chan_sip.c: SIP channel name uniqueness SIP channel + names were supposed to be unique by way of a name suffix derived + from the pointer to the channel's private data. Uniqueness was + preserved on 32-bit systems, but not on 64-bit systems. This + patch, as suggested by kpfleming, replaces this suffix with a + simple incremented unsigned int. (closes issue #15152) Reported + by: palbrecht Review: https://reviewboard.asterisk.org/r/420/ + +2009-11-02 18:08 +0000 [r226889] Joshua Colp <jcolp@digium.com> + + * apps/app_dial.c: Fix a bug where the recorded privacy + introduction file would not get removed if the caller hung up + while the called party had not yet answered. This was fixed by + introducing an argument to the 'n' option which, when enabled, + removes the introduction file under all scenarios. This was done + to preserve the behavior that has existed for quite some time. + (closes issue #14674) Reported by: ulogic Patches: bug14674.patch + uploaded by jpeeler (license 325) + +2009-11-02 17:14 +0000 [r226811] Tilghman Lesher <tlesher@digium.com> + + * contrib/init.d/rc.redhat.asterisk: Don't allow two separate + instances of safe_asterisk when restarting from the init script. + (closes issue #14562) Reported by: davidw Patches: Initially + 20091022__issue14562.diff.txt uploaded by tilghman (license 14) + Modified to 20091030__Issue14562_diff.txt uploaded by davidw + (license 780) Tested by: davidw + +2009-11-02 15:31 +0000 [r226688-226736] David Vossel <dvossel@digium.com> + + * channels/chan_iax2.c: fixes crash on iterator_destroy on + uninitialized iterator (closes issue #16162) Reported by: krn + + * channels/chan_iax2.c: changes calltoken debug messages from + LOG_NOTICE to LOG_DEBUG like they are supposed to be (closes + issue #16144) Reported by: aragon + +2009-10-29 18:11 +0000 [r226531] Joshua Colp <jcolp@digium.com> + + * channels/chan_local.c, doc/localchannel.txt: Add an option to + enabling passing music on hold start and stop requests through + instead of acting on them in chan_local. (closes issue #14709) + Reported by: dimas + +2009-10-28 20:06 +0000 [r226377-226382] Leif Madsen <lmadsen@digium.com> + + * configs/sip.conf.sample: Update documentation in sip.conf.sample. + Update the documentation in sip.conf.sample in order to make it + more clear that directmedia/canreinvite do not cause Asterisk to + ignore reINVITEs. It is only used to stop Asterisk from + generating a reINVITE, but does not stop it from accepting them + if necessary. (closes issue #15644) Reported by: lmadsen + + * doc/channelvariables.txt: Update CALLINGSUBADDR channel variable + documentation. (closes issue #15734) Reported by: alecdavis + Patches: channelvariables.tex.diff.txt uploaded by alecdavis + (license 585) Tested by: alecdavis + +2009-10-28 18:02 +0000 [r226138-226304] Tilghman Lesher <tlesher@digium.com> + + * include/asterisk/linkedlists.h: Fix documentation (pointed out by + TheDavidFactor on #-dev) + + * main/manager.c: Manager output is not always NULL-terminated, so + force a NULL at the end of the filestream. (closes issue #15495) + Reported by: pdf Patches: 20090916__issue15495.diff.txt uploaded + by tilghman (license 14) Tested by: pdf + +2009-10-26 22:13 +0000 [r225957] Tzafrir Cohen <tzafrir.cohen@xorcom.com> + + * configure, include/asterisk/autoconfig.h.in, configure.ac: detect + ARM Linux EABI OSARCH as linux-gnu instead of linux-gnueabi * Set + OSARCH to linux-gnu even if host_os is linux-gnueabi * When + checking if we are Linux, check OSARCH rather than host_os The + newer ARM ABI ("EABI") shows the OS name 'linux-gnueabi' rather + than 'linux-gnu' . This patch sets OSARCH to be 'linux-gnu' even + in such a case. OSARCH is tested for the value of 'linux-gnu' in + one or two places in the tree. This patch also fixes the check + libcap to check for $OSARCH rather than $host_os . See also: + http://wiki.debian.org/ArmEabiPort + +2009-10-23 14:00 +0000 [r225581] Kevin P. Fleming <kpfleming@digium.com> + + * Makefile: Don't force menuselect.makeopts to be rebuilt on every + build. For some reason the menuselect.makeopts file was listed as + PHONY in the Makefile, resulting in 'make' needing to rebuild it + for every build. This then resulted in the embedded module rules + being rebuilt on every build, which can be slow and is + unnecessary. This patch fixes the problem by properly allowing + 'make' to know when the menuselect.makeopts file needs to be + rebuilt (defining the proper dependencies). + +2009-10-22 21:51 +0000 [r225484] Leif Madsen <lmadsen@digium.com> + + * doc/valgrind.txt, contrib/valgrind.supp (added): Clean valgrind + output by suppressing false errors. Update valgrind.txt + documentation and add valgrind.supp file in order to allow those + who are creating valgrind output to have less false errors in the + logfile. (closes issue #16007) Reported by: atis Patches: + valgrind.txt.diff uploaded by atis (license 242) asterisk2.supp + uploaded by atis (license 242) Tested by: atis, amorsen + +2009-10-21 20:58 +0000 [r225243] David Vossel <dvossel@digium.com> + + * channels/chan_iax2.c: IAX2: VNAK loop caused by signaling frames + with no destination call number It is possible for the PBX thread + to queue up signaling frames before a destination call number is + received. This can result in signaling frames being sent out with + no destination call number. Since recent versions of Asterisk + require accurate destination callnumbers for all Full Frames, + this can cause a VNAK loop to occur. To resolve this no signaling + frames are sent until a destination callnumber is received, and + destination call numbers are now only required for iax_pvt + matching when the frame is an ACK. Review: + https://reviewboard.asterisk.org/r/413/ + +2009-10-21 16:44 +0000 [r225169-225171] Russell Bryant <russell@digium.com> + + * main/translate.c: Revert 225169, as this doesn't account for the + possibility of a list of frames. + + * main/translate.c: Isolate the frame returned from + ast_translate(). + +2009-10-21 16:02 +0000 [r225103-225105] Tilghman Lesher <tlesher@digium.com> + + * main/pbx.c, apps/app_meetme.c, include/asterisk/channel.h: Fix + documentation for ast_softhangup() and correct the misuse + thereof. (closes issue #16103) Reported by: majorbloodnok + + * apps/app_voicemail.c: Suffix is not needed for a match + +2009-10-21 14:37 +0000 [r225032] David Vossel <dvossel@digium.com> + + * configs/iax.conf.sample, channels/chan_sip.c, + configs/sip.conf.sample, channels/chan_iax2.c: IAX/SIP + shrinkcallerid option The shrinking of caller id removes '(', ' + ', ')', non-trailing '.', and '-' from the string. This means + values such as 555.5555 and test-test result in 555555 and + testtest. There are instances, such as Skype integration, where a + specific value is passed via caller id that must be preserved + unmodified. This patch makes the shrinking of caller id optional + in chan_sip and chan_iax in order to support such cases. By + default this option is on to preserve previous expected behavior. + (closes issue #15940) Reported by: dimas Patches: v2-15940.patch + uploaded by dimas (license 88) 15940_shrinkcallerid_trunk.c + uploaded by dvossel (license 671) Tested by: dvossel Review: + https://reviewboard.asterisk.org/r/408/ + +2009-10-21 02:59 +0000 [r224931] Russell Bryant <russell@digium.com> + + * include/asterisk/translate.h, main/dsp.c, main/frame.c, + main/translate.c, include/asterisk/dsp.h, codecs/codec_dahdi.c, + include/asterisk/frame.h: Isolate frames returned from a DSP + instance or codec translator. The reasoning for these changes are + the same as what I wrote in the commit message for rev 222878. + +2009-10-20 22:07 +0000 [r224855] Tilghman Lesher <tlesher@digium.com> + + * main/audiohook.c: Pay attention to the return value of the + manipulate function. While this looks like an optimization, it + prevents a crash from occurring when used with certain audiohook + callbacks (diagnosed with SVN trunk, backported to 1.4 to keep + the source consistent across versions). + +2009-10-20 17:46 +0000 [r224773] Joshua Colp <jcolp@digium.com> + + * res/res_features.c: Add support for relaying early media in the + features attended transfer option. (closes issue #14828) Reported + by: licedey + +2009-10-19 23:44 +0000 [r224670] Kevin P. Fleming <kpfleming@digium.com> + + * main/rtp.c: Correct timestamp calculations when RTP sample rates + over 8kHz are used. While testing some endpoints that support + 16kHz and 32kHz sample rates, some log messages were generated + due to calc_rxstamp() computing timestamps in a way that produced + odd results, so this patch sanitizes the result of the + computations. + +2009-10-19 19:47 +0000 [r224565] Joshua Colp <jcolp@digium.com> + + * apps/app_dial.c: Do not attempt early media bridging (ie: direct + RTP setup) if options are enabled that should prevent it. (closes + issue #14763) Reported by: cupotka + +2009-10-17 01:32 +0000 [r224330] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_dahdi.c: Fix stale caller id data from being + reported in AMI NewChannel event The problem here is that + chan_dahdi is designed in such a way to set certain values in the + dahdi_pvt only once. One of those such values is the configured + caller id data in chan_dahdi.conf. For PRI, the configured caller + id data could be overwritten during a call. Instead of saving the + data and restoring, it was decided that for all non-analog + channels it was simply best to not set the configured caller id + in the first place and also clear it at the end of the call. + (closes issue #15883) Reported by: jsmith + +2009-10-16 20:25 +0000 [r224260] Richard Mudgett <rmudgett@digium.com> + + * channels/chan_dahdi.c: Never released PRI channels when using + Busy() or Congestion() dialplan apps. When the Busy() or + Congestion() application is used towards ISDN (an ISDN progress + is sent), the responding ISDN Disconnect or Release may contain + the ISDN cause user busy or one of the congestion causes. In + chan_dahdi.c these causes will only set the needbusy or + needcongestion flags and not activate the softhangup procedure. + Unfortunately only the latter can interrupt the endless wait loop + of Busy()/Congestion(). Result: PRI channels staying in state + busy for the rest of asterisk life or until the other end times + out and forces the call to clear. (in issue 0014292) Reported by: + tomaso Patches: disc_rel_userbusy.patch uploaded by tomaso + (license 564) (This patch is unrelated to the issue.) + +2009-10-13 20:58 +0000 [r223955] Jean Galarneau <jgalarneau@digium.com> + + * channels/chan_dahdi.c: Fix PRI timer T309 operation + +2009-10-12 23:12 +0000 [r223804] Jeff Peeler <jpeeler@digium.com> + + * apps/app_dial.c: Ensure ringing continues for branched calls + after progress is received While waiting for an answer, don't + send progress for branched calls for which ringing was sent. + (closes issue #15028) Reported by: fnordian + +2009-10-12 15:30 +0000 [r223692] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_sip.c: Remove automatic switching from T.38 to + voice mode in chan_sip. chan_sip has some code to automatically + switch from T.38 mode to voice mode when a voice frame is written + to the channel while it is in T.38 mode; this was intended to + handle the situation when a FAX transmission has ended and the + channel is not yet hung up, but is causing problems at the + beginning of FAX sessions as well when there are still voice + frames 'in flight' at the time the T.38 negotiation completes. + This patch removes the automatic switchover. (issue #16025) + Reported by: jamicque + +2009-10-11 18:34 +0000 [r223485-223550] Russell Bryant <russell@digium.com> + + * apps/app_queue.c: Remove a duplicate ao2_iterator_destroy(). + + * main/autoservice.c: Remove some unnecessary code. + + * main/autoservice.c: Don't use data outside of its scope. The + purpose of this code was to have a hangup frame put on the list + of deferred frames. However, the code that read the hangup frame + was outside of the scope of where the hangup frame was declared. + +2009-10-09 18:20 +0000 [r223225] Matthew Nicholson <mnicholson@digium.com> + + * main/channel.c: Signal timeouts by returning AST_CONTROL_RINGING + when originating calls. (closes issue #15104) Reported by: + nblasgen Patches: manager-timeout1.diff uploaded by mnicholson + (license 96) Tested by: nblasgen, mnicholson + +2009-10-09 18:17 +0000 [r223213] Mark Michelson <mmichelson@digium.com> + + * apps/app_dial.c: Fix potential memory leak in app_dial.c + +2009-10-09 17:52 +0000 [r223142-223205] David Vossel <dvossel@digium.com> + + * channels/chan_sip.c: fixes sip registration using authuser in + user.conf (closes issue #14954) Reported by: tornblad Tested by: + mmichelson, tornblad, dvossel + + * channels/chan_sip.c: 'auth=' did not parse md5 secret correctly + (closes issue https://issues.asterisk.org/view.php?id=15949) + Reported by: ebroad Patches: authparsefix.patch uploaded by + ebroad (license 878) 15949_trunk.diff uploaded by dvossel + (license 671) Tested by: ebroad + +2009-10-08 19:45 +0000 [r222878] Russell Bryant <russell@digium.com> + + * include/asterisk/file.h, main/frame.c, main/file.c, + include/asterisk/frame.h: Make filestream frame handling safer by + isolating frames before returning them. This patch is related to + a number of issues on the bug tracker that show crashes related + to freeing frames that came from a filestream. A number of fixes + have been made over time while trying to figure out these + problems, but there re still people seeing the crash. (Note that + some of these bug reports include information about other + problems. I am specifically addressing the filestream frame crash + here.) I'm still not clear on what the exact problem is. However, + what is _very_ clear is that we have seen quite a few problems + over time related to unexpected behavior when we try to use + embedded frames as an optimization. In some cases, this + optimization doesn't really provide much due to improvements made + in other areas. In this case, the patch modifies filestream + handling such that the embedded frame will not be returned. + ast_frisolate() is used to ensure that we end up with a + completely mallocd frame. In reality, though, we will not + actually have to malloc every time. For filestreams, the frame + will almost always be allocated and freed in the same thread. + That means that the thread local frame cache will be used. So, + going this route doesn't hurt. With this patch in place, some + people have reported success in not seeing the crash anymore. + (SWP-150) (AST-208) (ABE-1834) (issue #15609) Reported by: aragon + Patches: filestream_frisolate-1.4.diff2.txt uploaded by russell + (license 2) Tested by: aragon, russell (closes issue #15817) + Reported by: zerohalo Tested by: zerohalo (closes issue #15845) + Reported by: marhbere Review: + https://reviewboard.asterisk.org/r/386/ + +2009-10-08 19:45 +0000 [r222877] David Vossel <dvossel@digium.com> + + * main/netsock.c, include/asterisk/netsock.h: fixes an + ast_netsock_list memory leak. ABE-1998 Review: + https://reviewboard.asterisk.org/r/395/ + +2009-10-08 16:33 +0000 [r222691-222797] Richard Mudgett <rmudgett@digium.com> + + * channels/misdn_config.c: Fix memory leak if chan_misdn config + parameter is repeated. Memory leak when the same config option is + set more than once in an misdn.conf section. Why must this be + considered? Templates! Defining a template with default port + options and later adding to or overriding some of them. Patches: + memleak-misdn.patch JIRA ABE-1998 + + * channels/chan_misdn.c: chan_misdn.c:process_ast_dsp() memory leak + misdn.conf: astdtmf must be set to "yes". With "no", buffer loss + does not occur. The translated frame "f2" when passing through + ast_dsp_process() is not freed whenever it is not used further in + process_ast_dsp(). Then in the end it is never ever freed. + Patches: translate.patch JIRA ABE-1993 + +2009-10-07 17:41 +0000 [r222542] David Vossel <dvossel@digium.com> + + * channels/chan_sip.c: crash on transfer handle_invite_replaces() + attempts to uplock a pvt's owner channel without first verifing + that it exists. (issue #16027) + +2009-10-06 23:51 +0000 [r222393-222462] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_dahdi.c: Add missing unlock(s) in dahdi_read (two + cases in trunk) (closes issue #15683) Reported by: alecdavis + + * channels/chan_dahdi.c: Fix potential crash when entire span + request is received. The variable index used in this scenario for + accessing the dahdi_pvts was wrong and was most likely copied + from the several other places it is used correctly. (closes issue + #15998) Reported by: tsearle Patches: dahdi_reset_crash.patch + uploaded by tsearle (license 373) + +2009-10-06 Leif Madsen <lmadsen@digium.com> + + * Release Asterisk 1.4.27-rc2 + +2009-10-06 01:16 +0000 [r222152] Kevin P. Fleming <kpfleming@digium.com> + + * main/astobj2.c, include/asterisk/astobj2.h, + res/res_musiconhold.c, apps/app_queue.c, channels/chan_iax2.c: + Fix ao2_iterator API to hold references to containers being + iterated. See Mantis issue for details of what prompted this + change. Additional notes: This patch changes the ao2_iterator API + in two ways: F_AO2I_DONTLOCK has become an enum instead of a + macro, with a name that fits our naming policy; also, it is now + necessary to call ao2_iterator_destroy() on any iterator that has + been created. Currently this only releases the reference to the + container being iterated, but in the future this could also + release other resources used by the iterator, if the iterator + implementation changes to use additional resources. (closes issue + #15987) Reported by: kpfleming Review: + https://reviewboard.asterisk.org/r/383/ + +2009-10-02 17:32 +0000 [r222026] David Vossel <dvossel@digium.com> + + * channels/chan_iax2.c: Removes unnecessary unlock, clarifies a + memcpy. + +2009-10-02 16:58 +0000 [r221776-221970] Tilghman Lesher <tlesher@digium.com> + + * main/astobj2.c: Ensure the result of the hash function is + positive. Negative array offsets suck. + + * main/asterisk.c, main/rtp.c, main/say.c: Fix a bunch of + off-by-one errors + +2009-10-01 23:18 +0000 [r221769] Richard Mudgett <rmudgett@digium.com> + + * channels/misdn/isdn_lib.c, channels/misdn/isdn_lib_intern.h: + Occasionally losing use of B channels in chan_misdn. I have not + been able to reproduce the problem of losing channels. However, I + have seen in the code a reentrancy problem that might give these + symptoms. The reentrancy patch does several things: 1) Guards B + channel and B channel structure allocation. 2) Makes the B + channel structure find routines more precise in locating records. + 3) Never leave a B channel allocated if we received cause 44. The + last item may cause temporary outgoing call problems, but they + should clear when the line becomes idle. (closes issue #15490) + Reported by: slutec18 Patches: + issue15490_channel_alloc_reentrancy.patch uploaded by rmudgett + (license 664) Tested by: rmudgett, slutec18 (closes issue #15458) + Reported by: FabienToune Patches: + issue15458_channel_alloc_reentrancy.patch uploaded by rmudgett + (license 664) Tested by: FabienToune, rmudgett, slutec18 + +2009-10-01 15:24 +0000 [r221360-221588] Matthew Nicholson <mnicholson@digium.com> + + * channels/chan_sip.c: Use unsigned ints for portinuri flags. + + * channels/chan_sip.c: Make portinuri a bitfield. + + * channels/chan_sip.c, configs/sip.conf.sample: Fix SRV lookup and + Request-URI generation in chan_sip. This patch adds a new field + "portinuri" to the sip dialog struct and the sip peer struct. + That field is used during RURI generation to determine if the + port should be included in the RURI. It is also used in some + places to determine if an SRV lookup should occur. (closes issue + #14418) Reported by: klaus3000 Tested by: klaus3000, mnicholson + Review: https://reviewboard.asterisk.org/r/369/ + +2009-09-30 19:02 +0000 [r221303] Matthias Nick <mnick@digium.com> + + * funcs/func_strings.c: changed the prototype definition of + csv_quote + +2009-09-30 16:55 +0000 [r221200] Tilghman Lesher <tlesher@digium.com> + + * main/channel.c: Avoid a potential NULL dereference. (closes issue + #15865) Reported by: kobaz Patches: 20090915__issue15865.diff.txt + uploaded by tilghman (license 14) Tested by: kobaz + +2009-09-30 15:41 +0000 [r221153-221157] Matthias Nick <mnick@digium.com> + + * configs/cdr_custom.conf.sample, funcs/func_strings.c: added a new + dialplan function 'CSV_QUOTE' and changed the + cdr_custom.sample.conf (closes issue #15471) Reported by: dkerr + Patches: csv_quote_14.txt uploaded by mnick (license ) Tested by: + mnick + + * funcs/func_strings.c: check bounds - prevents for buffer overflow + +2009-09-30 14:49 +0000 [r221086] Terry Wilson <twilson@digium.com> + + * main/rtp.c, channels/chan_sip.c, include/asterisk/rtp.h, + configs/sip.conf.sample: Change the SSRC by default when our + media stream changes Be default, change SSRC when doing an audio + stream changes Asterisk doesn't honor marker bit when reinvited + to already-bridged RTP streams,resulting in far-end stack + discarding packets with "old" timestamps that areactually part of + a new stream. This patch sends AST_CONTROL_SRCUPDATE whenever + there is a reinvite, unless the 'constantssrc' is set to true in + sip.conf. The original issue reported to Digium support detailed + the following situation: ITSP <-> Asterisk 1.4.26.2 <-> SIP-based + Application Server Call comes in fromITSP, Asterisk dials the app + server which sends a re-invite back toAsterisk--not to negotiate + to send media directly to the ITSP, but to indicatethat it's + changing the stream it's sending to Asterisk. The app + servergenerates a new SSRC, sequence numbers, timestamps, and + sets the marker bit on the new stream. Asterisk passes through + the teimstamp of the new stream, butdoes not reset the SSRC, + sequence numbers, or set the marker bit. When the timestamp on + the new stream is older than the timestamp on the originalstream, + the ITSP (which doesn't know there has been any change) discards + the newframes because it thinks they are too old. This patch + addresses this by changing the SSRC on a stream update unless + constantssrc=true is set in sip.conf. Review: + https://reviewboard.asterisk.org/r/374/ + +2009-09-29 20:14 +0000 [r220907] Matthew Nicholson <mnicholson@digium.com> + + * apps/app_chanspy.c: Avoid a deadlock in chanspy, just in case the + spyee is masqueraded and chanspy_ds_chan_fixup() is called with + the channel locked. (closes issue #15965) Reported by: atis + Patches: chanspy-deadlock-fix1.diff uploaded by mnicholson + (license 96) Tested by: atis + +2009-09-29 17:59 +0000 [r220873] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_sip.c: Reduce CPU usage related to building a peer + merely for devicestates. This fixes a 100% CPU problem in the SIP + driver, found by profiling the driver while the problem was + occurring. (closes issue #14309) Reported by: pkempgen Patches: + 20090924__issue14309.diff.txt uploaded by tilghman (license 14) + Tested by: pkempgen, vrban + +2009-09-28 19:09 +0000 [r220717] Sean Bright <sean@malleable.com> + + * Makefile.rules: When selecting DONT_OPTIMIZE in menuselect, + explicitly pass -O0 to the compiler so we override any default + optimization levels for a particular install. + +2009-09-24 19:39 +0000 [r220288] Tilghman Lesher <tlesher@digium.com> + + * apps/app_playback.c, main/pbx.c, apps/app_disa.c: Implicitly + sending a progress signal breaks some applications. Call + Progress() in your dialplan if you explicitly want progress to be + sent. (Reverts change 216430, closes issue #15957) Reported by: + Pavel Troller on the Asterisk-Dev mailing list + http://lists.digium.com/pipermail/asterisk-dev/2009-September/039897.html + +2009-09-24 18:18 +0000 [r220099-220213] Sean Bright <sean@malleable.com> + + * Makefile: Resolve parallel build warnings. Reported by Klaus + Darilion on the asterisk-dev mailing list. + + * Makefile, build_tools/mkpkgconfig: Remove the remaining bashisms + in the Makefile/mkpkgconfig + +2009-09-24 08:33 +0000 [r220027] Michiel van Baak <michiel@vanbaak.info> + + * build_tools/mkpkgconfig: mkpkgconfig does not need bash so make + it use /bin/sh This fixes building on all systems that don't have + bash at /bin/bash Reported by _ys on #asterisk-dev Tested by _ys + on #asterisk-dev + +2009-09-22 21:37 +0000 [r219816] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: When IMAP variables were changed during a + reload, Voicemail did not use the new values. This change + introduces a configuration version variable, which ensures that + connections with the old values are not reused but are allowed to + expire normally. (closes issue #15934) Reported by: + viniciusfontes Patches: 20090922__issue15934.diff.txt uploaded by + tilghman (license 14) Tested by: viniciusfontes + +2009-09-21 16:55 +0000 [r219720] David Vossel <dvossel@digium.com> + + * channels/chan_iax2.c: Reverting merge 219520. This change was not + necessary. + +2009-09-20 17:52 +0000 [r219653] Tilghman Lesher <tlesher@digium.com> + + * main/file.c: Really stop the stream, when ast_closestream() is + called. (closes issue #15129) Reported by: bmh Patches: + 20090918__issue15129.diff.txt uploaded by tilghman (license 14) + Review: https://reviewboard.asterisk.org/r/372/ + +2009-09-19 02:51 +0000 [r219586] Russell Bryant <russell@digium.com> + + * channels/chan_iax2.c: Make sure the iax_pvt exists before + dereferencing it. This fixes the latest crash posted on issue + 15609. (issue #15609) + +2009-09-18 23:19 +0000 [r219450-219519] David Vossel <dvossel@digium.com> + + * channels/chan_iax2.c: iax2 frame double free The iax frame's + retrans sched id was written over right before iax2_frame_free + was called. In iax2_frame_free that retrans id is used to delete + the sched item. By writing over the retrans field before the + sched item could be deleted, it was possible for a retransmit to + occur on a freed frame. + + * channels/chan_sip.c: via-header branches not updated correctly on + INVITE INVITE requests must always contain a new unique branch + id. When a new branch id is created for an INVITE, the dialog's + invite_branch variable must be updated so CANCEL requests use the + correct branch id. (closes issue #15262) Reported by: maniax + Patches: asterisk-1.6.1.0-sip-branch.patch uploaded by tweety + (license 608) invite_new_branch_trunk.diff uploaded by dvossel + (license 671) Tested by: maniax, dvossel + +2009-09-17 22:20 +0000 [r219320] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Send a 100 Trying response when we detect a + spiral. This was problematic during spiral tests at SIPit... + along with some other things as well. + +2009-09-17 21:29 +0000 [r219303] David Vossel <dvossel@digium.com> + + * channels/chan_sip.c: INVITE w/Replaces deadlock fix This patch + cleans up the locking logic in chan_sip.c's + handle_invite_replaces() function as well as making use of + ast_do_masquerade() rather than forcing the masquerade on an + ast_read(). The code had several redundant unlocks that would + result in 'freed more times than we've locked!' errors. I cleaned + these up as well as moving all the unlock logic to the end of the + function. This patch should also resolve the issue people were + having with the replacecall channel never being unlocked with one + legged calls. (closes issue #15151) Reported by: irroot Patches: + invite_w_replaces_1.4.diff uploaded by dvossel (license 671) + Tested by: irroot, dvossel Review: + https://reviewboard.asterisk.org/r/371/ + +2009-09-17 Leif Madsen <lmadsen@digium.com> + + * Release Asterisk 1.4.27-rc1 + +2009-09-17 14:58 +0000 [r219136] Matthew Nicholson <mnicholson@digium.com> + + * main/channel.c, include/asterisk/cdr.h, + include/asterisk/channel.h: Prevent a potential race condition + and crash when hanging up a channel by removing the channel from + the channel list before begining channel tear down. This fix may + potentially cause problems with CDR backends that access the + channel a CDR is associated with via the channel list. This fix + makes the channel unavabile at the time when the CDR backend is + invoked. This has been documented in include/asterisk/cdr.h. + (closes issue #15316) Reported by: vmarrone Tested by: mnicholson + Review: https://reviewboard.asterisk.org/r/362/ + +2009-09-16 23:21 +0000 [r219023] Tilghman Lesher <tlesher@digium.com> + + * main/config.c, configs/extensions.conf.sample: Properly deal with + quotes in the arguments of '#exec' includes. (closes issue + #15583) Reported by: pkempgen Patches: + 20090726__issue15583.diff.txt uploaded by tilghman (license 14) + 20090726__issue15583-1.4-4.diff.txt uploaded by pkempgen (license + 169) Tested by: pkempgen + +2009-09-16 18:00 +0000 [r218867] David Brooks <dbrooks@digium.com> + + * main/pbx.c: Fixes CID pattern matching behavior to mirror that of + extension pattern matching. Pattern matching for extensions uses + a type of scoring system, giving values for specificity to each + character in the pattern. Unfortunately, this is done character + by character, in order. This does lead to some less specific + patterns being first in line for matching, but it will usually + get the job done. This patch merely brings CID matching to the + same level as extension matching. This patch does not attempt to + tackle the problem shared by extension matching. (closes issue + #14708) Reported by: klaus3000 + +2009-09-16 13:33 +0000 [r218798] Russell Bryant <russell@digium.com> + + * contrib/firmware/iax/iaxy.bin (removed), UPGRADE.txt: Remove the + IAXy firmware from Asterisk. The firmware can now be found on + downloads.digium.com, where the rest of our binary downloads + live. This was the last part of our Asterisk tarballs that was + considered non-free by Debian. :-) (closes issue #15838) Reported + by: paravoid + +2009-09-15 22:27 +0000 [r218730] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: If the user enters the same password as + before, don't signal an error when the change does nothing. + (closes issue #15492) Reported by: cbbs70a Patches: + 20090713__issue15492.diff.txt uploaded by tilghman (license 14) + +2009-09-15 16:29 +0000 [r218623] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_dahdi.c: Fix small memory leak in handle_init_event + by always destroying the pthread attr before returning. + +2009-09-15 16:03 +0000 [r218578] Matthew Nicholson <mnicholson@digium.com> + + * channels/chan_sip.c: Send request contact header field with + response to registrer queries instead of the address of record. + (closes issue #14438) Reported by: ravindrad Patches: + regquerypatch uploaded by ravindrad (license 684) Tested by: + ravindrad + +2009-09-15 16:01 +0000 [r218577] Tilghman Lesher <tlesher@digium.com> + + * apps/app_followme.c: Ensure FollowMe sets language in channels it + creates. Also, not in the original bug report, but related fields + are accountcode and musicclass, and the inheritance of + datastores. (closes issue #15372) Reported by: Romik Patches: + 20090828__issue15372.diff.txt uploaded by tilghman (license 14) + Tested by: cervajs + +2009-09-15 14:57 +0000 [r218497-218498] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_sip.c: revert accidental commit + + * channels/chan_sip.c, sounds/Makefile: Use proper hostname for + downloading sound files. + +2009-09-14 21:47 +0000 [r218401] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_dahdi.c: Fix handling of DAHDI_EVENT_REMOVED event + to prevent crash in do_monitor. After talking to rmudgett about + some of his recent iflist locking changes, it was determined that + the only place that would destroy a channel without being + explicitly to do so was in handle_init_event. The loop to walk + the interface list has been modified to wait to destroy the + channel until the dahdi_pvt of the channel to be destroyed is no + longer needed. (closes issue #15378) Reported by: samy + +2009-09-14 19:16 +0000 [r218331] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c, sounds/Makefile: Don't say "Please try + again" if we don't give the user another chance to try again. + (issue #15055, SWP-129) Reported by: jthurman + +2009-09-14 14:53 +0000 [r218223] Matthew Nicholson <mnicholson@digium.com> + + * apps/app_directed_pickup.c: Ensure we don't pickup ourselves when + doing pickup by exten. (closes issue #15100) Reported by: + lmsteffan Patches: (modified) pickup.patch uploaded by lmsteffan + (license 779) + +2009-09-10 23:52 +0000 [r217917-217989] Tilghman Lesher <tlesher@digium.com> + + * apps/app_queue.c: Don't ring another channel, if there's not + enough time for a queue member to answer. (Fixes AST-228) + + * contrib/scripts/iax-friends.sql, channels/chan_sip.c, + channels/chan_iax2.c: Backport realtime fix to 1.4 + +2009-09-10 21:06 +0000 [r217806] David Vossel <dvossel@digium.com> + + * channels/chan_iax2.c: IAX2 encryption regression The IAX2 Call + Token security patch inadvertently broke the use of encryption + due to the reorganization of code in the socket_process() + function. When encryption is used, an incoming full frame must + first be decrypted before the information elements can be parsed. + The security release mistakenly moved IE parsing before + decryption in order to process the new Call Token IE. To resolve + this, decryption of full frames is once again done before looking + into the frame. This involves searching for an existing callno, + checking the pvt to see if encryption is turned on, and + decrypting the packet before the internal fields of the full + frame are accessed. associated with AST-2009-006 (closes issue + #15834) Reported by: karesmakro Patches: + iax2_encryption_fix_1.4.diff uploaded by dvossel (license 671) + Tested by: dvossel, karesmakro Review: + https://reviewboard.asterisk.org/r/355/ + +2009-09-10 19:52 +0000 [r217668-217735] Olle Johansson <oej@edvina.net> + + * utils/Makefile: Reinstate muted that was removed by mistake. + muted doesn't compile any more on os/x, so I have to disable it + in order to testcompile other code... + + * utils/Makefile, channels/chan_sip.c: Remove harmful code that + causes endless loops. Remove code that causes loops in + registrations. We have agreed that the patch that this code was + part of was bad. I am ripping out the code that causes the issue. + putnopvut needs to check the rest of the patch, if it needs to be + changed as well. This solves the issue reported in #15540, but + needs more work before we close it (as described above). + +2009-09-08 20:01 +0000 [r217156] Tilghman Lesher <tlesher@digium.com> + + * apps/app_meetme.c: When MOH is playing on the channel, + announcements sent through the conference are not heard. (closes + issue #14588) Reported by: voipas Patches: + 20090716__issue14588__2.diff.txt uploaded by tilghman (license + 14) Tested by: lmadsen, twisted, tilghman + +2009-09-04 13:56 +0000 [r216432-216435] Michiel van Baak <michiel@vanbaak.info> + + * main/utils.c, include/asterisk/lock.h: make asterisk compile + under devmode with DEBUG_THREADS enabled on OpenBSD + + * channels/chan_sip.c: make chan_sip compile under devmode again + +2009-09-04 13:45 +0000 [r216430] Olle Johansson <oej@edvina.net> + + * apps/app_playback.c, main/pbx.c, channels/chan_sip.c, + apps/app_disa.c, configs/sip.conf.sample: Make apps send PROGRESS + control frame for early media and fix too early media issue in + SIP The issue at hand is that some legacy (dying) PBX systems + send empty media frames on PRI links *before* any call progress. + The SIP channel receives these frames and by default signals 183 + Session progress and starts sending media. This will cause phones + to play silence and ignore the later 180 ringing message. A bad + user experience. The fix is twofold: - We discovered that + asterisk apps that support early media ("noanswer") did not send + any PROGRESS frame to indicate early media. Fixed. - We introduce + a setting in chan_sip so that users can disable any relay of + media frames before the outbound channel actually indicates any + sort of call progress. In 1.4, 1.6.0 and 1.6.1, this will be + disabled for backward compatibility. In later versions of + Asterisk, this will be enabled. We don't assume that it will + change your Asterisk phone experience - only for the better. We + encourage third-party application developers to make sure that if + they have applications that wants to send early media, add a + PROGRESS control frame transmission to make sure that all channel + drivers actually will start sending early media. This has not + been the default in Asterisk previous to this patch, so if you + got inspiration from our code, you need to update accordingly. + Sorry for the trouble and thanks for your support. This code has + been running for a few months in a large scale installation (over + 250 servers with PRI and/or BRI links to old PBX systems). That's + no proof that this is an excellent patch, but, well, it's tested + :-) + +2009-09-04 13:16 +0000 [r216369] Michiel van Baak <michiel@vanbaak.info> + + * main/astobj2.c: Make sure 'start' is always initialized. This is + the same as rev 216222 in trunk but 1.4 is affected as well + +2009-09-04 10:48 +0000 [r216008-216263] Russell Bryant <russell@digium.com> + + * doc/IAX2-security.txt (added), /: Merged revisions 216262 via + svnmerge from + https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ + r216262 | russell | 2009-09-04 05:47:37 -0500 (Fri, 04 Sep 2009) + | 2 lines Add a plain text version of the IAX2 security document. + ........ + + * /, UPGRADE.txt: Merged revisions 216080 via svnmerge from + https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ + r216080 | russell | 2009-09-03 14:35:23 -0500 (Thu, 03 Sep 2009) + | 2 lines Add a note about IAX2 to UPGRADE.txt. ........ + + * /, doc/IAX2-security.pdf (added): Merged revisions 216005 via + svnmerge from + https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ + r216005 | russell | 2009-09-03 13:42:24 -0500 (Thu, 03 Sep 2009) + | 2 lines Add IAX2 security document related to AST-2009-006. + ........ + +2009-09-03 18:32 +0000 [r216000] David Vossel <dvossel@digium.com> + + * channels/iax2-parser.c, main/astobj2.c, configs/iax.conf.sample, + include/asterisk/acl.h, channels/iax2-parser.h, + include/asterisk/astobj2.h, channels/iax2.h, main/acl.c, + channels/chan_iax2.c: Merge code associated with AST-2009-006 + (closes issue #12912) Reported by: rathaus Tested by: tilghman, + russell, dvossel, dbrooks + +2009-09-02 21:41 +0000 [r215682] Terry Wilson <twilson@digium.com> + + * channels/chan_sip.c: Re-send non-100 provisional responses to + prevent cancellation From section 13.3.1.1 of RFC 3261: If the + UAS desires an extended period of time to answer the INVITE, it + will need to ask for an "extension" in order to prevent proxies + from canceling the transaction. A proxy has the option of + canceling a transaction when there is a gap of 3 minutes between + responses in a transaction. To prevent cancellation, the UAS MUST + send a non-100 provisional response at every minute, to handle + the possibility of lost provisional responses. (closes issue + #11157) Reported by: rjain Tested by: twilson Review: + https://reviewboard.asterisk.org/r/315/ + +2009-09-01 23:04 +0000 [r215270] Dwayne M. Hubbard <dwayne.hubbard@gmail.com> + + * apps/app_softhangup.c: Use strrchr() so SoftHangup will correctly + truncate multi-hyphen channel names In general channel names are + in the form Foo/Bar-Z, but the channel name could have multiple + hyphens and look like Foo/B-a-r-Z. Use strrchr to truncate the + channel name at the last hyphen. (closes issue #15810) Reported + by: dhubbard Patches: dw-softhangup-1.4.patch uploaded by + dhubbard (license 733) + +2009-08-31 16:16 +0000 [r214940] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_local.c: Also unlock the "other" channel, when + returning, due to glare. (closes issue #15787) Reported by: + tim_ringenbach Patches: chan_local.diff uploaded by tim + ringenbach (license 540) Tested by: tim_ringenbach + +2009-08-28 20:13 +0000 [r214357-214701] Tilghman Lesher <tlesher@digium.com> + + * main/channel.c: Modify comment to be a bit more accurate. We have + kept this comment around long enough, that it's pretty clear that + we're keeping the code, because changing the code would require a + pretty fundamental architectural shift. We've also taken + criticism in some quarters, because it was believed that it was + referring to the code being nasty. No, the code isn't nasty, just + the operation itself is rather odd. Fixed for eternity (probably + not). + + * autoconf/libcurl.m4 (added), configure, + include/asterisk/autoconfig.h.in, configure.ac: Use autoconf to + detect libcurl, as this enables cross-compilation checks, + something we didn't allow before. (closes issue #15714) Reported + by: pprindeville Patches: 20090813__issue15714.diff.txt uploaded + by tilghman (license 14) Tested by: pprindeville + + * autoconf/ast_ext_lib.m4, configure, + include/asterisk/autoconfig.h.in, configure.ac: One more build + system change, to make the descriptions look better, if we have + better information. + + * autoconf/ast_ext_lib.m4, configure, + include/asterisk/autoconfig.h.in: Make autoheader descriptions + render correctly in our autoconfig.h file. (Figured out while + working with issue #14906) + +2009-08-26 16:36 +0000 [r214194] David Vossel <dvossel@digium.com> + + * main/channel.c: ast_write() ignores ast_audiohook_write() results + In ast_write(), if a channel has a list of audiohooks, those + lists are written to and the resulting frame is what ast_write() + should continue with. The problem was the returned audiohook + frame was not being handled at all, and the original frame passed + into it did not contain the mixed audio, so essentially audio was + being lost. One result of this was chan_spy's whisper mode no + longer worked. To complicate the issue, frames passed into + ast_write may either be a single frame, or a list of frames. So, + as the list of frames is processed in the audiohook_write, the + returned frames had to be added to a new list. (closes issue + #15660) Reported by: corruptor Tested by: dvossel + +2009-08-25 19:28 +0000 [r213899-214069] Tilghman Lesher <tlesher@digium.com> + + * main/say.c: I should always compile before committing... + + * main/say.c: Fix pronunciation of German dates. (closes issue + #15273) Reported by: Benjamin Kluck Patches: say_c.patch uploaded + by Benjamin Kluck (license 803) + + * main/pbx.c: Improve error message by informing user exactly which + function is missing a parethesis. (closes issue #15242) Reported + by: Nick_Lewis Patches: pbx.c-funcparenthesis.patch2 uploaded by + dbrooks (license 790) pbx.c-funcparenthesis-1.4.diff uploaded by + loloski (license 68) + + * Makefile: Use the default runlevels for Debian derivatives, + instead of making up our own. (closes issue #14730) Reported by: + pkempgen + +2009-08-21 20:23 +0000 [r213631] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_sip.c: Ensure that T.38 INVITEs generated by + Asterisk properly result in T.38 being enabled. (closes issue + #15373) Reported by: dcolombo Patches: chan_sip.patch uploaded by + mbrancaleoni (license 342) Tested by: dcolombo, mbrancaleoni + +2009-08-21 16:52 +0000 [r213559] Tilghman Lesher <tlesher@digium.com> + + * include/asterisk.h: Permit DEBUG_FD_LEAKS to be used with C++ + source files. (closes issue #15698) Reported by: slavon Patches: + 20090817__issue15698.diff.txt uploaded by tilghman (license 14) + Tested by: slavon, tilghman + +2009-08-21 16:03 +0000 [r213493] Jason Parker <jparker@digium.com> + + * configs/queues.conf.sample: Clarify queues.conf comments to + specify that variables should be set in the dialplan. (closes + issue #15755) Reported by: trendboy + +2009-08-20 20:33 +0000 [r213339] Matthew Nicholson <mnicholson@digium.com> + + * res/res_features.c: Fix a crash by checking the proper pointer + for validity before deferencing it. (closes issue #15751) + Reported by: atis Patches: ast_bridge_call_peer_cdr.patch + uploaded by atis (license 242) + +2009-08-20 19:53 +0000 [r213283] Jeff Peeler <jpeeler@digium.com> + + * apps/app_voicemail.exports (added): Make all the symbols for the + C-client callbacks global + +2009-08-19 21:18 +0000 [r213103] David Vossel <dvossel@digium.com> + + * apps/app_mixmonitor.c: Fixes memory leak caused by incorrectly + freeing mixmonitor (closes issue #15699) Reported by: edantie + Patches: mixmonitor.patch uploaded by edantie (license 862) + +2009-08-18 20:26 +0000 [r212913] Kevin P. Fleming <kpfleming@digium.com> + + * doc/musiconhold-opsound.txt (added), CREDITS, /, UPGRADE.txt, + sounds/sounds.xml, build_tools/prep_tarball, + doc/musiconhold-fpm.txt (removed), doc/00README.1st, + sounds/Makefile: Convert this branch to Opsound music-on-hold. + For more details: + http://blogs.digium.com/2009/08/18/asterisk-music-on-hold-changes/ + +2009-08-18 16:36 +0000 [r212763] Sean Bright <sean@malleable.com> + + * main/manager.c: Delay the creation of temporary files until we + have a valid manager command to handle. Without this patch, + asterisk creates a temporary file before determining if the + specified command is valid. If invalid, we weren't properly + cleaning up the file. (closes issue #15730) Reported by: zmehmood + Patches: M15730.diff uploaded by junky (license 177) Tested by: + zmehmood + +2009-08-18 16:00 +0000 [r212727] Richard Mudgett <rmudgett@digium.com> + + * channels/misdn/isdn_lib.c: Removed some deadwood and added some + doxygen comments. + +2009-08-17 16:34 +0000 [r212498] Jeff Peeler <jpeeler@digium.com> + + * channels/misdn_config.c: Fix segfault when reloading chan_misdn. + If more ports were specified than configured in misdn.conf a + reload would crash asterisk. The problem was the unconfigured + port was using data from the previously configured port. When the + data for an unconfigured port was freed a crash would result from + the double free. (closes issue #12113) Reported by: agupta + Patches: bug12113.patch uploaded by jpeeler (license 325) + +2009-08-17 15:36 +0000 [r212430] Richard Mudgett <rmudgett@digium.com> + + * channels/chan_dahdi.c: Fix uninitialized variable. + +2009-08-12 23:04 +0000 [r211953] Matthew Nicholson <mnicholson@digium.com> + + * apps/app_queue.c: This patch adds additional checking when + generating queue log TRANSFER events. The additional checks + prevent generation of false TRANSFER events in certain + situations. (closes issue #14536) Reported by: aragon Patches: + queue-log-xfer-fix1.diff uploaded by mnicholson (license 96) + Tested by: aragon, mnicholson + +2009-08-12 18:46 +0000 [r211807] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Backport fix so that outbound CANCEL + requests have same branch as challenged INVITEs. There already + was code present to be sure that a CANCEL will contain the same + branch-id as the INVITE it is cancelling. However, for INVITES + which are challenged downstream, this mechanism did not work + properly. Now this is taken care of. This is a backport of a fix + already present in all 1.6.X branches and in trunk. It also fixes + ABE-1907. + +2009-08-10 19:48 +0000 [r211528-211583] Tilghman Lesher <tlesher@digium.com> + + * doc/CODING-GUIDELINES: Conversion specifiers, not format + specifiers + + * main/indications.c, main/cli.c, pbx/pbx_loopback.c, + channels/chan_dahdi.c, res/res_smdi.c, pbx/pbx_spool.c, + channels/chan_skinny.c, pbx/pbx_ael.c, apps/app_dial.c, + main/pbx.c, apps/app_privacy.c, codecs/codec_speex.c, + funcs/func_math.c, channels/chan_agent.c, apps/app_morsecode.c, + apps/app_disa.c, channels/iax2-provision.c, funcs/func_cut.c, + pbx/dundi-parser.c, apps/app_talkdetect.c, channels/chan_misdn.c, + apps/app_waitforring.c, funcs/func_channel.c, apps/app_macro.c, + pbx/pbx_config.c, apps/app_mixmonitor.c, apps/app_chanspy.c, + main/asterisk.c, res/res_odbc.c, apps/app_voicemail.c, + doc/CODING-GUIDELINES, utils/muted.c, apps/app_meetme.c, + main/utils.c, apps/app_followme.c, utils/frame.c, + channels/misdn_config.c, main/cdr.c, main/channel.c, + channels/chan_phone.c, main/manager.c, apps/app_osplookup.c, + apps/app_setcallerid.c, res/res_agi.c, apps/app_rpt.c, + channels/chan_mgcp.c, apps/app_adsiprog.c, main/dnsmgr.c, + channels/chan_sip.c, apps/app_waitforsilence.c, agi/eagi-test.c, + main/acl.c, apps/app_queue.c, channels/chan_oss.c, + agi/eagi-sphinx-test.c, channels/chan_h323.c, pbx/pbx_dundi.c, + apps/app_sms.c, apps/app_verbose.c, apps/app_dahdibarge.c, + funcs/func_rand.c, apps/app_readfile.c, main/frame.c, /, + res/res_features.c, apps/app_record.c, funcs/func_strings.c, + apps/app_random.c, apps/app_alarmreceiver.c, + channels/chan_iax2.c: AST-2009-005 + +2009-08-09 15:41 +0000 [r211274] Tilghman Lesher <tlesher@digium.com> + + * main/astfd.c: Small oops. Clear the flags which have been + checked. + +2009-08-07 20:11 +0000 [r211112] Russell Bryant <russell@digium.com> + + * apps/app_chanspy.c: Resolve a deadlock involving app_chanspy and + masquerades. (ABE-1936) + +2009-08-07 18:16 +0000 [r210913-211038] Tilghman Lesher <tlesher@digium.com> + + * apps/app_queue.c: QUEUE_MEMBER_LIST _really_ wants the interface + name, not the membername. This is a partial revert of revision + 82590, which was an attempted cleanup, but in reality, it broke + QUEUE_MEMBER_LIST, which has always been intended as a method by + which component interfaces could be queried from the queue. + Membername isn't useful here, because that field cannot be used + to obtain further information about the member. See the + documentation on QUEUE_MEMBER_LIST, RemoveQueueMember, + QUEUE_MEMBER_PENALTY, and the various AMI commands which take a + member argument for further justification. (closes issue #15664) + Reported by: rain Patches: app_queue-queue_member_list.diff + uploaded by rain (license 327) + + * main/channel.c: Because channel information can be accessed + outside of the channel thread, we must lock the channel prior to + modifying it. (closes issue #15397) Reported by: caspy Patches: + 20090714__issue15397.diff.txt uploaded by tilghman (license 14) + Tested by: caspy + +2009-08-05 19:18 +0000 [r210575] Richard Mudgett <rmudgett@digium.com> + + * channels/chan_dahdi.c: Dialplan starts execution before the + channel setup is complete. * Issue 15655: For the case where + dialing is complete for an incoming call, dahdi_new() was asked + to start the PBX and then the code set more channel variables. If + the dialplan hungup before these channel variables got set, + asterisk would likely crash. * Fixed potential for overlap + incoming call to erroneously set channel variables as global + dialplan variables if the ast_channel structure failed to get + allocated. * Added missing set of CALLINGSUBADDR in the dialing + is complete case. (closes issue #15655) Reported by: alecdavis + +2009-08-05 18:46 +0000 [r210563] Leif Madsen <lmadsen@digium.com> + + * doc/imapstorage.txt: Update imapstorage.txt documentation. + Updated the imapstorage.txt documentation to reflect that issues + with c-client versions older than 2007 seem to cause crashing + issues that are not seen with more recent versions. Documentation + has been updated to reflect this. (closes issue #14496) Reported + by: vbcrlfuser Patches: __20090727-imap-documentation-patch.txt + uploaded by lmadsen (license 10) Tested by: lmadsen, mmichelson, + dbrooks + +2009-08-04 14:51 +0000 [r210237] Kevin P. Fleming <kpfleming@digium.com> + + * Makefile: Eliminate spurious compiler warnings from system + headers on *BSD platforms. Ensure that system headers located in + /usr/local/include are actually treated as system headers by the + compiler, and not as local headers which are subject to warnings + from the -Wundef compiler option and others. (closes issue + #15606) Reported by: mvanbaak + +2009-08-03 16:15 +0000 [r210067] David Brooks <dbrooks@digium.com> + + * channels/chan_dahdi.c: Fixes dialplan wildcard extension taking + precedence over call pickup code. Prior to this patch, a wildcard + extension in the dialplan (for example, _*.) would take + precedence over picking up a call in the channel's pickup group. + This patch simply moves the block of code handling pickup group + matching to above the extension matching code. (closes issue + #14735) Reported by: stevedavies Review: + https://reviewboard.asterisk.org/r/319/ + +2009-08-03 16:11 +0000 [r210064-210066] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_oss.c, apps/app_playback.c, main/asterisk.exports, + configure, include/asterisk/autoconfig.h.in, + include/asterisk/compat.h, main/strcompat.c, configure.ac, + funcs/func_cut.c: Reverting index() fix, applying a different + methodology, based upon developer discussions. (related to issue + #15639) + + * main/asterisk.exports, include/asterisk/compat.h: Helps if we + export the index() function. (Related to issue #15639) + + * configure, include/asterisk/autoconfig.h.in, main/strcompat.c, + configure.ac: Apparently, some platforms don't have the index() + function. (closes issue #15639) Reported by: nmav + +2009-08-01 11:27 +0000 [r209838-209879] Russell Bryant <russell@digium.com> + + * main/db1-ast/mpool/mpool.c: Resolve a valgrind warning about a + read from uninitialized memory. (issue #15396) Reported by: + aragon + + * apps/app_milliwatt.c: Modify how Playtones() is used in + Milliwatt() to resolve gain issue. When Milliwatt() was changed + internally to use Playtones() so that the proper tone was used, + it introduced a drop in gain in the output signal. So, use the + playtones API directly and specify a volume argument such that + the output matches the gain of the original Milliwatt() code. + (closes issue #15386) Reported by: rue_mohr Patches: + issue_15386.rev2.diff uploaded by russell (license 2) Tested by: + rue_mohr + +2009-08-01 00:52 +0000 [r209759] Kevin P. Fleming <kpfleming@digium.com> + + * channels/misdn/isdn_lib.c, utils/frame.c, main/Makefile, + channels/misdn/ie.c: Minor changes inspired by testing with + latest GCC. The latest GCC (what will become 4.5.x) has a few new + warnings, that in these cases found some either downright buggy + code, or at least seriously poorly designed code that could be + improved. + +2009-07-28 00:12 +0000 [r209315] Tilghman Lesher <tlesher@digium.com> + + * sounds/sounds.xml: Publish French extra sounds + +2009-07-27 17:44 +0000 [r209131] Mark Michelson <mmichelson@digium.com> + + * main/udptl.c, configs/udptl.conf.sample: Allow for UDPTL to use + only even-numbered ports if desired. There are some VoIP + providers out there that will not accept SDP offers with odd + numbered UDPTL ports. While it is my personal opinion that these + VoIP providers are misinterpreting RFC 2327, it really is not a + big deal to play along with their silly little games. Of course, + since restricting UDPTL ports to only even numbers reduces the + range of available ports by half, so the option to use only even + port numbers is off by default. A user can enable the behavior by + setting use_even_ports=yes in udptl.conf. (closes issue #15182) + Reported by: CGMChris Patches: 15182.patch uploaded by mmichelson + (license 60) Tested by: CGMChris + +2009-07-27 09:56 +0000 [r208990] Michiel van Baak <michiel@vanbaak.info> + + * res/res_crypto.c: backport rev 205532 from trunk: pthread_self + returns a pthread_t which is not an unsigned int on all pthread + implementations. Casting it to an unsigned int fixes compiler + warnings. + +2009-07-27 01:18 +0000 [r208923] Jeff Peeler <jpeeler@digium.com> + + * main/translate.c, channels/chan_iax2.c: Fix logic errors from + 208746 + +2009-07-25 06:19 +0000 [r208746] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_skinny.c, main/translate.c, channels/chan_iax2.c: + Fix compiling under dev-mode with gcc 4.4.0. Mostly trivial + changes, but I did not know of any other way to fix the + "dereferencing type-punned pointer will break strict-aliasing + rules" error without creating a tmp variable in chan_skinny. + +2009-07-24 19:24 +0000 [r208622] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: Don't impose an arbitrary limit on member lines + in queues.conf I know what some of you are thinking: "UGH! Mark, + why are you using ast_strdup and ast_free for the string when you + can just use ast_strdupa and let the memory free itself?! Have + the bats been chewing on your brain again?" Based on past + experiences, I don't like using ast_strdupa inside a loop. It's a + good way to potentially exhaust stack space. Also, since this + only happens when reloading queues, I don't think that heap + allocations and frees are going to be a huge problem. (closes + issue #15559) Reported by: amorsen + +2009-07-24 18:38 +0000 [r208592] Russell Bryant <russell@digium.com> + + * apps/app_dial.c: Do not log an ERROR if autoservice_stop() + returns -1. This does not indicate an error. A return of -1 just + means that the channel has been hung up. (reported in + #asterisk-dev) + +2009-07-24 18:26 +0000 [r208386-208587] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Only send a BYE when hanging up a channel + that is up. For cases where Asterisk sends an INVITE and receives + a non 2XX final response, Asterisk would follow the INVITE + transaction by immediately sending a BYE, which was unnecessary. + (closes issue #14575) Reported by: chris-mac + + * channels/chan_sip.c: Fix a problem where a 491 response could be + sent out of dialog. This generalizes the fix for issue 13849. The + initial fix corrected the problem that Asterisk would reply with + a 491 if a reinvite were received from an endpoint and we had not + yet received an ACK from that endpoint for the initial INVITE it + had sent us. This expansion also allows Asterisk to appropriately + handle an INVITE with authorization credentials if Asterisk had + not received an ACK from the previous transaction in which + Asterisk had responded to an unauthorized INVITE with a 407. + (closes issue #14239) Reported by: klaus3000 Patches: 14239.patch + uploaded by mmichelson (license 60) Tested by: klaus3000 + +2009-07-23 19:19 +0000 [r208380] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_dahdi.c: Only set the priindication setting when + not performing a reload (closes issue #14696) Reported by: + fdecher + +2009-07-23 16:29 +0000 [r208262-208312] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Remove inaccurate XXX comment. + + * channels/chan_sip.c: Properly handle 183 responses which do not + contain an SDP. (closes issue #15442) Reported by: ffloimair + Patches: 15442.patch uploaded by mmichelson (license 60) Tested + by: tkarl, ffloimair + +2009-07-22 20:23 +0000 [r207945-208083] Tilghman Lesher <tlesher@digium.com> + + * main/asterisk.exports, include/asterisk/compat.h: Export symbols + for functions included in our compatibility headers. (closes + issue #15556) Reported by: smw1218 + + * funcs/func_strings.c: Force an error if a blank is passed to + QUOTE (because the documentation states the argument is not + optional). This change makes URIENCODE and QUOTE behave + similarly, since the documentation states that the argument is + not optional, for both. (closes issue #15439) Reported by: + pkempgen Patches: 20090706__issue15439.diff.txt uploaded by + tilghman (license 14) + +2009-07-21 20:16 +0000 [r207786-207827] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_dahdi.c: Wait for wink before dialing when using + E&M wink signaling There was already code for other signaling + types in dahdi_handle_event to handle dialing if a dial operation + dial string was present. Simply add SIG_EMWINK to the list. + (closes issue #14434) Reported by: araasch + + * channels/chan_dahdi.c: Revert r207573, this approach could + potentially block for an unacceptable amount of time. + +2009-07-21 14:26 +0000 [r207714] Mark Michelson <mmichelson@digium.com> + + * main/manager.c: Document default timeout for AMI originations. + AST-224 + +2009-07-21 13:04 +0000 [r207647] Kevin P. Fleming <kpfleming@digium.com> + + * codecs/lpc10/Makefile, main/db1-ast/Makefile, Makefile, + agi/Makefile, codecs/Makefile, utils/Makefile, main/Makefile, + codecs/gsm/Makefile, Makefile.moddir_rules, Makefile.rules, + pbx/Makefile, res/Makefile, channels/Makefile: Ensure that + user-provided CFLAGS and LDFLAGS are honored. This commit changes + the build system so that user-provided flags (in ASTCFLAGS and + ASTLDFLAGS) are supplied to the compiler/linker *after* all flags + provided by the build system itself, so that the user can + effectively override the build system's flags if desired. In + addition, ASTCFLAGS and ASTLDFLAGS can now be provided *either* + in the environment before running 'make', or as variable + assignments on the 'make' command line. As a result, the use of + COPTS and LDOPTS is no longer necessary, so they are no longer + documented, but are still supported so as not to break existing + build systems that supply them when building Asterisk. + +2009-07-20 23:23 +0000 [r207573] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_dahdi.c: Wait for wink before dialing when using + E&M wink signaling This patch adds a new dahdi_wait function to + specifically wait for the wink event. If the wink is not + eventually received the channel is hung up. (closes issue #14434) + Reported by: araasch Patches: emwinkmod uploaded by araasch + (license 693) + +2009-07-20 19:39 +0000 [r207423] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Answer video SDP offers properly when + videosupport is not enabled. Copied from Review board: In issue + 12434, the reporter describes a situation in which audio and + video is offered on the call, but because videosupport is + disabled in sip.conf, Asterisk gives no response at all to the + video offer. According to RFC 3264, all media offers should have + a corresponding answer. For offers we do not intend to actually + reply to with meaningful values, we should still reply with the + port for the media stream set to 0. In this patch, we take note + of what types of media have been offered and save the information + on the sip_pvt. The SDP in the response will take into account + whether media was offered. If we are not otherwise going to + answer a media offer, we will insert an appropriate m= line with + the port set to 0. It is important to note that this patch is + pretty much a bandage being applied to a broken bone. The patch + *only* helps for situations where video is offered but + videosupport is disabled and when udptl_pt is disabled but T.38 + is offered. Asterisk is not guaranteed to respond to every media + offer. Notable cases are when multiple streams of the same type + are offered. The 2 media stream limit is still present with this + patch, too. In trunk and the 1.6.X branches, things will be a bit + different since Asterisk also supports text in SDPs as well. + (closes issue #12434) Reported by: mnnojd Review: + https://reviewboard.asterisk.org/r/311 Review: + https://reviewboard.asterisk.org/r/313 + +2009-07-20 16:26 +0000 [r207360] Russell Bryant <russell@digium.com> + + * main/channel.c: Only do the chan->fdno check in ast_read() in a + developer build. I changed this check to only happen in a + dev-mode build. I also added a comment explaining what is going + on. I also made it so that detection of this situation does not + affect ast_read() operation. (closes issue #14723) Reported by: + seadweller + +2009-07-20 Leif Madsen <lmadsen@digium.com> + + * Release Asterisk 1.4.26 + +2009-07-13 Leif Madsen <lmadsen@digium.com> + + * Release Asterisk 1.4.26-rc6 + +2009-07-13 15:12 +0000 [r206126] Russell Bryant <russell@digium.com> + + * main/pbx.c: Print CID match in "show dialplan". (closes issue + #14702) Reported by: klaus3000 Patches: + patch_asterisk_1.4.23_CID_matching.txt uploaded by klaus3000 + (license 65) + +2009-07-10 17:39 +0000 [r205877] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Properly ACK 487 responses to canceled + INVITEs. From the review board request: The fix from review 298 + has exposed a new bug in chan_sip. When we hang up an outgoing + call, we first will dump all the outstanding packets on the + sip_pvt using __sip_pretend_ack. Then, if we can, we send a + CANCEL. The problem with this is that since destroyed all the + outstanding packets on the dialog, we cannot match the incoming + 487 response to our INVITE. Because we cannot match the response, + we do not send an ACK. To correct this, instead of using + __sip_pretend_ack, I have changed the code to loop through the + list of packets and call __sip_semi_ack on each one instead. This + causes us to stop retransmitting the requests, but we still have + them around in case we get responses for them. When discussing + this earlier today with Josh Colp, we both agreed that in the + majority of cases, this would be enough of a fix. However, we + also agreed that we should have a safety net in place in case we + never receive a response to our initial INVITE. To handle this, I + have modified __sip_autodestruct to behave similar to the way it + does in Asterisk 1.4. If there are outstanding packets on the + sip_pvt, the needdestroy flag is not set, and the last request on + the dialog was either a CANCEL or BYE, then we set the + needdestroy flag and reschedule destruction for 10 seconds in the + future. If, though, the needdestroy flag is set, then we use + __sip_pretend_ack to kill the remaining outstanding packets so + that the monitor thread can destroy the sip_pvt. I ran two + separate tests. First, I placed a call from my Aastra phone to my + Polycom phone. I hung up the Aastra before the Polycom answered. + I verified through sip debug output that Asterisk properly ACKed + the 487 received from the Polycom. For my second test, I set up a + SIPp UAS scenario so that it would send a 200 OK in response to a + CANCEL but would not send a 487 for the original INVITE. I + verified that after about 40 seconds, Asterisk properly cleans up + the outgoing sip_pvt for the call. Review: + https://reviewboard.asterisk.org/r/308 + +2009-07-10 16:23 +0000 [r205804] David Vossel <dvossel@digium.com> + + * channels/chan_sip.c: SIP registration auth loop caused by stale + nonce If an endpoint sends two registration requests in a very + short period of time with the same nonce, both receive 401 + responses from Asterisk, each with a different nonce (the second + 401 containing the current nonce and the first one being stale). + If the endpoint responds to the first 401, it does not match the + current nonce so Asterisk sends a third 401 with a newly + generated nonce (which updates the current nonce)... Now if the + endpoint responds to the second 401, it does not match the + current nonce either and Asterisk sends a fourth 401 with a newly + generated nonce... This loop goes on and on. There appears to be + a simple fix for this. If the nonce from the request does not + match our nonce, but is a good response to a previous nonce, + instead of sending a 401 with a newly generated nonce, use the + current one instead. This breaks the loop as the nonce is not + updated until a response is received. Additional logic has been + added to make sure no nonce can be responded to twice though. + (closes issue #15102) Reported by: Jamuel Patches: + patch-bug_0015102 uploaded by Jamuel (license 809) nonce_sip.diff + uploaded by dvossel (license 671) Tested by: Jamuel Review: + https://reviewboard.asterisk.org/r/289/ + +2009-07-10 15:51 +0000 [r205775] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Ensure that outbound NOTIFY requests are + properly routed through stateful proxies. With this change, we + make note of Record-Route headers present in any SUBSCRIBE + request that we receive so that our outbound NOTIFY requests will + have the proper Route headers in them. (closes issue #14725) + Reported by: ibc + +2009-07-09 23:37 +0000 [r205728] Richard Mudgett <rmudgett@digium.com> + + * channels/chan_dahdi.c: No audio on calls from Asterisk to various + ISDN devices until DTMF sent by caller. Add missing clearing of + the dialing flag when the ISDN call is CONNECTED. (i.e. When + libpri generates the event PRI_EVENT_ANSWER.) (closes issue + #15420) Reported by: scottbmilne Patches: + bug15420-1.4.25.1-diff2.txt uploaded by alecdavis (license 585) + Tested by: scottbmilne, alecdavis (closes issue #15416) Reported + by: avinoash (closes issue #15389) Reported by: alecdavis This + patch should also fix the following issue: (issue #15205) + Reported by: vinsik + +2009-07-09 16:18 +0000 [r205409-205599] David Vossel <dvossel@digium.com> + + * include/asterisk/time.h: Changing ast_samp2tv to not use floating + point. + + * main/rtp.c, channels/chan_iax2.c, include/asterisk/frame.h: Fixes + 8khz assumptions Many calculations assume 8khz is the codec rate. + This is not always the case. This patch only addresses chan_iax.c + and res_rtp_asterisk.c, but I am sure there are other areas that + make this assumption as well. Review: + https://reviewboard.asterisk.org/r/306/ + + * include/asterisk/devicestate.h, main/pbx.c, main/devicestate.c, + include/asterisk/pbx.h: moving ast_devstate_to_extenstate to + pbx.c from devicestate.c ast_devstate_to_extenstate belongs in + pbx.c. This change fixes a compile time error with chan_vpb as + well. + +2009-07-08 19:26 +0000 [r205349] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: Prevent phantom calls to queue members. If a + caller were to hang up while a periodic announcement or position + were being said, the return value for those functions would + incorrectly indicate that the caller was still in the queue. With + these changes, the problem does not occur. (closes issue #14631) + Reported by: latinsud Patches: queue_announce_ghost_call2.diff + uploaded by latinsud (license 745) (with small modification from + me) + +2009-07-08 18:19 +0000 [r205288] Jason Parker <jparker@digium.com> + + * config.guess, config.sub: Update config.guess and config.sub from + the savannah.gnu.org git repo. + +2009-07-08 16:53 +0000 [r205215] David Vossel <dvossel@digium.com> + + * include/asterisk/time.h: ast_samp2tv needs floating point for + 16khz audio In ast_samp2tv(), (1000000 / _rate) = 62.5 when _rate + is 16000. The .5 is currently stripped off because we don't + calculate using floating points. This causes madness with 16khz + audio. (issue ABE-1899) Review: + https://reviewboard.asterisk.org/r/305/ + +2009-07-08 16:26 +0000 [r205188] Tilghman Lesher <tlesher@digium.com> + + * main/say.c: Add redirection warnings for the invalid language + codes previously removed. + +2009-07-08 15:54 +0000 [r205149] Russell Bryant <russell@digium.com> + + * res/res_crypto.c: Make OpenSSL usage thread-safe. OpenSSL is not + thread-safe by default. However, making it thread safe is very + easy. We just have to provide a couple of callbacks. One callback + returns a thread ID. The other handles locking. For more + information, start with the "Is OpenSSL thread-safe?" question on + the FAQ page of openssl.org. + +2009-07-02 21:59 +0000 [r204834] Richard Mudgett <rmudgett@digium.com> + + * channels/chan_misdn.c: Removed confusing warning message "Got + Busy in Connected State" If an incoming mISDN call is answered + with the Answer application and a subsequent Dial gets a busy + endpoint then it is valid for that already connected channel to + get the busy indication. Asterisk will play the busy tones until + the dialplan plays something else or hangs up the call. (closes + issue #11974) Reported by: fvdb + +2009-07-02 18:15 +0000 [r204755] David Vossel <dvossel@digium.com> + + * include/asterisk/devicestate.h, main/pbx.c, main/devicestate.c, + include/asterisk/pbx.h: moving device state functions from pbx.h + to devicestate.h to sync with other branches + +2009-07-02 Leif Madsen <lmadsen@digium.com> + + * Release Asterisk 1.4.26-rc5 + +2009-07-02 15:05 +0000 [r204681] David Vossel <dvossel@digium.com> + + * include/asterisk/devicestate.h, main/pbx.c, main/devicestate.c, + include/asterisk/pbx.h: Improved mapping of extension states from + combined device states. This fixes a few issues with incorrect + extension states and adds a cli command, core show + device2extenstate, to display all possible state mappings. + (closes issue #15413) Reported by: legart Patches: + exten_helper.diff uploaded by dvossel (license 671) Tested by: + dvossel, legart, amilcar Review: + https://reviewboard.asterisk.org/r/301/ + +2009-06-30 20:23 +0000 [r204556] Tilghman Lesher <tlesher@digium.com> + + * main/say.c, UPGRADE.txt: More incorrect language codes, plus + ensuring that regionalizations use the specified language, and + not English for grammar. (closes issue #15022) Reported by: + greenfieldtech Patches: 20090519__issue15022.diff.txt uploaded by + tilghman (license 14) + +2009-06-30 18:47 +0000 [r204474] Jason Parker <jparker@digium.com> + + * main/say.c: Fix ast_say_counted_noun to correctly handle Polish. + Fix a comment typo in passing. + +2009-06-30 18:23 +0000 [r204469] Tilghman Lesher <tlesher@digium.com> + + * main/say.c, UPGRADE.txt: "tw" is the language specification for + Twi (from Ghana) not Taiwanese. (closes issue #15346) Reported + by: volivier Patches: 20090617__issue15346__1.4.diff.txt uploaded + by tilghman (license 14) 20090617__issue15346__trunk.diff.txt + uploaded by tilghman (license 14) + 20090617__issue15346__1.6.0.diff.txt uploaded by tilghman + (license 14) 20090617__issue15346__1.6.1.diff.txt uploaded by + tilghman (license 14) 20090617__issue15346__1.6.2.diff.txt + uploaded by tilghman (license 14) Tested by: volivier + +2009-06-29 22:45 +0000 [r204243-204300] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Add error message so that it is clear why a + SIP peer was not processed when a DNS lookup fails on a host or + outboundproxy. (closes issue #13432) Reported by: p_lindheimer + Patches: outboundproxy.patch uploaded by p (license 558) + + * channels/chan_sip.c: Fix build oops. + + * channels/chan_sip.c: Fix a problem where chan_sip would ignore + "old" but valid responses. chan_sip has had a problem for quite a + long time that would manifest when Asterisk would send multiple + SIP responses on the same dialog before receiving a response. The + problem occurred because chan_sip only kept track of the highest + outgoing sequence number used on the dialog. If Asterisk sent two + requests out, and a response arrived for the first request sent, + then Asterisk would ignore the response. The result was that + Asterisk would continue retransmitting the requests and ignoring + the responses until the maximum number of retransmissions had + been reached. The fix here is to rearrange the code a bit so that + instead of simply comparing the sequence number of the response + to our latest outgoing sequence number, we walk our list of + outstanding packets and determine if there is a match. If there + is, we continue. If not, then we ignore the response. In doing + this, I found a few completely useless variables that I have now + removed. (closes issue #11231) Reported by: flefoll Review: + https://reviewboard.asterisk.org/r/298 + +2009-06-29 19:36 +0000 [r204170] Tilghman Lesher <tlesher@digium.com> + + * funcs/func_odbc.c, funcs/func_strings.c: Revision 189537 was + supposed to make 1.4 more correct. Instead, it broke func_odbc. + Reverting. (closes issue #15317, issue #14614) + +2009-06-29 17:04 +0000 [r204067] David Vossel <dvossel@digium.com> + + * channels/chan_iax2.c: segfault after SPINLOCK schedule delete + Using the SPINLOCK schedule delete macro can result in the + iax_pvt lock being given up. This makes it possible for the + iax_pvt to dissappear when we thought we held the mutex the + entire time. To resolve this, the iax_pvt's ref count is + incremented. (closes issue #15377) Reported by: aragon Patches: + iax_spin_issue_1.4.diff uploaded by dvossel (license 671) Tested + by: aragon, dvossel + +2009-06-29 15:04 +0000 [r204012] Mark Michelson <mmichelson@digium.com> + + * apps/app_mixmonitor.c: Place unlock of mutex in an else block so + that it does not get unlocked twice. (closes issue #15400) + Reported by: aragon + +2009-06-27 00:55 +0000 [r203908] Richard Mudgett <rmudgett@digium.com> + + * channels/chan_dahdi.c: The ISDN CPE side should not exclusively + pick B channels normally. Before this patch, Asterisk + unconditionally picked B channels exclusively on the CPE side and + normally allowed alternative B channels on the network side. Now + Asterisk does the opposite. Reasons for the CPE side to normally + not pick B channels exclusively: * For CPE point-to-multipoint + mode (i.e. phone side), the CPE side does not have enough + information to exclusively pick B channels. (There may be other + devices on the line.) * Q.931 gives preference to the network + side picking B channels. * Some telcos require the CPE side to + not pick B channels exclusively. (closes issue #14383) Reported + by: mbrancaleoni + +2009-06-26 22:09 +0000 [r203848] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_dahdi.c: Make sure to recreate the dahdi pseudo + channel after dahdi restart (closes issue #14477) Reported by: + timking + +2009-06-26 21:16 +0000 [r203785] Russell Bryant <russell@digium.com> + + * main/file.c: Don't fast forward past the end of a message. This + is nice change for users of the voicemail application. If someone + gets a little carried away with fast forwarding through a + message, they can easily get to the end and accidentally exit the + voicemail application by hitting the fast forward key during the + following prompt. This adds some safety by not allowing a fast + forward past the end of a message. (closes issue #14554) Reported + by: lacoursj Patches: 21761.patch uploaded by lacoursj (license + 707) Tested by: lacoursj + +2009-06-26 20:03 +0000 [r203719] David Brooks <dbrooks@digium.com> + + * apps/app_voicemail.c: Fixing voicemail's error in checking max + silence vs min message length Max silence was represented in + milliseconds, yet vmminsecs (minmessage) was represented as + seconds. Also, the inequality was reversed. The warning, if + triggered, was "Max silence should be less than minmessage or you + may get empty messages", which should have been logged if max + silence was greater than minmessage, but the check was for less + than. Also, conforming if statement to coding guidelines. closes + issue #15331) Reported by: markd Review: + https://reviewboard.asterisk.org/r/293/ + +2009-06-25 21:13 +0000 [r203380] Terry Wilson <twilson@digium.com> + + * main/cli.c: I didn't see that Mark already fixed the underlying + issue! Yay for removing useless code. + +2009-06-25 21:02 +0000 [r203375] Russell Bryant <russell@digium.com> + + * res/res_features.c: Fix a case where CDR answer time could be + before the start time involving parking. (closes issue #13794) + Reported by: davidw Patches: 13794.patch uploaded by murf + (license 17) 13794.patch.160 uploaded by murf (license 17) Tested + by: murf, dbrooks + +2009-06-25 20:09 +0000 [r203311] Terry Wilson <twilson@digium.com> + + * main/cli.c: Don't try to free NULL + +2009-06-25 18:52 +0000 [r203230] Mark Michelson <mmichelson@digium.com> + + * main/astmm.c: Prevent false positives when freeing a NULL pointer + with MALLOC_DEBUG enabled. + +2009-06-25 16:02 +0000 [r203115] Russell Bryant <russell@digium.com> + + * channels/chan_sip.c: Resolve a crash related to a T.38 reinvite + race condition. This change resolves a crash observed locally + during some T.38 testing. A call was set up using a call file, + and when the T.38 reinvite came in, the channel state was still + AST_STATE_DOWN. The reason is explained by a comment in the code + that previously lived in the handling of AST_STATE_RINGING. This + change modifies the logic to handle the same race condition for + any channel state that is not UP. (closes ABE-1895) + +2009-06-24 21:01 +0000 [r203036] Richard Mudgett <rmudgett@digium.com> + + * channels/chan_dahdi.c: Improved chan_dahdi.conf pritimer error + checking. Valid format is: pritimer=timer_name,timer_value * + Fixed segfault if the ',' is missing. * Completely check the + range returned by pri_timer2idx() to prevent possible access + outside array bounds. + +2009-06-24 18:28 +0000 [r202966] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Use the handy UNLINK macro instead of + hand-coding the same thing in-line. + +2009-06-24 Leif Madsen <lmadsen@digium.com> + + * Release Asterisk 1.4.26-rc4 + +2009-06-23 16:28 +0000 [r202671] David Vossel <dvossel@digium.com> + + * channels/chan_sip.c: MWI NOTIFY contains a wrong URI if Asterisk + listens to non-standard port and transport (closes issue #14659) + Reported by: klaus3000 Patches: patch_chan_sip_fixMWIuri_1.4.txt + uploaded by klaus3000 (license 65) mwi_port-transport_trunk.diff + uploaded by dvossel (license 671) Tested by: dvossel, klaus3000 + Review: https://reviewboard.asterisk.org/r/288/ + +2009-06-23 15:22 +0000 [r202572-202601] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Fix more memory leaks that may result if rtp + is not successfully allocated. + + * channels/chan_sip.c: Fix potential memory leak in chan_sip when + video rtp is not allocated properly. + +2009-06-22 20:08 +0000 [r202414-202496] Russell Bryant <russell@digium.com> + + * main/channel.c: Report CallerID change during a masquerade. + Reported by: markster + + * channels/chan_sip.c: Make Polycom subscription type override + check more explicit. + +2009-06-22 14:44 +0000 [r202336-202342] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Remove an extra debug line left from + previous commit. + + * channels/chan_sip.c: Fix a situation in which Asterisk would not + stop retransmitting 487s. If a CANCEL were received by Asterisk, + we would send a 487 in response to the original INVITE and a 200 + OK for the CANCEL. If there were a network hiccup which caused + the 200 OK and the 487 to be lost, then the UA communicating with + Asterisk may try to retransmit its CANCEL. Asterisk's response to + this used to be to try sending another 487 to the canceled INVITE + and another 200 OK to the CANCEL. The problem here is that the + originally-sent 487 was sent "reliably" meaning that it will be + retransmitted until it is received properly. So when we receive + the second CANCEL it is likely that the first batch of 487s we + sent is still going strong and reaches the UA. The result was + that the second set of 487s would be retransmitted constantly + until the maximum number of retries had been reached. The fix for + this is that if we receive a second CANCEL for an INVITE, then we + cancel the retransmission of the first set of 487s and start a + second set. This causes the dialog to be terminated reasonably. + (closes issue #14584) Reported by: klaus3000 Patches: + 14584_v2.patch uploaded by mmichelson (license 60) Tested by: + klaus3000 + + * channels/chan_sip.c: Fix a possible infinite loop in SDP parsing + during glare situation. There was a while loop in + get_ip_and_port_from_sdp which was controlled by a call to + get_sdp_iterate. The loop would exit either if what we were + searching for was found or if the return was NULL. The problem is + that get_sdp_iterate never returns NULL. This means that if what + we were searching for was not present, the loop would run + infinitely. This modification of the loop fixes the problem. + (closes issue #15213) Reported by: schmidts (closes issue #15349) + Reported by: samy (closes issue #14464) Reported by: pj (closes + issue #15345) Reported by: aragon Patches: sip_inf_loop.patch + uploaded by mmichelson (license 60) Tested by: aragon + +2009-06-20 17:51 +0000 [r202153] Sean Bright <sean@malleable.com> + + * channels/chan_sip.c: Since we don't have sip_pvt_lock() in 1.4, + we need to use ast_mutex_* directly. (closes issue #15366) + Reported by: loloski + +2009-06-19 21:21 +0000 [r202022] Matthew Nicholson <mnicholson@digium.com> + + * channels/chan_sip.c: Added deadlock protection to + try_suggested_sip_codec in chan_sip.c. Review: + https://reviewboard.asterisk.org/r/287/ + +2009-06-19 20:22 +0000 [r201993] David Vossel <dvossel@digium.com> + + * channels/chan_iax2.c: timestamp was being converted to host order + as a short rather than a long (closes issue #15361) Reported by: + ffloimair Patches: ts_issue.diff uploaded by dvossel (license + 671) + +2009-06-19 00:40 +0000 [r201828] Tilghman Lesher <tlesher@digium.com> + + * res/res_features.c: If the "h" extension fails, give it another + chance in main/pbx.c. If the "h" extension fails, give it another + chance in main/pbx.c, when it returns from the bridge code. Fixes + an issue where the "h" extension may occasionally not fire, when + a Dial is executed from a Macro. Debugged in #asterisk with user + tompaw. + +2009-06-18 Leif Madsen <lmadsen@digium.com> + + * Release Asterisk 1.4.26-rc3 + +2009-06-18 15:24 +0000 [r201600] Russell Bryant <russell@digium.com> + + * res/res_musiconhold.c: Fix memory corruption and leakage related + reloads of non files mode MoH classes. For Music on Hold classes + that are not files mode, meaning that we are executing an + application that will feed us audio data, we use a thread to + monitor the external application and read audio from it. This + thread also makes use of the MoH class object. In the MoH class + destructor, we used pthread_cancel() to ask the thread to exit. + Unfortunately, the code did not wait to ensure that the thread + actually went away. What needed to be done is a pthread_join() to + ensure that the thread fully cleans up before we proceed. By + adding this one line, we resolve two significant problems: 1) + Since the thread was never joined, it never fully goes away. So, + on every reload of non-files mode MoH, an unused thread was + sticking around. 2) There was a race condition here where the + application monitoring thread could still try to access the MoH + class, even though the thread executing the MoH reload has + already destroyed it. (issue #15109) Reported by: jvandal (issue + #15123) Reported by: axisinternet (issue #15195) Reported by: + amorsen (issue AST-208) + +2009-06-17 19:59 +0000 [r201450] Mark Michelson <mmichelson@digium.com> + + * main/channel.c: Change the datastore traversal in + ast_do_masquerade to use a safe list traversal. It is possible + for datastore fixup functions to remove the datastore from the + list and free it. In particular, the queue_transfer_fixup in + app_queue does this. While I don't yet know of this causing any + crashes, it certainly could. Found while discussing a separate + issue with Brian Degenhardt. + +2009-06-17 19:28 +0000 [r201423] David Vossel <dvossel@digium.com> + + * apps/app_mixmonitor.c: StopMixMonitor race condition (not giving + up file immediately) StopMixMonitor only indicates to the + MixMonitor thread to stop writing to the file. It does not + guarantee that the recording's file handle is available to the + dialplan immediately after execution. This results in a race + condition. To resolve this, the filestream pointer is placed in a + datastore on the channel. When StopMixMonitor is called, the + datastore is retrieved from the channel and the filestream is + closed immediately before returning to the dialplan. + Documentation indicating the use of StopMixMonitor to free files + has been updated as well. (closes issue #15259) Reported by: + travisghansen Tested by: dvossel Review: + https://reviewboard.asterisk.org/r/283/ + +2009-06-17 18:45 +0000 [r201380] David Brooks <dbrooks@digium.com> + + * channels/chan_sip.c: Checks for NULL sip_pvt pointer in + chan_sip.c->acf_channel_read() Zombie channels could be passed, + and chan_sip.c wasn't checking for it. Could crash Asterisk. Now + checking for NULL pointer. (closes issue #15330) Reported by: + okrief Tested by: dbrooks + +2009-06-17 12:03 +0000 [r200991-201261] Kevin P. Fleming <kpfleming@digium.com> + + * include/asterisk/linkedlists.h: Correct AST_LIST_APPEND_LIST + behavior when list to be appended is empty. When the list to be + appended is empty, and the list to be appended to is *not*, + AST_LIST_APPEND_LIST would actually cause the target list to + become broken, and no longer have a pointer to its last entry. + This patch fixes the problem. (reported by Stanislaw Pitucha on + the asterisk-dev mailing list) + + * apps/app_chanspy.c, apps/app_mixmonitor.c, main/channel.c, + build_tools/cflags-devmode.xml, main/autoservice.c, main/frame.c, + apps/app_meetme.c, main/slinfactory.c, + include/asterisk/linkedlists.h, main/file.c, + include/asterisk/channel.h, include/asterisk/frame.h: Improve + support for media paths that can generate multiple frames at + once. There are various media paths in Asterisk (codec + translators and UDPTL, primarily) that can generate more than one + frame to be generated when the application calling them expects + only a single frame. This patch addresses a number of those + cases, at least the primary ones to solve the known problems. In + addition it removes the broken TRACE_FRAMES support, fixes a + number of bugs in various frame-related API functions, and cleans + up various code paths affected by these changes. + https://reviewboard.asterisk.org/r/175/ + +2009-06-16 13:25 +0000 [r200875] Eliel C. Sardanons <eliels@gmail.com> + + * res/res_smdi.c: Show the interface name on error, if it is not + found. If the smdiport specified is not found, show the interface + name instead of '(null)'. + +2009-06-15 15:21 +0000 [r200513] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Add INFO to our allowed methods so that + endpoints know they may send it to us. AST-223 + +2009-06-12 19:06 +0000 [r200360] Mark Michelson <mmichelson@digium.com> + + * main/channel.c: Suppress a warning message and give a better + return code when generating inband ringing after a call is + answered. (closes issue #15158) Reported by: madkins Patches: + 15158.patch uploaded by mmichelson (license 60) Tested by: + madkins + +2009-06-11 22:20 +0000 [r200185] Sean Bright <sean.bright@gmail.com> + + * Makefile: Backport fix for parallel build warnings from trunk + r199781. + +2009-06-11 12:12 +0000 [r200037] Leif Madsen <lmadsen@digium.com> + + * build_tools/make_version_h: Fix path for .flavor and .version. + (issue #14737) Reported by: davidw Patches: flavor.patch uploaded + by davidw (license 780) Tested by: davidw + +2009-06-10 16:08 +0000 [r199856] Sean Bright <sean.bright@gmail.com> + + * include/asterisk/utils.h: __WORDSIZE is not available on all + platforms, so use sizeof(void *) instead. + +2009-06-09 Leif Madsen <lmadsen@digium.com> + + * Release Asterisk 1.4.26-rc2 + +2009-06-08 19:28 +0000 [r199626-199628] Sean Bright <sean.bright@gmail.com> + + * include/asterisk/utils.h: Fix a typo in the stack size + calculation just introduced. + + * include/asterisk/utils.h: Increase the size of our thread stack + on 64 bit processors. We were setting the stack size for each + thread to 240KB regardless of architecture, which meant that in + some scenarios we actually had less available stack space on 64 + bit processors (pointers use 8 bytes instead of 4). So now we + calculate the stack size we reserve based on the platform's + __WORDSIZE, which gives us: 32 bit -> 240KB 64 bit -> 496KB 128 + bit -> 1008KB (that's right, we're ready for 128 bit processors) + Patch typed by me but written by several members of + #asterisk-dev, including Kevin, Tilghman, and Qwell. (closes + issue #14932) Reported by: jpiszcz Patches: + 06052009_issue14932.patch uploaded by seanbright (license 71) + Tested by: seanbright + +2009-06-05 21:19 +0000 [r199297] David Vossel <dvossel@digium.com> + + * main/pbx.c: Fixes issue with hints giving unexpected results. + Hints with two or more devices that include ONHOLD gave + unexpected results. (closes issue #15057) Reported by: + p_lindheimer Patches: onhold_trunk.diff uploaded by dvossel + (license 671) pbx.c.1.4.patch uploaded by p (license 558) + devicestate.c.trunk.patch uploaded by p (license 671) Tested by: + p_lindheimer, dvossel Review: + https://reviewboard.asterisk.org/r/254/ + +2009-06-04 19:00 +0000 [r199138] David Vossel <dvossel@digium.com> + + * channels/chan_iax2.c: Additional updates to AST-2009-001 + +2009-06-04 14:14 +0000 [r198957-199022] Sean Bright <sean.bright@gmail.com> + + * main/asterisk.c, main/loader.c, include/asterisk.h: Safely handle + AMI connections/reload requests that occur during startup. During + asterisk startup, a lock on the list of modules is obtained by + the primary thread while each module is initialized. Issue 13778 + pointed out a problem with this approach, however. Because the + AMI is loaded before other modules, it is possible for a module + reload to be issued by a connected client (via Action: Command), + causing a deadlock. The resolution for 13778 was to move + initialization of the manager to happen after the other modules + had already been lodaded. While this fixed this particular issue, + it caused a problem for users (like FreePBX) who call AMI scripts + via an #exec in a configuration file (See issue 15189). The + solution I have come up with is to defer any reload requests that + come in until after the server is fully booted. When a call comes + in to ast_module_reload (from wherever) before we are fully + booted, the request is added to a queue of pending requests. Once + we are done booting up, we then execute these deferred requests + in turn. Note that I have tried to make this a bit more + intelligent in that it will not queue up more than 1 request for + the same module to be reloaded, and if a general reload request + comes in ('module reload') the queue is flushed and we only issue + a single deferred reload for the entire system. As for how this + will impact existing installations - Before 13778, a reload + issued before module initialization was completed would result in + a deadlock. After 13778, you simply couldn't connect to the + manager during startup (which causes problems with + #exec-that-calls-AMI configuration files). I believe this is a + good general purpose solution that won't negatively impact + existing installations. (closes issue #15189) (closes issue + #13778) Reported by: p_lindheimer Patches: + 06032009_15189_deferred_reloads.diff uploaded by seanbright + (license 71) Tested by: p_lindheimer, seanbright Review: + https://reviewboard.asterisk.org/r/272/ + + * pbx/pbx_spool.c: Fix a possible crash in pbx_spool. We were + trying to reference members of a struct that had previously been + freed. This patch makes sure that we free the struct after it has + been removed from the spooler queue. (closes issue #15072) + Reported by: garlew Patches: spool.diff uploaded by garlew + (license 376) + +2009-06-03 15:49 +0000 [r198891] David Vossel <dvossel@digium.com> + + * main/channel.c, res/res_features.c, include/asterisk/channel.h: + Generic call forward api, ast_call_forward() The function + ast_call_forward() forwards a call to an extension specified in + an ast_channel's call_forward string. After an ast_channel is + called, if the channel's call_forward string is set this function + can be used to forward the call to a new channel and terminate + the original one. I have included this api call in both + channel.c's ast_request_and_dial() and res_feature.c's + feature_request_and_dial(). App_dial and app_queue already + contain call forward logic specific for their application and + options. (closes issue #13630) Reported by: festr Review: + https://reviewboard.asterisk.org/r/271/ + +2009-06-01 20:07 +0000 [r198665] Tilghman Lesher <tlesher@digium.com> + + * res/res_musiconhold.c: If using the old deprecated format, a + reload would cause the class to disappear. (closes issue #14759) + Reported by: lidocaineus Patches: 20090518__issue14759.diff.txt + uploaded by tilghman (license 14) Tested by: lmadsen + +2009-05-30 19:36 +0000 [r198370] Sean Bright <sean.bright@gmail.com> + + * res/res_jabber.c: Properly terminate AMI JabberSend response + messages. The response message (either Error or Success) needs an + extra trailing \r\n after the fields to inform the client that + the message is complete. (closes issue #14876) Reported by: srt + Patches: 05302009_1.4_res_jabber.c.diff uploaded by seanbright + (license 71) asterisk_14876.patch uploaded by srt (license 378) + trunk-14876-2.diff uploaded by phsultan (license 73) + +2009-05-30 03:42 +0000 [r198311] Russell Bryant <russell@digium.com> + + * res/res_smdi.c: Fix a crash that occurred when MWI SMDI messages + expired. (closes issue #14561) Reported by: cmoss28 + +2009-05-30 02:46 +0000 [r198251] Sean Bright <sean.bright@gmail.com> + + * apps/app_dial.c: Treat an empty FORWARD_CONTEXT the same way we + treat a missing one. (closes issue #15056) Reported by: + p_lindheimer Patches: 05292009_bug15056.diff uploaded by + seanbright (license 71) Tested by: p_lindheimer + +2009-05-29 18:53 +0000 [r198068] Matthew Nicholson <mnicholson@digium.com> + + * main/cdr.c, main/channel.c, res/res_features.c, + include/asterisk/cdr.h: Use AST_CDR_NOANSWER instead of + AST_CDR_NULL as the default CDR disposition. This change also + involves the addition of an AST_CDR_FLAG_ORIGINATED flag that is + used on originated channels to distinguish: them from dialed + channels. (closes issue #12946) Reported by: meral Patches: + null-cdr2.diff uploaded by mnicholson (license 96) Tested by: + mnicholson, dbrooks (closes issue #15122) Reported by: sum Tested + by: sum + +2009-05-29 18:14 +0000 [r197998] Sean Bright <sean.bright@gmail.com> + + * Makefile: Fix 'make config' target for Slackware. There was a + missing semi-colon after the echo statement in the Makefile that + was causing problems for some users. Fix suggested by reporter. + (closes issue #15225) Reported by: pdavis + +2009-05-28 23:57 +0000 [r197895] Leif Madsen <lmadsen@digium.com> + + * apps/app_mixmonitor.c: Update MixMonitor documentation. Updated + the MixMonitor documentation for the 'b' option so that it is + more obvious that you must not optimize awat the Local channel + when using this option. (issue #14829) + +2009-05-28 Leif Madsen <lmadsen@digium.com> + + * Release Asterisk 1.4.26-rc1 + +2009-05-28 15:51 +0000 [r197620] David Vossel <dvossel@digium.com> + + * channels/chan_iax2.c: 'iax show peer blah' now outputs whether or + not peer 'blah' is in trunk mode or not. + +2009-05-28 15:27 +0000 [r197588] Mark Michelson <mmichelson@digium.com> + + * main/rtp.c, channels/chan_sip.c, include/asterisk/rtp.h: Allow + for media to arrive from an alternate source when responding to a + reinvite with 491. When we receive a SIP reinvite, it is possible + that we may not be able to process the reinvite immediately since + we have also sent a reinvite out ourselves. The problem is that + whoever sent us the reinvite may have also sent a reinvite out to + another party, and that reinvite may have succeeded. As a result, + even though we are not going to accept the reinvite we just + received, it is important for us to not have problems if we + suddenly start receiving RTP from a new source. The fix for this + is to grab the media source information from the SDP of the + reinvite that we receive. This information is passed to the RTP + layer so that it will know about the alternate source for media. + Review: https://reviewboard.asterisk.org/r/252 + +2009-05-28 15:21 +0000 [r197562] Eliel C. Sardanons <eliels@gmail.com> + + * channels/chan_sip.c: Use the address we already know when + reloading a peer with nat=yes. If we already have an address for + a peer, and we are reloading the sip configuration, try to use + that address to contact the peer, instead of getting it from the + Contact. (closes issue #15194) Reported by: ibc Patches: + sip.patch uploaded by eliel (license 64) Tested by: manwe + +2009-05-28 14:49 +0000 [r197537] Mark Michelson <mmichelson@digium.com> + + * apps/app_chanspy.c, include/asterisk/audiohook.h, + main/audiohook.c: Add flags to chanspy audiohook so that audio + stays in sync. There are two flags being added to the chanspy + audiohook here. One is the pre-existing + AST_AUDIOHOOK_TRIGGER_SYNC flag. With this set, we ensure that + the read and write slinfactories on the audiohook do not skew + beyond a certain tolerance. In addition, there is a new audiohook + flag added here, AST_AUDIOHOOK_SMALL_QUEUE. With this flag set, + we do not allow for a slinfactory to build up a substantial + amount of audio before flushing it. For this particular issue, + this means that the person spying on the call will hear the + conversations in real time with very little delay in the audio. + (closes issue #13745) Reported by: geoffs Patches: 13745.patch + uploaded by mmichelson (license 60) Tested by: snblitz + +2009-05-28 13:44 +0000 [r197466] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: Fix a bug where the flag indicating the + presence of rport would get overwritten by the nat setting. The + presence of rport is now stored as a separate flag. Once the + dialog is setup and authenticated (or it passes through + unauthenticated) the proper nat flag is set. (closes issue + #13823) Reported by: dimas + +2009-05-27 20:12 +0000 [r197264] Sean Bright <sean.bright@gmail.com> + + * Makefile: Use bash explicitly when calling + build_tools/mkpkgconfig from the Makefile. Since we use bashisms + in build_tools/mkpkgconfig, we should call on bash explicitly + when running from the Makefile, otherwise we get errors during a + 'make install.' (closes issue #15209) Reported by: seandarcy + +2009-05-27 20:07 +0000 [r197259] Olle Johansson <oej@edvina.net> + + * doc/asterisk-conf.txt: Typo fix + +2009-05-27 19:09 +0000 [r197194] Tilghman Lesher <tlesher@digium.com> + + * funcs/func_cut.c: Use a different determinator on whether to + print the delimiter, since leading fields may be blank. (closes + issue #15208) Reported by: ramonpeek Patch by me, though inspired + in part by a patch from ramonpeek + +2009-05-27 16:49 +0000 [r197124] Jeff Peeler <jpeeler@digium.com> + + * main/channel.c, include/asterisk/channel.h: Fix broken attended + transfers The bridge was terminating immediately after the + attended transfer was completed. The problem was because upon + reentering ast_channel_bridge nexteventts was checked to see if + it was set and if so could possibly return AST_BRIDGE_COMPLETE. + (closes issue #15183) Reported by: andrebarbosa Tested by: + andrebarbosa, tootai, loloski + +2009-05-27 13:54 +0000 [r197024] Sean Bright <sean.bright@gmail.com> + + * apps/app_queue.c: Fix handling of the 'state_interface' option of + the 'queue add member' CLI command. This change relates to + r184980, which was a backport of the state interface changes to + app_queue from trunk. trunk and all of the 1.6.x branches are not + affected. 'queue add member' allows for specifying an interface + to use for device state when adding a queue member via CLI, but + the validation code was not properly updated to reflect this + optional argument. (closes issue #15198) Reported by: loloski + Patches: 05272009_app_queue.diff uploaded by seanbright (license + 71) Tested by: loloski + +2009-05-26 18:14 +0000 [r196826] Russell Bryant <russell@digium.com> + + * res/res_convert.c: Resolve a file handle leak. The frames here + should have always been freed. However, out of luck, there was + never any memory leaked. However, after file streams became + reference counted, this code would leak the file stream for the + file being read. (closes issue #15181) Reported by: jkroon + +2009-05-26 13:06 +0000 [r196657] Joshua Colp <jcolp@digium.com> + + * contrib/scripts/safe_asterisk: Remove some bash specific stuff + from safe_asterisk. (closes issue #10812) Reported by: paravoid + Patches: safe_asterisk_bashism.diff uploaded by tzafrir (license + 46) + +2009-05-22 13:54 +0000 [r196116] Joshua Colp <jcolp@digium.com> + + * channels/chan_misdn.c: Fix a bug where using immediate with mISDN + caused a cause code of 16 to get sent back instead of 1 if the + 's' extension did not exist. (closes issue #12286) Reported by: + lmamane + +2009-05-21 19:04 +0000 [r195991] David Vossel <dvossel@digium.com> + + * channels/chan_iax2.c: Sign problem calculating timestamp for iax + frame leads to no audio on the receiving peer. There are rare + cases in which a frame's delivery timestamp is slightly less than + the iax2_pvt's offset. This causes the pvt's timestamp to be a + small negative number, but since the timestamp value is unsigned + it looks like a huge positive number. This patch checks for this + negative case and sets the ms to zero. A similar check is already + done right below this one in the 'else' statement. (closes issue + #15032) Reported by: guillecabeza Patches: + chan_iax2.c.patch_timestamp uploaded by guillecabeza (license + 380) Tested by: guillecabeza (closes issue #14216) Reported by: + Andrey Sofronov + +2009-05-21 15:25 +0000 [r195881] Matthew Nicholson <mnicholson@digium.com> + + * main/cdr.c, res/res_features.c, include/asterisk/cdr.h: This + commit prevents cdr records with AST_CDR_FLAG_ANSLOCKED and + AST_CDR_FLAG_LOCKED from being updated in certain cases. This is + accomplished by adding two functions to update the answer time + and disposition of calls that checks for the proper lock flags. + These functions are used in the ast_bridge_call() function so + that ForkCDR(A) calls are respected. This patch also modifies the + way ast_bridge_call() chooses the cdr record to base the + bridged_cdr on. Previously the first unlocked cdr record would be + chosen, now instead the first cdr record is chosen and forked cdr + records are moved to the bridge_cdr. This allows the original cdr + record and any forked cdr records to be properly updated with + answer and end times. (closes issue #13797) Reported by: sh0t + Tested by: sh0t (closes issue #14744) Reported by: deepesh + +2009-05-21 Leif Madsen <lmadsen@digium.com> + + * Release Asterisk 1.4.25 + +2009-05-13 Leif Madsen <lmadsen@digium.com> + + * Release Asterisk 1.4.25-rc1 + +2009-05-13 13:38 +0000 [r194208] Joshua Colp <jcolp@digium.com> + + * main/rtp.c: Fix RFC2833 issues with DTMF getting duplicated and + with duration wrapping over. (closes issue #14815) Reported by: + geoff2010 Patches: v1-14815.patch uploaded by dimas (license 88) + Tested by: geoff2010, file, dimas, ZX81, moliveras (closes issue + #14460) Reported by: moliveras Tested by: moliveras + +2009-05-13 00:52 +0000 [r194137] Tilghman Lesher <tlesher@digium.com> + + * main/pbx.c: Fix logic for how to proceed with a single digit + extension. (closes issue #15091) Reported by: andrew Patches: + 20090512__issue15091.diff.txt uploaded by tilghman (license 14) + Tested by: andrew + +2009-05-12 22:15 +0000 [r194028] Matthew Nicholson <mnicholson@digium.com> + + * apps/app_queue.c: This change modifies app_queue to properly + generate CDR records in failure situations. This involves setting + a proper cdr disposition coresponding to the given failure + condition and ensuring the proper information is stored in the + cdr record. (closes issue #13691) Reported by: dferrer Tested by: + mnicholson (closes issue #13637) Reported by: atis Tested by: + atis + +2009-05-12 20:39 +0000 [r193955] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: Avoid initializing routines if the + authentication fails. Fixes a crash (RR) issue. (closes issue + #14508) Reported by: tiziano Patches: + 20090221_2_wrongmailbox.diff.txt uploaded by tiziano (license + 377) + +2009-05-12 18:18 +0000 [r193880] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Set the invitestate to INV_CANCELLED only if + we are actually sending a SIP CANCEL. The problem was that the + hangup code was setting the invitestate too early. The result of + this was that we would always send a CANCEL request, even if it + was not an appropriate time to do so (e.g. we have not yet + received a provisional response for our INVITE). Note that this + same fix had been applied to trunk and the 1.6.X branches + starting with revision 155467. This is why you will see this + revision being blocked from those places. AST-216 + +2009-05-11 22:48 +0000 [r193755] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: Move 300 bytes around on the stack, to make + more room for an extension buffer. This allows more concurrent + extensions to be copied for a single voicemail, without creating + a possibility of upsetting existing users, where a dialplan could + run out of stack space where it had run fine before. + Alternatively, we could have allocated off the heap, but that is + a larger change and would have increased the chance for + instability introduced by this change. This is really solved + starting in 1.6.0.11, as the use of an ast_str buffer allows an + unlimited number of extensions (up to available memory). We + additionally create a new warning message when the buffer length + is exceeded, permitting administrators to see an issue after the + fact, whereas previously the list was silently truncated. (closes + issue #14739) Reported by: p_lindheimer Patches: + 20090417__bug14739.diff.txt uploaded by tilghman (license 14) + Tested by: p_lindheimer + +2009-05-11 19:09 +0000 [r193613] Richard Mudgett <rmudgett@digium.com> + + * channels/chan_misdn.c: Sent wrong message to clear a call we + started if the other end has not responed yet. In the state + MISDN_CALLING (i.e. SETUP was sent but no answer has arrived + yet), it is not allowed to clear the call with RELEASE_COMPLETE. + It must be cleared with DISCONNECT. A RELEASE_COMPLETE is only + allowed as an answer to a SETUP. (See Q.931 ch. 5.3.2, 5.3.2.a, + 5.3.2.b) Patches: chan-misdn-ccstate7.patch uploaded by customer. + JIRA ABE-1862 + +2009-05-11 17:35 +0000 [r193544] Leif Madsen <lmadsen@digium.com> + + * funcs/func_channel.c: Document CHANNEL(transfercapability) in CLI + documentation. (issue #15073) Reported by: pkempgen Patches: + 20090511__issue15073.diff.txt uploaded by tilghman (license 14) + +2009-05-08 21:01 +0000 [r193391] Matthew Nicholson <mnicholson@digium.com> + + * main/channel.c: Set the proper disposition on originated calls. + (closes issue #14167) Reported by: jpt Patches: + call-file-missing-cdr2.diff uploaded by mnicholson (license 96) + Tested by: dlotina, rmartinez, mnicholson + +2009-05-08 14:51 +0000 [r193262] David Vossel <dvossel@digium.com> + + * channels/misdn_config.c: "misdn show config" segfaults asterisk, + if no MSN lists (closes issue #14976) Reported by: alecdavis + Patches: misdn_config.diff.txt uploaded by alecdavis (license + 585) Tested by: alecdavis, FabienToune + +2009-05-08 14:03 +0000 [r193193] Kevin P. Fleming <kpfleming@digium.com> + + * configs/logger.conf.sample, main/logger.c: Make absolute paths + for logger channels work properly (Note: This is not a new + feature, it was previously undocumented and broken.) The Asterisk + logger has a feature to support absolute pathnames for logger + channels, but the code implementing the feature was broken. This + has been fixed, and the absolute path feature is now documented + in the sample logger.conf. + +2009-05-07 23:41 +0000 [r193119] Tilghman Lesher <tlesher@digium.com> + + * main/pbx.c: Fix Background within a Macro for FreePBX. If the + single digit DTMF is an extension in the specified context, then + go there and signal no DTMF. Otherwise, we should exit with that + DTMF. If we're in Macro, we'll exit and seek that DTMF as the + beginning of an extension in the Macro's calling context. If + we're not in Macro, then we'll simply seek that extension in the + calling context. Previously, someone complained about the + behavior as it related to the interior of a Gosub routine, and + the fix (#14011) inadvertently broke FreePBX (#14940). This + change should fix both of these situations, but with the possible + incompatibility that if a single digit extension does not exist + (but a longer extension COULD have matched), it would have + previously gone immediately to the "i" extension, but will now + need to wait for a timeout. (closes issue #14940) Reported by: + p_lindheimer Patches: 20090420__bug14940.diff.txt uploaded by + tilghman (license 14) Tested by: p_lindheimer + +2009-05-07 22:17 +0000 [r193050] Richard Mudgett <rmudgett@digium.com> + + * channels/chan_misdn.c: Give a more helpful message when an + incoming call's dialed extension does not match. Added the dialed + extension and context to the chan_misdn messages warning that the + dialed number cannot be matched in the dialplan. + +2009-05-07 16:29 +0000 [r192932] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_sip.c: Eliminate repetition of fullcontact during + reconstruction. If the fullcontact field appears in both the + sippeers and the sipregs table, then during reconstruction of the + field, it will otherwise be doubled. (closes issue #14754) + Reported by: Alexei Gradinari Patches: + 20090506__bug14754.diff.txt uploaded by tilghman (license 14) + Tested by: lmadsen + +2009-05-06 22:15 +0000 [r192858] Jeff Peeler <jpeeler@digium.com> + + * res/res_features.c: Make ParkedCall application stop execution of + the dialplan after hang up Just changed park_exec to always + return non-zero. I really wasn't entirely sure at first if this + was a bug. Decided it was since it would be surprising when not + using ParkedCall in the dialplan to hang up and have dialplan + execution continue. (closes issue #14555) Reported by: + francesco_r + +2009-05-06 13:30 +0000 [r192633] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: Update some old logic to stop both begin and + end DTMF frames from reaching the core if rfc2833 is not enabled. + (closes issue #15036) Reported by: dimas Patches: v1-15036.patch + uploaded by dimas (license 88) + +2009-05-05 19:56 +0000 [r192524] Sean Bright <sean.bright@gmail.com> + + * static-http/astman.js: Fix Javascript error when using astman.js + in Internet Explorer. Internet Explorer (tested with 7.0) does + not like trailing commas on constructs like object initializers, + so get rid of them to avoid some errors. (closes issue #15026) + Reported by: rajnishgiri Patches: bug15026.patch uploaded by + seanbright (license 71) Tested by: seanbright + +2009-05-05 18:22 +0000 [r192429-192454] Joshua Colp <jcolp@digium.com> + + * res/res_features.c: Fix an incorrect assumption that certain + values on the channel will always exist when they may not. The + CDR code involved with bridges wrongly assumed that the currently + executing application and data values will always exist. It is + possible for this to be false when call forwarding is involved. + (closes issue #14984) Reported by: gincantalupo + + * apps/app_followme.c: Fix a bug where the followme application + would continue trying numbers after the caller hung up. (closes + issue #13624) Reported by: sgenyuk + +2009-05-04 22:37 +0000 [r192213] David Vossel <dvossel@digium.com> + + * channels/chan_iax2.c: global mohinterpret setting is ignored + mohinterpret and mohsuggest global variables were not copied over + during build_users and build_peers. (closes issue #14728) + Reported by: dimas Patches: v1-14728.patch uploaded by dimas + (license 88) Tested by: dimas, dvossel + +2009-05-02 18:48 +0000 [r191628-191778] Mark Michelson <mmichelson@digium.com> + + * apps/app_voicemail.c: Fix a bug which resulted from the Hebrew + voicemail commit. This fixes a case where a certain message could + get played twice. (closes issue #13155) Reported by: + greenfieldtech Patches: app_voicemail.c.multi-lang-patch uploaded + by greenfieldtech (license 369) Tested by: greenfieldtech + + * apps/app_chanspy.c: Kevin has informed me that thi sort of thing + is not necessary. + + * apps/app_chanspy.c: Move static buffers to outside for loops in + app_chanspy. Similar to seanbright's commit 191422, this moves + some static buffers to be defined outside of for loops since it + is undefined if memory will be re-used or if the stack will grow + with each iteration of the loop. + +2009-05-01 20:00 +0000 [r191559] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_sip.c: SIP Response 410 maps to cause code 22 (or + 23), not 1. (closes issue #14993) Reported by: BigJimmy Patches: + causepatch uploaded by BigJimmy (license 371) + +2009-05-01 17:40 +0000 [r191488] Jeff Peeler <jpeeler@digium.com> + + * main/channel.c: Fix DTMF not being sent to other side after a + partial feature match This fixes a regression from commit 176701. + The issue was that ast_generic_bridge never exited after the + feature digit timeout had elapsed, which prevented the queued + DTMF from being sent to the other side. This issue was reported + to me directly. + +2009-05-01 15:42 +0000 [r191422] Sean Bright <sean.bright@gmail.com> + + * apps/app_queue.c: Move the defintion of the a couple arrays out + of loops. According to Kevin, it is unspecified as to whether a + variable defined inside a block is allocated once by the compiler + or for each pass through the block (loops being the only + interesting case), so just define these before we get into our + loop to be sure. + +2009-04-29 23:10 +0000 [r191220] Tilghman Lesher <tlesher@digium.com> + + * channels/h323/ast_h323.cxx, channels/chan_h323.c: Allow H.323 to + compile with FDLEAK checking enabled. + +2009-04-29 18:07 +0000 [r191096] David Brooks <dbrooks@digium.com> + + * pbx/pbx_config.c: Patch to fix tab-completion crash on "remove + extension" This patch simply removes some old code back before + Asterisk used editline. This fixes the crash that occurred when + tab-completing "remove extension". (closes issue #14689) Reported + by: isaacgal + +2009-04-29 15:23 +0000 [r191041] Sean Bright <sean.bright@gmail.com> + + * apps/app_queue.c: Fix a crash in app_queue with very long member + lists. A user reported via #asterisk that with very long lists of + members, a crash occurs in ast_strdupa, so just use a single + buffer and ast_copy_string instead of stack allocating copys of + each interface name. + +2009-04-27 19:29 +0000 [r190721] Kevin P. Fleming <kpfleming@digium.com> + + * configure, include/asterisk/autoconfig.h.in: Fix 'inconsistent + line endings' when autoconf 2.63 is used Attempt to make + configure script regeneration 'safe' using autoconf 2.63, which + embeds a bare CR into the script, thus making Subversion complain + about inconsistent line endings This commit changes the MIME type + of the configure script to be 'binary' thus making Subversion no + longer inspect line endings, and as a bonus 'svn diff' will no + longer try to generate diff output for it, which is not generally + useful anyway. + +2009-04-27 19:03 +0000 [r190661-190662] Russell Bryant <russell@digium.com> + + * res/res_smdi.c: Fix a typo from 190661. + + * res/res_smdi.c: Resolve a crash in res_smdi when used with + chan_dahdi. When chan_dahdi goes to get an SMDI message, it + provides no search criteria. It just grabs the next message that + arrives. This code was written with the SMDI dialplan functions + in mind, since that is now the preferred method of using SMDI. + However, this broke support of it being used from chan_dahdi. + (closes AST-212) + +2009-04-23 21:07 +0000 [r190356] Russell Bryant <russell@digium.com> + + * channels/chan_sip.c: Remove a bogus ast_channel_unlock(). + +2009-04-23 19:13 +0000 [r190286] Joshua Colp <jcolp@digium.com> + + * channels/chan_local.c: Fix a bug in chan_local glare hangup + detection. If both sides of a Local channel were hung up at + around the same time it was possible for one thread to destroy + the local private structure and have the other thread immediately + try to remove the already freed structure from the local channel + list. + +2009-04-23 10:07 +0000 [r190187] Olle Johansson <oej@edvina.net> + + * include/asterisk/lock.h: unistd.h is required for usleep() on + Darwin. It will not hurt to include it always on other platforms + either. + +2009-04-22 21:35 +0000 [r190092] Tilghman Lesher <tlesher@digium.com> + + * configure, include/asterisk/autoconfig.h.in, configure.ac, + include/asterisk/lock.h: Detect availability of + pthread_rwlock_timedwrlock() before using it. (closes issue + #14930) Reported by: tilghman Patches: + 20090420__bug14930.diff.txt uploaded by tilghman (license 14) + Tested by: mvanbaak, tilghman + +2009-04-22 19:20 +0000 [r189991] Jeff Peeler <jpeeler@digium.com> + + * channels/h323/ast_h323.cxx, channels/chan_h323.c, + channels/h323/chan_h323.h: Make chan_h323 respect packetization + settings Previously, packetization settings were ignored and now + they are not. A new config option 'autoframing' has been added to + mirror the way chan_sip handles it. Turning on the autoframing + option (available both as a global option or per peer) overrides + the local settings with the remote packetization settings. + Testing was performed with varying packetization levels with the + following codecs: ulaw, alaw, gsm, and g729. (closes issue + #12415) Reported by: pj Patches: + 2009012200_h323packetization.diff.txt uploaded by mvanbaak + (license 7), modified by me + +2009-04-22 14:29 +0000 [r189849] Michiel van Baak <michiel@vanbaak.info> + + * contrib/scripts/get_ilbc_source.sh: replace sed with tr to remove + \r from downloaded file On some systems, sed does not recognize + \r in the pattern the way it was used here. Use tr instead + because this works the same across systems. (closes issue #14936) + Reported by: leobrown Patches: 2009042201_14936.diff.txt uploaded + by mvanbaak (license 7) Tested by: leobrown, mvanbaak + +2009-04-21 15:52 +0000 [r189601-189664] Doug Bailey <dbailey@digium.com> + + * utils/muted.c: Remove daemon call on systems that do not support + forking. + + * main/config.c, configure, include/asterisk/autoconfig.h.in, + include/asterisk/compat.h, configure.ac: Add check in configure + script to check for GLOB_NOMAGIC and GLOB_BRACE in glob.h This + allows config.c to compile when linked against uclibc that does + not support these parameters + +2009-04-20 22:02 +0000 [r189537] Tilghman Lesher <tlesher@digium.com> + + * funcs/func_odbc.c, funcs/func_strings.c: Add a workaround for + func_odbc/ARRAY() for problems that occur with certain special + characters. In certain cases, due to the way Set() works in 1.4, + values may not get set properly. This is a workaround for 1.4 + only that corrects for these issues, without making func_odbc + more difficult to use properly. (closes issue #14614) Reported + by: wdoekes Patches: 20090309__bug14614__2.diff.txt uploaded by + tilghman (license 14) + double_set_unescape_workaround_for_func_odbc.osso-and-tilghman-1.diff + uploaded by wdoekes (license 717) Tested by: wdoekes, tilghman + +2009-04-20 21:10 +0000 [r189463-189465] Terry Wilson <twilson@digium.com> + + * apps/app_dial.c: Update CDR appropriately when + AST_CAUSE_NO_ANSWER is set + + * apps/app_dial.c: Don't treat a NOANSWER like a CHANUNAVAIL + +2009-04-20 20:58 +0000 [r189462] Sean Bright <sean.bright@gmail.com> + + * pbx/ael/ael.tab.c, pbx/ael/ael.y: Properly handle @s within hints + in AEL. AEL was not handling the case of a device hint containing + an @ symbol, which caused parking hints (e.g. + hint(park:exten@context)) to error out the parser. This patch + makes AEL treat the @ the same way it treats colon and ampersand + now, meaning the characters are included in verbatim. (closes + issue #14941) Reported by: bpgoldsb Patches: bug14941.patch + uploaded by seanbright (license 71) Tested by: bpgoldsb + +2009-04-20 19:10 +0000 [r189391] Doug Bailey <dbailey@digium.com> + + * main/manager.c, main/db1-ast/recno/rec_open.c, + channels/chan_iax2.c: Clean up problem with manager + implementation of mmap where it was not testing against + MAP_FAILED response. Got rid of shadowed variable used in + processign the mmap results. Change test of mmap results to + compare against MAP_FAILED + +2009-04-20 14:04 +0000 [r189277] Mark Michelson <mmichelson@digium.com> + + * main/channel.c: Move the check for chan->fdno == -1 to after the + zombie/hangup check. Many users were finding that their hung up + channels were staying up and causing 100% CPU usage. (issue + #14723) Reported by: seadweller Patches: 14723_1-4-tip.patch + uploaded by mmichelson (license 60) Tested by: falves11, bamby + +2009-04-18 01:27 +0000 [r189203] David Vossel <dvossel@digium.com> + + * channels/chan_agent.c: Fixed autologoff in agents.conf not + working when agent logs in via AgentLogin app An agent logs in by + calling an extension that calls the AgentLogin app. In + agents.conf ackcall=always is set, so when they get a call they + have the choice to either acknowledge it or ignore it. + autologoff=10 is set as well, so if the agent ignores the call + over 10sec one may assume that the agent should be logged out + (and in this case hungup on as well), but this was not happening. + (closes issue #14091) Reported by: evandro Patches: + autologoff.diff uploaded by dvossel (license 671) Review: + http://reviewboard.digium.com/r/225/ + +2009-04-17 21:27 +0000 [r189134] Richard Mudgett <rmudgett@digium.com> + + * channels/misdn/isdn_lib.c: Modifed/added some debug messages. + JIRA ABE-1835 + +2009-04-17 15:43 +0000 [r189009] Matthew Nicholson <mnicholson@digium.com> + + * main/pbx.c: Make Busy() application set the CDR disposition to + BUSY. (closes issue #14306) Reported by: cristiandimache + +2009-04-17 14:41 +0000 [r188937-188946] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: Fix a bug where a value used to create the + channel name was bogus. This commit fixes the scenario where an + incoming call is authenticated using a peer entry. Previously the + channel name was created using either the username setting from + the sip.conf entry or the IP address that the call came from. Now + the channel name will be created using the peer name itself. This + commit will not change the way the channel name is generated for + users or friends. (closes issue #14256) Reported by: Nick_Lewis + Patches: chan_sip.c-chname.patch uploaded by Nick (license 657) + Tested by: Nick_Lewis, file + + * channels/chan_dahdi.c: Fix a situation where the DAHDI channel + private structure lock was not unlocked when it should have been. + (issue AST-210) + +2009-04-16 21:41 +0000 [r188835] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_sip.c: Only update realtime, if global option + rtupdate != false (closes issue #14885) Reported by: deepesh + Patches: 20090413__bug14885.diff.txt uploaded by tilghman + (license 14) Tested by: deepesh + +2009-04-16 21:37 +0000 [r188833] Richard Mudgett <rmudgett@digium.com> + + * channels/chan_misdn.c: Only disable mISDN DSP if Asterisk DSP is + enabled. Leave jitter setting alone. JIRA ABE-1835 + +2009-04-16 21:02 +0000 [r188773] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: Umask should not be exported into global + namespace. (closes issue #14912) Reported by: jcapp + +2009-04-15 22:08 +0000 [r188646] David Vossel <dvossel@digium.com> + + * channels/chan_dahdi.c: National prefix inserted even when caller + ID not available When the caller ID is restricted, the expected + behavior is for the caller id to be blank. In chan_dahdi, the + national prefix is placed onto the callers number even if its + restricted (empty) causing the caller id to be the national + prefix rather than blank. (closes issue #13207) Reported by: + shawkris Patches: national_prefix.diff uploaded by dvossel + (license 671) Review: http://reviewboard.digium.com/r/220/ + +2009-04-15 20:04 +0000 [r188582] Mark Michelson <mmichelson@digium.com> + + * main/file.c: Update ast_readvideo_callback to match + ast_readaudio_callback. This fixes potential refcount errors that + may occur on ast_filestreams. AST-208 + +2009-04-14 15:02 +0000 [r188287] David Vossel <dvossel@digium.com> + + * main/audiohook.c: audio_audiohook_write_list() does not correctly + update sample size after ast_translate. + audio_audiohook_write_list() does not take into account that the + sample size may change after translation depending on if the + original frame is is 8khz or 16khz. While no 16kz codecs are + supported in 1.4 at the moment, this will save headaches in the + future if they ever are. the sample size is now updated after + translating to reflect this possibility. Thanks to jcolp and + mmichelson for helping me work this out. (issue AST-197) + +2009-04-13 23:04 +0000 [r188149] Tilghman Lesher <tlesher@digium.com> + + * res/res_odbc.c: If fileconfig limit exceeds our maximum, then set + the limit to the maximum. (Closes issue #14888) Reported by: + falves11 + +2009-04-10 22:16 +0000 [r187962] Jeff Peeler <jpeeler@digium.com> + + * channels/Makefile: Fix module embedding for chan_h323. Include + libchanh323.a in the modules.link file so that all the symbols + can be resolved at link time. (closes issue #11966) Reported by: + dome + +2009-04-10 19:26 +0000 [r187865] Russell Bryant <russell@digium.com> + + * channels/chan_dahdi.c: Support "signaling" in addition to + "signalling". The sample configuration file has references to + both spellings. + +2009-04-10 17:28 +0000 [r187763] Tilghman Lesher <tlesher@digium.com> + + * contrib/scripts/realtime_pgsql.sql, + contrib/scripts/sip-friends.sql: Add lastms column to the + contributed table designs + +2009-04-09 18:51 +0000 [r187484] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Handle a SIP race condition (reinvite before + an ACK) properly. RFC 5047 explains the proper course of action + to take if a reINVITE is received before the ACK from a previous + invite transaction. What we are to do is to treat the reINVITE as + if it were both an ACK and a reINVITE and process it normally. + Later, when we receive the ACK we had been expecting, we will + ignore it since its CSeq is less than the current iseqno of the + sip_pvt representing this dialog. (closes issue #13849) Reported + by: klaus3000 Patches: 13849_v2.patch uploaded by mmichelson + (license 60) Tested by: mmichelson, klaus3000 + +2009-04-09 18:39 +0000 [r187209-187482] Tilghman Lesher <tlesher@digium.com> + + * include/asterisk/lock.h: Oops, typo + + * main/manager.c, include/asterisk/lock.h: Race condition between + ast_cli_command() and 'module unload' could cause a deadlock. Add + lock timeouts to avoid this potential deadlock. (closes issue + #14705) Reported by: jamessan Patches: + 20090320__bug14705.diff.txt uploaded by tilghman (license 14) + Tested by: jamessan + + * channels/chan_sip.c, apps/app_sendtext.c: Permit zero-length text + messages in SIP. (Related to an issue posted to the -users list, + subject "AEL2, BASE64_DECODE and hexadecimal") + + * main/astfd.c (added): Oops, missed this file in the last commit. + + * main/asterisk.c, agi/Makefile, build_tools/cflags.xml, + utils/Makefile, include/asterisk.h, main/Makefile, main/file.c: + Add debugging mode for diagnosing file descriptor leaks. (Related + to issue #14625) + + * main/manager.c: Backport resolution for file descriptor leak in + 1.6.0 to 1.4. This fixes short reads in http manager sessions, + such as those done by the ast-gui branch. (Fixes AST-198) + +2009-04-08 19:16 +0000 [r186832-187135] Mark Michelson <mmichelson@digium.com> + + * apps/app_dial.c: Fix a crash due to too few arguments to + RetryDial. (closes issue #14852) Reported by: junky Patches: + retry_fix.diff uploaded by junky (license 177) + + * res/res_musiconhold.c: Fix a small logical error when loading moh + classes. We were unconditionally incrementing the number of + mohclasses registered. However, we should actually only increment + if the call to moh_register was successful. While this probably + has never caused problems, I noticed it and decided to fix it + anyway. + + * main/channel.c: Make a couple of changes with regards to a new + message printed in ast_read(). "ast_read() called with no + recorded file descriptor" is a new message added after a bug was + discovered. Unfortunately, it seems there are a bunch of places + that potentially make such calls to ast_read() and trigger this + error message to be displayed. This commit does two things to + help to make this message appear less. First, the message has + been downgraded to a debug level message if dev mode is not + enabled. The message means a lot more to developers than it does + to end users, and so developers should take an effort to be sure + to call ast_read only when a channel is ready to be read from. + However, since this doesn't actually cause an error in operation + and is not something a user can easily fix, we should not spam + their console with these messages. Second, the message has been + moved to after the check for any pending masquerades. ast_read() + being called with no recorded file descriptor should not + interfere with a masquerade taking place. This could be seen as a + simple way of resolving issue #14723. However, I still want to + try to clear out the existing ways of triggering this message, + since I feel that would be a better resolution for the issue. + + * formats/format_wav.c, formats/format_wav_gsm.c: Fix a few typos + of the word "frequency." (closes issue #14842) Reported by: + jvandal Patches: frequency-typo.diff uploaded by jvandal (license + 413) + + * main/channel.c: Set the AST_FEATURE_WARNING_ACTIVE flag when a + p2p bridge returns AST_BRIDGE_RETRY. Without this flag set, + warning sounds will not be properly played to either party of the + bridge. (closes issue #14845) Reported by: adomjan + +2009-04-07 22:16 +0000 [r186775] Tilghman Lesher <tlesher@digium.com> + + * apps/app_macro.c: Fix Macro documentation to match current (and + intended) behavior. (See -dev mailing list) + +2009-04-07 20:43 +0000 [r186719] Mark Michelson <mmichelson@digium.com> + + * main/manager.c: Ensure that \r\n is printed after the ActionID in + an OriginateResponse. (closes issue #14847) Reported by: kobaz + +2009-04-06 13:54 +0000 [r186565] Mark Michelson <mmichelson@digium.com> + + * apps/app_voicemail.c: Revert commit 186445 because it causes the + build to fail when IMAP_STORAGE is used. + +2009-04-03 20:19 +0000 [r186458] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_dahdi.c: Fix a bug where DAHDI/Zaptel channels + would not properly switch formats when requested Don't offer + AST_FORMAT_SLINEAR on DAHDI/Zaptel channels... while it could + provide a slight performance benefit, the translation core in + Asterisk has some flaws when a channel driver offers multiple raw + formats. this fix is much simpler than fixing the translation + core to solve that issue (although that will be done later). + +2009-04-03 19:56 +0000 [r186415-186445] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: Found a conflict in the last commit, due to + multiple targets + + * apps/app_voicemail.c, configs/voicemail.conf.sample: Distinguish + in a sent email between simple sends and forwards. (closes issue + #11678) Reported by: jamessan Patches: + 20090330__bug11678.diff.txt uploaded by tilghman (license 14) + Tested by: tilghman, lmadsen + +2009-04-03 15:48 +0000 [r186320] Joshua Colp <jcolp@digium.com> + + * include/asterisk/crypto.h: Fix a problem with the crypto variable + definitions not actually being defined properly. (closes issue + #14804) Reported by: jvandal + +2009-04-03 01:57 +0000 [r186229] Russell Bryant <russell@digium.com> + + * cdr/cdr_radius.c: Fix a memory leak in cdr_radius. I came across + this while doing some testing of my ast_channel_ao2 branch. After + running a test overnight that generated over 5 million calls, + Asterisk had taken up about 1 GB of my system memory. So, I + re-ran the test with MALLOC_DEBUG turned on. However, it showed + no leaks in Asterisk during the test, even though Asterisk was + still consuming it somehow. Instead, I turned to valgrind, which + when run with --leak-check=full, told me exactly where the leak + came from, which was from allocations inside the radiusclient-ng + library. This explains why MALLOC_DEBUG did not report it. After + a bit of analysis, I found that we were leaking a little bit of + memory every time a CDR record was passed to cdr_radius. I don't + actually have a radius server set up to receive CDR records. + However, I always have my development systems compile and install + all modules. In addition to making sure there are not build + errors across modules, always loading modules helps find bugs + like this, too, so it is strongly recommend for all developers. + +2009-04-02 21:55 +0000 [r186174] Mark Michelson <mmichelson@digium.com> + + * configs/features.conf.sample: Fix instructions in one-step + parking comment to make more sense. Changed a capital K to a + lowercase k. + +2009-04-02 17:21 +0000 [r186081] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_dahdi.c: ensure that the buffer passed to + DAHDI_SET_BUFINFO is fully initialized + +2009-04-02 17:09 +0000 [r186057-186059] Tilghman Lesher <tlesher@digium.com> + + * /, channels/chan_sip.c, configs/sip.conf.sample: Merged revisions + 186056 via svnmerge from + https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ + r186056 | tilghman | 2009-04-02 12:02:18 -0500 (Thu, 02 Apr 2009) + | 2 lines Fix for AST-2009-003 ........ + + * channels/chan_sip.c: Avoid multiple warning messages in SIP, due + to this column not existing + +2009-04-02 13:43 +0000 [r185952] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_dahdi.c: the DAHDI_GETCONF, DAHDI_SETCONF and + DAHDI_GET_PARAMS ioctls were recently corrected to show that they + do, in fact, read data from userspace as part of their work. due + to this fix, valgrind now reports a number of cases where + chan_dahdi passed an uninitialized (or partially) buffer to these + ioctls, which could lead to unexpected behavior. this patch + corrects chan_dahdi to ensure that buffers passed to these ioctls + are always fully initialized. + +2009-04-01 19:02 +0000 [r185845] David Vossel <dvossel@digium.com> + + * channels/chan_sip.c: Fixes issue with dropped calles due to + re-Invite glare and re-Invites never executing after a 491 + Acknowledgement for 491 responses were never being processed + because it didn't match our pending invite's seqno. Since the ACK + was never processed, the 491 frame would continue to be + retransmitted until eventually the call was dropped due to max + retries. Now during a pending invite, if we receive another + invite, we send an 491 and hold on to that glare invite's seqno + in the "glareinvite" variable for that sip_pvt struct. When ACK's + are received, we first check to see if it is in response to our + pending invite, if not we check to see if it is in response to a + glare invite. In this case, it is in response to the glare invite + and must be dealt with or the call is dropped. I've changed the + wait time for resending the re-Invite after receving a 491 + response to comply with RFC 3261. Before this patch the scheduled + re-Invite would only change a flag indicating that the re-Invite + should be sent out, now it actually sends it out as well. (closes + issue #12013) Reported by: alx Review: + http://reviewboard.digium.com/r/213/ + +2009-04-01 13:47 +0000 [r185771] Russell Bryant <russell@digium.com> + + * main/channel.c: Fix a case where DTMF could bypass audiohooks. + This change fixes a situation where an audiohook that wants DTMF + would not actually get it. This is in the code path where we end + DTMF digit length emulation while handling a NULL frame. + +2009-03-31 22:00 +0000 [r185468-185599] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: Fix crash that would occur if an empty member + was specified in queues.conf. (closes issue #14796) Reported by: + pida + + * channels/chan_sip.c: Use AST_SCHED_DEL_SPINLOCK instead of + manually using the logic. + + * apps/app_voicemail.c: Fix Russian voicemail intro to say the word + "messages" properly. (closes issue #14736) Reported by: chappell + Patches: voicemail_no_messages.diff uploaded by chappell (license + 8) + +2009-03-31 16:37 +0000 [r185362] David Brooks <dbrooks@digium.com> + + * channels/chan_gtalk.c: Fix incorrect parsing in chan_gtalk when + xmpp contains extra whitespaces To drill into the xmpp to find + the capabilities between channels, chan_gtalk calls iks_child() + and iks_next(). iks_child() and iks_next() are functions in the + iksemel xml parsing library that traverse xml nodes. The bug here + is that both iks_child() and iks_next() will return the next + iks_struct node *regardless* of type. chan_gtalk expects the next + node to be of type IKS_TAG, which in most cases, it is, but in + this case (a call being made from the Empathy IM client), there + exists iks_struct nodes which are not IKS_TAG data (they are + extraneous whitespaces), and chan_gtalk doesn't handle that case, + so capabilities don't match, and a call cannot be made. + iks_first_tag() and iks_next_tag(), on the other hand, will not + return the very next iks_struct, but will check to see if the + next iks_struct is of type IKS_TAG. If it isn't, it will be + skipped, and the next struct of type IKS_TAG it finds will be + returned. This assures that chan_gtalk will find the iks_struct + it is looking for. This fix simply changes all calls to + iks_child() and iks_next() to become calls to iks_first_tag() and + iks_next_tag(), which resolves the capability matching. The + following is a payload listing from Empathy, which, due to the + extraneous whitespace, will not be parsed correctly by iksemel: + <iq from='dbrooksjab@235-22-24-10/Telepathy' + to='astjab@235-22-24-10/asterisk' type='set' id='542757715704'> + <session xmlns='http://www.google.com/session' + initiator='dbrooksjab@235-22-24-10/Telepathy' type='initiate' + id='1837267342'> <description + xmlns='http://www.google.com/session/phone'> <payload-type + clockrate='16000' name='speex' id='96'/> <payload-type + clockrate='8000' name='PCMA' id='8'/> <payload-type + clockrate='8000' name='PCMU' id='0'/> <payload-type + clockrate='90000' name='MPA' id='97'/> <payload-type + clockrate='16000' name='SIREN' id='98'/> <payload-type + clockrate='8000' name='telephone-event' id='99'/> </description> + </session> </iq> + +2009-03-31 15:34 +0000 [r185298] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: Fix some state_interface stuff that was in + trunk but not in the backport to 1.4. Issue #14359 was fixed + between the time that I posted the review of the backport of the + state interface change for 1.4. This merges the changes from that + issue back into 1.4. (closes issue #14359) Reported by: + francesco_r + +2009-03-31 14:06 +0000 [r185196] Joshua Colp <jcolp@digium.com> + + * main/audiohook.c: Fix crash when moving audiohooks between + channels. Handle the scenario where we are called to move + audiohooks between channels and the source channel does not + actually have any on it. (closes issue #14734) Reported by: + corruptor + +2009-03-30 20:40 +0000 [r185120-185121] Richard Mudgett <rmudgett@digium.com> + + * channels/misdn_config.c, configs/misdn.conf.sample: Update the + channel allocation method documentation. + + * channels/misdn/isdn_lib.c: Make chan_misdn BRI TE side normally + defer channel selection to the NT side. Channel allocation + collisions are not handled by chan_misdn very well. This patch + simply avoids the problem for BRI only. For PRI, allocation + collisions are still possible but less likely since there are + simply more channels available and each end could use a different + allocation strategy. misdn.conf options available: + te_choose_channel - Use to force the TE side to allocate + channels. method - Specify the channel allocation strategy. + (closes issue #13488) Reported by: Christian_Pinedo Patches: + isdn_lib.patch.txt uploaded by crich Tested by: crich, siepkes, + festr + +2009-03-30 16:17 +0000 [r184980-185031] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: Fix queue weight behavior so that calls in + low-weight queues are not inappropriately blocked. (This is + copied and pasted from the review request I made for this patch) + Asterisk has some odd behavior when queue weights are used. The + current logic used when potentially calling a queue member is: If + the member we are going to call is part of another queue and + _that other queue has any callers in it_ and has a higher weight + than the queue we are calling from, then don't try to contact + that member. The issue here is what I have marked with + underscores. If the higher-weighted queue has any callers in it + at all, then the queue member will be unreachable from the + lower-weighted queue. This has the potential to be really really + bad if using a queue strategy, such as leastrecent or + fewestcalls, with the potential to call the same member + repeatedly. The fix proposed by garychen on issue 13220 is very + simple and, as far as I can see, works well for this situation. + With this set of changes, the logic used becomes: If the member + we are going to call is part of another queue, the other queue + has a higher weight than the queue we are calling from, and the + higher weight queue has at least as many callers as available + members, then do not try to contact the queue member. If the + higher weighted queue has fewer callers than available members, + then there is no reason to deny the call to this member since the + other queue can afford to spare a member. Since the fix involved + writing a generic function for determining the number of + available members in the queue, I also modified the is_our_turn + function to make use of the new num_available_members function to + determine if it is our turn to try calling a member. There is one + small behavior change. Before writing this patch, if you had + autofill disabled, then if you were the head caller in a queue, + you would automatically be told that it was your turn to try + calling a member. This did not take into account whether there + were actually any queue members available to take the call. Now + we actually make sure there is at least one member available to + take the call if autofill is disabled. (closes issue #13220) + Reported by: garychen Review: + http://reviewboard.digium.com/r/202/ + + * configs/queues.conf.sample, apps/app_queue.c: Backport state + interface changes to app_queue from trunk. After several issues + raised on the Asterisk bugtracker against the 1.4 branch were + determined to be fixable with the state interface change + available in the 1.6.X series, it finally came time to just suck + it up and backport the change. For a detailed explanation of what + this change entails, the original trunk commit for this feature + may be found here: + http://svn.digium.com/view/asterisk?view=revision&revision=97203 + In addition, the details for the use of this change to fix the + problems stated in issue #12970 may be found in the review + request I made for this change. It is linked below. (closes issue + #12970) Reported by: edugs15 Review: + http://reviewboard.digium.com/r/116 + +2009-03-30 14:35 +0000 [r184947] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: Improve our handling of T38 in the initial + INVITE from a device. We now answer with matching media streams + to what is requested. If an INVITE is received with both a T38 + and RTP media stream this means we answer with both. For any + outgoing calls created as a result of this inbound one no T38 is + requested in the initial INVITE. Instead if we start receiving + udptl packets we trigger a reinvite on the outbound side. (closes + issue #12437) Reported by: marsosa Tested by: pinga-fogo, okrief, + file, afu Review: http://reviewboard.digium.com/r/208/ + +2009-03-29 05:51 +0000 [r184842] Russell Bryant <russell@digium.com> + + * apps/app_followme.c: Ensure targs variable is fully initialized. + (closes issue #14758) Reported by: tim_ringenbach + +2009-03-27 13:06 +0000 [r184565] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: Fix an issue where nat=yes would not always + take effect for the RTP session on outgoing calls. If calls were + placed using an IP address or hostname the global nat setting was + copied over but was not set on the RTP session itself. This + caused the RTP stack to not perform symmetric RTP actions. + (closes issue #14546) Reported by: acunningham + +2009-03-26 22:17 +0000 [r184447] Kevin P. Fleming <kpfleming@digium.com> + + * sounds/Makefile: use new, improved 8kHz prompts + +2009-03-26 21:07 +0000 [r184388] David Vossel <dvossel@digium.com> + + * apps/app_test.c: pri loop TestClient/TestServer fails: server + SEND DTMF 8 app_test was failing when sending the last DTMF + digit, 8, because of the 100ms pause issued after DTMF is sent. + During this pause the other side would hang up causing the test + to look like it failed. Now the other side waits a second before + hanging up. (closes issue #12442) Reported by: tzafrir + +2009-03-25 14:12 +0000 [r184188] Eliel C. Sardanons <eliels@gmail.com> + + * main/asterisk.c: Avoid destroying the CLI line when moving the + cursor backward and trying to autocomplete. When moving the + cursor backward and pressing TAB to autocomplete, a NULL is put + in the line and we are loosing what we have already wrote after + the actual cursor position. (closes issue #14373) Reported by: + eliel Patches: asterisk.c.patch uploaded by eliel (license 64) + Tested by: lmadsen + +2009-03-24 22:34 +0000 [r184078] Mark Michelson <mmichelson@digium.com> + + * apps/app_senddtmf.c: Change NULL pointer check to be + ast_strlen_zero. The 'digit' variable is guaranteed to be + non-NULL, so the if statement could never evaluate true. Changing + to ast_strlen_zero makes the logic correct. This was found while + reviewing ast_channel_ao2 code review. + +2009-03-24 15:25 +0000 [r183913] Tilghman Lesher <tlesher@digium.com> + + * configs/voicemail.conf.sample: Additionally note that the + operator option needs an 'o' extension. (Related to issue #14731) + +2009-03-23 17:59 +0000 [r183700] Mark Michelson <mmichelson@digium.com> + + * res/res_monitor.c: Fix a memory leak in res_monitor.c The only + way that this leak would occur is if Monitor were started using + the Manager interface and no File: header were given. Discovered + while reviewing the ast_channel_ao2 review request. + +2009-03-20 16:53 +0000 [r183559] Russell Bryant <russell@digium.com> + + * channels/chan_iax2.c: Fix a crash in IAX2 registration handling + found during load testing with dvossel. + +2009-03-19 23:37 +0000 [r183481] Terry Wilson <twilson@digium.com> + + * apps/app_dial.c: Add missing datastore inherit (exists in all + other branches) + +2009-03-19 19:40 +0000 [r183386] David Vossel <dvossel@digium.com> + + * include/asterisk/features.h, apps/app_dial.c, res/res_features.c: + Cleaning up a few things in detect disconnect patch Initialized + ast_call_feature in detect_disconnect to avoid accessing + uninitialized memory. Cleaned up /param tags in features.h. No + longer send dynamic features in ast_feature_detect. issue #11583 + +2009-03-19 19:21 +0000 [r183319-183342] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_dahdi.c: Reordering, to change prior to unlocking + + * channels/chan_dahdi.c: Delay signalling progress until a PRI + channel really signals progress. (closes issue #13034) Reported + by: klaus3000 Patches: 20090316__bug13034.diff.txt uploaded by + tilghman (license 14) patch_trunk_183progress_klaus3000.txt + uploaded by klaus3000 (license 65) Tested by: klaus3000 + +2009-03-19 18:28 +0000 [r183291] Jason Parker <jparker@digium.com> + + * main/asterisk.exports: Export some more required symbols. + +2009-03-19 17:52 +0000 [r183145-183241] Russell Bryant <russell@digium.com> + + * main/loader.c, configure, include/asterisk/autoconfig.h.in, + configure.ac: Remove the use of RTLD_NOLOAD, as it is not + behaving like expected. + + * main/asterisk.exports: Allow the AES API to work. + + * main/asterisk.exports: Add missing semicolon in exports script. + +2009-03-19 16:15 +0000 [r183126] David Vossel <dvossel@digium.com> + + * include/asterisk/features.h, apps/app_dial.c, res/res_features.c, + res/res_features.exports: Allow disconnect feature before a call + is bridged feature.conf has a disconnect option. By default this + option is set to '*', but it could be anything. If a user wishes + to disconnect a call before the other side answers, only '*' will + work, regardless if the disconnect option is set to something + else. This is because features are unavailable until bridging + takes place. The default disconnect option, '*', was hardcoded in + app_dial, which doesn't make any sense from a user perspective + since they may expect it to be something different. This patch + allows features to be detected from outside of the bridge, but + not operated on. In this case, the disconnect feature can be + detected before briding and handled outside of features.c. + (closes issue #11583) Reported by: sobomax Patches: + patch-apps__app_dial.c uploaded by sobomax (license 359) + 11583.latest-patch uploaded by murf (license 17) + detect_disconnect.diff uploaded by dvossel (license 671) Tested + by: sobomax, dvossel Review: http://reviewboard.digium.com/r/195/ + +2009-03-19 16:13 +0000 [r183123] Russell Bryant <russell@digium.com> + + * main/asterisk.exports: Allow the CallerID API to work again. + +2009-03-19 16:04 +0000 [r183115] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Fix an issue where cancelled outgoing SIP + calls would erroneously report the device as "in use." A user was + having an issue where if an outgoing SIP call was canceled, the + SIP device would remain in use if we had not received any + response to the initial INVITE we sent out. The SIP device would + remain in use until the autocongestion timer was exhausted. I + tracked down the cause of this to be the section of code I am + removing here. I asked several people what the purpose of this + code was meant to be, but no one could give me any sort of answer + as to why this was here. The person who was having this issue has + been using this patch for several months and it has stopped the + problems they have had. AST-196 + +2009-03-18 20:02 +0000 [r182963-182965] Jeff Peeler <jpeeler@digium.com> + + * configure, autoconf/ast_check_openh323.m4: fix typo which broke + configure + + * channels/h323/compat_h323.cxx, channels/h323/ast_h323.cxx, + configure, autoconf/ast_check_openh323.m4, + channels/h323/compat_h323.h, channels/chan_h323.c, + channels/h323/ast_h323.h, channels/h323/chan_h323.h: Allow H.323 + Plus library to be used in addition to the OpenH323 library + Chan_h323 can now be compiled against both the previously + supported versions of OpenH323 as well as the current H.323 Plus + (version 1.20.2). The configure script has been modified to look + in the default install location of h323 to hopefully help avoid + using the environment variables OPENH323DIR and PWLIBDIR. Also, + the CLI command "h323 show version" has been added which + indicates which version of h323 is in use. (closes issue 0011261) + Reported by: vhatz Patches: asterisk-1.6.0.6-h323plus.patch + uploaded by jthurman (license 614) + +2009-03-18 11:31 +0000 [r182882] Kevin P. Fleming <kpfleming@digium.com> + + * include/asterisk/callerid.h, channels/chan_dahdi.c, + main/callerid.c: fix another symbol namespace issue (reported by + Andrew on asterisk-dev) + +2009-03-18 02:09 +0000 [r182810] Russell Bryant <russell@digium.com> + + * main/poll.c, main/io.c, main/channel.c, main/manager.c, + channels/chan_skinny.c, configure, apps/app_mp3.c, res/res_agi.c, + include/asterisk/poll-compat.h, channels/chan_alsa.c, + main/asterisk.c, apps/app_nbscat.c, main/Makefile, + include/asterisk/autoconfig.h.in, configure.ac, main/utils.c, + include/asterisk/io.h, include/asterisk/channel.h: Fix cases + where the internal poll() was not being used when it needed to + be. We have seen a number of problems caused by poll() not + working properly on Mac OSX. If you search around, you'll find a + number of references to using select() instead of poll() to work + around these issues. In Asterisk, we've had poll.c which + implements poll() using select() internally. However, we were + still getting reports of problems. vadim investigated a bit and + realized that at least on his system, even though we were + compiling in poll.o, the system poll() was still being used. So, + the primary purpose of this patch is to ensure that we're using + the internal poll() when we want it to be used. The changes are: + 1) Remove logic for when internal poll should be used from the + Makefile. Instead, put it in the configure script. The logic in + the configure script is the same as it was in the Makefile. + Ideally, we would have a functionality test for the problem, but + that's not actually possible, since we would have to be able to + run an application on the _target_ system to test poll() + behavior. 2) Always include poll.o in the build, but it will be + empty if AST_POLL_COMPAT is not defined. 3) Change uses of poll() + throughout the source tree to ast_poll(). I feel that it is good + practice to give the API call a new name when we are changing its + behavior and not using the system version directly in all cases. + So, normally, ast_poll() is just redefined to poll(). On systems + where AST_POLL_COMPAT is defined, ast_poll() is redefined to + ast_internal_poll(). 4) Change poll() in main/poll.c to be + ast_internal_poll(). It's worth noting that any code that still + uses poll() directly will work fine (if they worked fine before). + So, for example, out of tree modules that are using poll() will + not stop working or anything. However, for modules to work + properly on Mac OSX, ast_poll() needs to be used. (closes issue + #13404) Reported by: agalbraith Tested by: russell, vadim + http://reviewboard.digium.com/r/198/ + +2009-03-18 01:55 +0000 [r182802-182808] Kevin P. Fleming <kpfleming@digium.com> + + * main/astobj2.c, main/asterisk.exports (added), + res/res_odbc.exports (added), res/res_speech.exports (added), + res/res_config_odbc.c, res/res_features.exports (added), + build_tools/strip_nonapi (removed), res/res_adsi.exports (added), + res/res_indications.c, default.exports (added), makeopts.in, + res/res_jabber.exports (added), res/res_monitor.exports (added), + res/res_config_pgsql.c, res/res_snmp.c, main/Makefile, + res/res_smdi.exports (added), include/asterisk/astobj2.h, + res/res_crypto.c, res/res_agi.exports (added), Makefile.rules, + res/res_musiconhold.c: Improve the build system to *properly* + remove unnecessary symbols from the runtime global namespace. + Along the way, change the prefixes on some internal-only API + calls to use a common prefix. With these changes, for a module to + export symbols into the global namespace, it must have *both* the + AST_MODFLAG_GLOBAL_SYMBOLS flag and a linker script that allows + the linker to leave the symbols exposed in the module's .so file + (see res_odbc.exports for an example). + + * main/astobj2.c, main/asterisk.exports (removed), + res/res_odbc.exports (removed), main/channel.c, + res/res_config_odbc.c, res/res_features.exports (removed), + default.exports (removed), include/asterisk/frame.h, + res/res_jabber.exports (removed), res/res_config_pgsql.c, + main/Makefile, res/res_smdi.exports (removed), + include/asterisk/astobj2.h, main/slinfactory.c, res/res_crypto.c, + res/res_agi.exports (removed), res/res_speech.exports (removed), + include/asterisk/linkedlists.h, main/file.c, + build_tools/strip_nonapi (added), res/res_adsi.exports (removed), + res/res_indications.c, makeopts.in, apps/app_mixmonitor.c, + apps/app_chanspy.c, res/res_monitor.exports (removed), + main/autoservice.c, build_tools/cflags-devmode.xml, main/frame.c, + apps/app_meetme.c, res/res_snmp.c, Makefile.rules, + res/res_musiconhold.c: revert commit that included extranous + changes + + * /: remove accidentally merged properties + + * main/astobj2.c, main/asterisk.exports (added), + res/res_odbc.exports (added), main/channel.c, + res/res_config_odbc.c, res/res_features.exports (added), + default.exports (added), include/asterisk/frame.h, + res/res_jabber.exports (added), res/res_config_pgsql.c, + main/Makefile, res/res_smdi.exports (added), + include/asterisk/astobj2.h, main/slinfactory.c, res/res_crypto.c, + res/res_agi.exports (added), res/res_speech.exports (added), + include/asterisk/linkedlists.h, main/file.c, + build_tools/strip_nonapi (removed), res/res_adsi.exports (added), + res/res_indications.c, makeopts.in, apps/app_mixmonitor.c, + apps/app_chanspy.c, res/res_monitor.exports (added), + main/autoservice.c, build_tools/cflags-devmode.xml, main/frame.c, + /, apps/app_meetme.c, res/res_snmp.c, Makefile.rules, + res/res_musiconhold.c: Improve the build system to *properly* + remove unnecessary symbols from the runtime global namespace. + Along the way, change the prefixes on some internal-only API + calls to use a common prefix. With these changes, for a module to + export symbols into the global namespace, it must have *both* the + AST_MODFLAG_GLOBAL_SYMBOLS flag and a linker script that allows + the linker to leave the symbols exposed in the module's .so file + (see res_odbc.exports for an example). + +2009-03-17 20:13 +0000 [r182652] Jason Parker <jparker@digium.com> + + * channels/chan_dahdi.c, apps/app_flash.c: Allow dahdichanname to + work as advertised. (closes issue #14056) Reported by: dsedivec + Patches: load_from_zapata_conf.patch uploaded by dsedivec + (license 638) + +2009-03-17 05:50 +0000 [r182449] Tilghman Lesher <tlesher@digium.com> + + * main/db.c: Fix race in astdb The underlying db1 implementation + does not fully isolate the pages retrieved from astdb, so the + lock protecting accesses needs to be extended until the copy from + the shared memory structure is done. (closes issue #14682) + Reported by: makoto + +2009-03-16 Leif Madsen <lmadsen@digium.com> + + * Released 1.4.24 + +2009-03-06 Leif Madsen <lmadsen@digium.com> + + * Released 1.4.24-rc1 + +2009-03-06 18:23 +0000 [r180567] Mark Michelson <mmichelson@digium.com> + + * apps/app_voicemail.c: Make compilation succeed in dev-mode when + IMAP storage is enabled. + +2009-03-06 17:19 +0000 [r180532] David Vossel <dvossel@digium.com> + + * main/enum.c: Fix handling of backreferences for ENUM lookups + enum.c did not handle regex backtraces correctly. The '\1' in the + regex is a backreference that requires a pattern match to be + inserted. The way the code used to work is that it would find the + backreference and insert the entire input string minus the '+'. + This is incorrect. The regexec() function takes in a variable + called pmatch which is an array of structs containing the start + and end indexes for each backreference substring. The original + code actually passed the pmatch array pointer into regexec but + never did anything with it. Now when a backtrace is found, the + backtrace number is looked up in the pmatch array and the correct + substring is inserted. (closes issue #14576) Reported by: + chris-mac Review: http://reviewboard.digium.com/r/187/ + +2009-03-05 23:26 +0000 [r180380-180464] Mark Michelson <mmichelson@digium.com> + + * apps/app_voicemail.c: [IMAP] Fix message retrieval issues when + identical mailbox names were defined in separate contexts. There + was a fix put in a while back so that an X-Asterisk-VM-Context + message header was added to stored IMAP voicemails. This would + allow for us to differentiate if the same mailbox name was used + in multiple contexts. The problem still left was that not all + places where messages were retrieved actually attempted to use + this header for information when retrieving messages. This commit + fixes that so that MWI and message retrieval from VoiceMailMain + work as expected. (closes issue #13853) Reported by: vicks1 + Patches: 13853_v2.patch uploaded by mmichelson (license 60) + Tested by: lmadsen + + * apps/app_voicemail.c, configs/voicemail.conf.sample: Fix broken + mailbox parsing when searchcontexts option is enabled. When using + the searchcontexts option in voicemail.conf, the code made the + assumption that all mailbox names defined were unique across all + contexts. However, the code did nothing to actually enforce this + assumption, nor did it do anything to alert a user that he may + have created an ambiguity in his voicemail.conf file by defining + the same mailbox name in multiple contexts. With this change, we + now will issue a nice long warning if searchcontexts is on and we + encounter the same mailbox name in multiple contexts and ignore + any duplicates after the first box. Whether searchcontexts is + enabled or not, if we come across a duplicate mailbox in the same + context, then we will issue a warning and ignore the duplicated + mailbox. I have also added a small note to voicemail.conf.sample + in the explanation for searchcontexts explaining that you cannot + define the same mailbox in multiple contexts if you have enabled + the option. (closes issue #14599) Reported by: lmadsen Patches: + 14599.patch uploaded by mmichelson (license 60) (with slight + modification) Tested by: lmadsen + +2009-03-05 18:22 +0000 [r180372] Kevin P. Fleming <kpfleming@digium.com> + + * main/rtp.c, main/frame.c, include/asterisk/frame.h: Fix problems + when RTP packet frame size is changed During some code analysis, + I found that calling ast_rtp_codec_setpref() on an ast_rtp + session does not work as expected; it does not adjust the + smoother that may on the RTP session, in fact it summarily drops + it, even if it has data in it, even if the current format's + framing size has not changed. This is not good. This patch + changes this behavior, so that if the packetization size for the + current format changes, any existing smoother is safely updated + to use the new size, and if no smoother was present, one is + created. A new API call for smoothers, + ast_smoother_reconfigure(), was required to implement these + changes. Review: http://reviewboard.digium.com/r/184/ + +2009-03-04 19:22 +0000 [r180194] Joshua Colp <jcolp@digium.com> + + * main/callerid.c: Look for the number in a callerid string + starting from the end. This way a value using <> can exist in the + name portion. (issue #AST-194) + +2009-03-03 23:01 +0000 [r180010] Jason Parker <jparker@digium.com> + + * channels/chan_dahdi.c: Make sure we still support zapchan in + users.conf, in addition to dahdichan. + +2009-03-03 22:48 +0000 [r180006] Mark Michelson <mmichelson@digium.com> + + * configs/queues.conf.sample, apps/app_queue.c: Clarify some + documentation of queues.conf.sample It had always been possible + to explicitly specify a "blank" value for a sound file in + queues.conf and have no sound played back. The problem with this + is that it would result in some ugly CLI warnings from file.c. + This commit introduces a check when playing a file in app_queue + to see if the name of the file is zero-length and return early if + that is the case. Also, the ability to specify the blank sound + files in queues.conf is now mentioned more clearly in + queues.conf.sample (closes issue #14227) Reported by: caspy + +2009-03-03 18:27 +0000 [r179840] Joshua Colp <jcolp@digium.com> + + * res/res_features.c: Do not assume that the bridge_cdr is still + attached to the channel when the 'h' exten is finished executing. + It is possible for a masquerade operation to occur when the 'h' + exten is operating. This operation moves the CDR records around + causing the bridge_cdr to no longer exist on the channel where it + is expected to. We can not safely modify it afterwards because of + this, so don't even try. (closes issue #14564) Reported by: meric + +2009-03-03 18:11 +0000 [r179807] Steve Murphy <murf@digium.com> + + * main/ast_expr2.fl, main/ast_expr2.c, utils/Makefile, + utils/expr2.testinput, main/ast_expr2.h, main/ast_expr2.y, + main/ast_expr2f.c: These changes allow AEL to better check ${} + constructs within $[...], that are concatenated with text. I + modified and added rules in ast_expr2.fl to better handle the + concatenations. I added some default routines to ast_expr2.y so + the standalone would compile. It also looks like I haven't run + this thru bison since 2.1, so it's good to get this updated. The + Makefile has comments added now for check_expr2 and check_expr to + explain what they are for, and how to run them. The testexpr2s + stuff has been removed, in favor of check_expr2. expr2.testinput + has been updated to include the two expressions that inspired + these changes (from mcnobody on #asterisk this morning) The + regression has been run and all looks well. + +2009-03-03 16:45 +0000 [r179741] Russell Bryant <russell@digium.com> + + * main/channel.c: Ensure chan->fdno always gets reset to -1 after + handling a channel fd event. Since setting fdno to -1 had to be + moved, a couple of other code paths that do process an fd event + return early and do not pass through the code path where it was + moved to. So, set it to -1 in a few other places, too. + +2009-03-03 14:38 +0000 [r179671] Joshua Colp <jcolp@digium.com> + + * main/channel.c: Move where fdno is set to the default value to + *after* the read callback of the channel driver is called. We + have to do this as the underlying channel driver may need the + fdno value to determine what to read. + +2009-03-03 13:53 +0000 [r179608] Russell Bryant <russell@digium.com> + + * main/channel.c: Make it easier to detect an improper call to + ast_read(). When you call ast_waitfor() on a channel, the index + into the channel fds array that holds the file descriptor that + poll() determines has input available is stored in fdno. This + patch clears out this value after a call to ast_read() and also + reports errors if ast_read() is called without an fdno set. From + a discussion on the asterisk-dev list. + +2009-03-02 23:54 +0000 [r179536] Jeff Peeler <jpeeler@digium.com> + + * main/channel.c: Fix bridging regression from commit 176701 This + fixes a bad regression where the bridge would exit after an + attended transfer was made. The problem was due to nexteventts + getting set after the masquerade which caused the bridge to + return AST_BRIDGE_COMPLETE. (closes issue #14315) Reported by: + tim_ringenbach + +2009-03-02 23:34 +0000 [r179532] Russell Bryant <russell@digium.com> + + * apps/app_meetme.c: Move ast_waitfor() down to avoid the results + of the API call becoming stale. This call to ast_waitfor() was + being done way too soon in this section of code. Specifically, + there was code in between the call to waitfor and the code that + uses the result that puts the channel in autoservice. By putting + the channel in autoservice, the previous results of ast_waitfor() + become meaningless, as the autoservice thread will do it's own + ast_waitfor() and ast_read() on the channel. So, when we came + back out of autoservice and eventually hit the block of code that + calls ast_read() on the channel, there may not actually be any + input on the channel available. Even though the previous call to + ast_waitfor() in app_meetme said there was input, the autoservice + thread has since serviced the channel for some period of time. + This bug manifested itself while dvossel was doing some testing + of MeetMe in Asterisk trunk. He was using the timerfd timing + module. When the code hit ast_read() erroneously, it determined + that it must have been called because of input on the timer fd, + as chan->fdno was set to AST_TIMING_FD, since that was the cause + of the last legitimate call to ast_read() done by autoservice. In + this test, an IAX2 channel was calling into the MeetMe + conference. It was _much_ more likely to be seen with an IAX2 + channel because of the way audio is handled. Every audio frame + that comes in results in a call to ast_queue_frame(), which then + uses ast_timer_enable_continuous() to notify the channel thread + that a frame is waiting to be handled. So, the chances of + ast_waitfor() indicating that a channel needs servicing due to a + timer event on an IAX2 event is very high. Finally, it is + interesting to note that if a different timing interface was + being used, this bug would probably not be noticed. When + ast_read() is called and erroneously thinks that there is a timer + event to handle, it calls the ast_timer_ack() function. The + pthread and dahdi timing modules handle the ack() function being + called when there is no event by simply ignoring it. In the case + of the timerfd module, it results in a read() on the timer fd + that will block forever, as there is no data to read. This caused + Asterisk to lock up very quickly. Thanks to dvossel and + mmichelson for the fun debugging session. :-) + +2009-03-02 23:09 +0000 [r179468] Tilghman Lesher <tlesher@digium.com> + + * main/app.c: When ending a recording with silence detection, + remember to reduce the duration. The end of the recording is + correspondingly trimmed, but the duration was not trimmed by the + number of seconds trimmed, so the saved duration was necessarily + longer than the actual soundfile duration. (closes issue #14406) + Reported by: sasargen Patches: 20090226__bug14406.diff.txt + uploaded by tilghman (license 14) Tested by: sasargen + +2009-03-02 22:58 +0000 [r179461] Russell Bryant <russell@digium.com> + + * main/channel.c: Ensure that only one thread is calling + ast_settimeout() on a channel at a time. For example, with an + IAX2 channel, you can have both the channel thread and the + chan_iax2 processing threads calling this function, and doing so + twice at the same time is a bad thing. (Found in a debugging + session with dvossel and mmichelson) + +2009-03-02 20:14 +0000 [r179395] Jason Parker <jparker@digium.com> + + * main/editline/configure, main/editline/np/unvis.c, + main/editline/sys.h, main/editline/configure.in: Remove several + silly warnings in editline. One about a broken preprocessor + directive, and another about strlcpy/strlcat. (closes issue + #14264) Reported by: dimas + +2009-02-27 19:03 +0000 [r179056] Jason Parker <jparker@digium.com> + + * doc/channelvariables.txt: Update documentation for DIALEDTIME and + ANSWEREDTIME variables. (closes issue #14566) Reported by: + klaus3000 Patches: ANSWEREDTIME-1.4-patch.txt uploaded by + klaus3000 (license 65) ANSWEREDTIME-trunk-patch.txt uploaded by + klaus3000 (license 65) + +2009-02-26 21:27 +0000 [r178956] Steve Murphy <murf@digium.com> + + * configs/features.conf.sample, res/res_features.c: This change + moves the default feature digit timeout to 1000 ms from the + previous default of 500. As per bug 14515, a dev discussion + arrived at a "mediated concensus" of a default feature digit + timeout of 1.0 sec. Some voted for 1300; ctooley thought 1500 for + distracted phone users in phone booths; kpfleming put his foot + down at 1.0 sec. Users who found the previous default max delay + of 250 msec perfect, are welcome to override the new default. + Notice that I said that 250 msec was the default; wait a minute, + you might say, the config file said it was 500 msec!; well, + because of the bug fix for 14515, we found that 500 msec was + actually enforcing a max of 250. The bug fix would restore 500 + msec, but we felt even that was a bit tight for most users... + 2000 msec was pushed earlier by mmichelson, so that reduces to + 1000 msec after the bug fix. Enjoy! + +2009-02-26 17:24 +0000 [r178838] David Vossel <dvossel@digium.com> + + * channels/chan_iax2.c: IAX2 prune realtime fix Now prune_users() + and prune_peers() are called instead of reload_config() to prune + all users/peers that are realtime. These functions remove all + users/peers with the rtfriend and delme flags set. + iax2_prune_realtime() also lacked the code to properly delete a + single friend. For example. if iax2 prune realtime <friend> was + called, only the peer instance would be removed. The user would + still remain. (closes issue #14479) Reported by: mousepad99 + Review: http://reviewboard.digium.com/r/176/ + +2009-02-26 17:09 +0000 [r178640-178804] Steve Murphy <murf@digium.com> + + * res/res_features.c: This patch prevents the feature detection + timeout from being cut in half. Because the ast_channel_bridge() + call will return 0 and pass a frame pointer for both DTMF_BEGIN + and DTMF_END, the feature_timer field in hte config struct is + getting decremented twice, which effectively cuts the + digittimeout in half. I added conditions to the if statement to + only let DTMF_END frames to flow thru, which solved the problem. + Also, when the frame pointer is null, let control flow thru-- + this usually happens on timeouts. I added a comment to the code + to explain what's going on and why. Many thanks to sodom for + reporting this problem. Personnally, it always seemed like + something was wrong with the featuredigittimeout, but I never + could quite decide what... and was too busy to investigate. This + bug forced the issue, and now we know. Sodom had other issues in + 14515, but I couldn't reproduce them. If he still has problems, + and wants to get them solved, he is welcome to reopen 14515. + (closes issue #14515) Reported by: sodom Patches: 14515.patch + uploaded by murf (license 17) Tested by: murf, sodom + + * main/ast_expr2.fl, main/ast_expr2f.c: This patch completes the + fixes nec. to make 1.4 asterisk dialplan expressions ($[...]) + 8-bit transparent While I was updating ast_expr2.fl, I missed one + rule that would allow 8-bit chars to be caught in tokens; and in + so doing, it absorbs the ${ sequence and messes up the checking + of raw exprs by AEL. Trunk already has these changes. (closes + issue #14543) Reported by: klaus3000 Patches: patch.14543 + uploaded by murf (license 17) Tested by: murf + +2009-02-25 12:43 +0000 [r178508] Russell Bryant <russell@digium.com> + + * main/asterisk.c: Update the copyright year for the main page of + the doxygen documentation. + +2009-02-24 23:25 +0000 [r178445] Tilghman Lesher <tlesher@digium.com> + + * configs/extensions.conf.sample: Add section about the #exec + command in configuration files. (closes issue #14540) Reported + by: jtodd Patch by: jtodd, with additional notes by tilghman + (license 14) + +2009-02-24 20:36 +0000 [r178373] Russell Bryant <russell@digium.com> + + * main/rtp.c: Only set dtmfcount on BEGIN, and ensure it gets reset + to 0 properly. (issue #14460) Reported by: moliveras Tested by: + russell + +2009-02-24 17:02 +0000 [r178266] Terry Wilson <twilson@digium.com> + + * apps/app_dahdiras.c, res/res_musiconhold.c: Change include order + to make compile on Centos 5 with DAHDI If BIT_TYPES_DEFINED gets + defined before linux/types.h is included, the __s32 type doesn't + get defined + +2009-02-24 15:16 +0000 [r178205] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: Skip check for extension when subscribing + for MWI. Since the remote side is not actually subscribing to a + specific extension when subscribing for MWI just skip the check + to see if the extension exists. They can't use it to specify the + mailbox either since we require configuration of that in sip.conf + (closes issue #14531) Reported by: festr + +2009-02-23 23:09 +0000 [r178141] Russell Bryant <russell@digium.com> + + * main/rtp.c: Fix infinite DTMF when a BEGIN is received without an + END. This commit is related to rev 175124 of 1.4 where a previous + attempt was made to fix this problem. The problem with the + previous patch was that the inserted code needed to go _before_ + setting the lastrxts to the current timestamp. Because those were + the same, the dtmfcount variable was never decremented, and so + the END was never sent. In passing, I removed the dtmfsamples + variable which was completed unused. I also removed a redundant + setting of the lastrxts variable. (closes issue #14460) Reported + by: moliveras + +2009-02-20 22:59 +0000 [r177701-177786] Tilghman Lesher <tlesher@digium.com> + + * main/pbx.c: Don't print the CR-NL combination when we aren't + outputting to the manager. An embedded CR-NL in a CLI command + screws up several AMI parsers that don't expect to see that + combination in the middle of output. (Closes issue #14305) + Reported by: martins Patch by: tilghman + + * include/asterisk/threadstorage.h: This exception does not appear + to still be true for Solaris 10, and OpenSolaris definitely needs + it to be removed. Fixed for snuff-home on -dev channel. + +2009-02-20 20:17 +0000 [r177696] David Vossel <dvossel@digium.com> + + * channels/chan_iax2.c, include/asterisk/frame.h: Fixes issue with + undefined audio codecs in chan_iax2 During iax2 call negotiation, + supported codecs are passed in an Information Element containing + a 2 byte field where each bit correlates to a specific codec. In + 1.4 only audio codec bits 0-12 are defined, leaving bits 13-15 + undefined. By default all bits are enabled unless specified + otherwise. Since its a 2 byte field and 13-15 are not defined, + these bits are never turned off. In trunk, bits 13-15 are + defined, which means 1.4 is advertising support for codecs it + does not have when talking to trunk. I fixed this by adding + #define for undefined audio codec bits. These bits are then + removed from iax2's full bandwidth capabilities. (closes issue + #14283) Reported by: jcovert + +2009-02-19 22:51 +0000 [r177540] Steve Murphy <murf@digium.com> + + * main/ast_expr2.fl, main/Makefile, main/ast_expr2f.c: This patch + fixes a problem with 8-bit input to the ast_expr2 scanner. The + real culprit was the --full argument to flex in the Makefile! + This causes a 7-bit scanner to be generated. I reviewed the rules + and found one rule where I needed to specifically include 8-bit + chars for a token. I tested against the text supplied by ibercom, + and all looks very well. This has been there a surprisingly long + time! (closes issue #14498) Reported by: ibercom Patches: + 14498.patch uploaded by murf (license 17) Tested by: murf + +2009-02-19 22:26 +0000 [r177536] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: Fix up potential crashes, by reducing the + sharing between interactive and non-interactive threads. (closes + issue #14253) Reported by: Skavin Patches: + 20090219__bug14253.diff.txt uploaded by Corydon76 (license 14) + Tested by: Skavin + +2009-02-19 18:58 +0000 [r177450] Olle Johansson <oej@edvina.net> + + * channels/chan_sip.c: Force a MWI notification after subscribe + request. Reported by the Resiprocate dev team. Thanks! + +2009-02-19 16:37 +0000 [r177383] Joshua Colp <jcolp@digium.com> + + * apps/app_speech_utils.c: If we are able to create a speech + structure unset the ERROR variable in case it was previously set. + (issue #LUMENVOX-13) + +2009-02-18 22:43 +0000 [r177225] Steve Murphy <murf@digium.com> + + * pbx/ael/ael.tab.c, pbx/ael/ael.y: This patch fixes a regression + of sorts that was introduced in rev 24425. It basically fixes + AST-190/ABE-1782. What was wrong: the user has 6000 extensions in + one context; and then 6000 contexts, one per extension. The + parser could only handle about 4893 of the 6000 extens in the + single context. This was due to the regression I mentioned. To + get rid of shift/reduce conflicts, Luigi set up right-recursive + lists for globals, context elements, switch lists, and + statements. Right recursive lists got rid of the warnings, but + instead, they use up a tremendous amount of stack space when the + lists are long. I saw this a few years back, and resolved not to + fix it until someone complained. That day has arrived! After the + changes were made, I ran the regression test suite, and there + were no problems. I took the test case the user provided, and + added 100,000 extensions to the single context, that already had + 6,000 extens in it. (I'll see your 6, and raise you 100!) It + takes a few minutes to read it all in, check it and generate code + for it, but no problems. So, I think I can say that + fundamentally, there are no longer any limits on the number of + items you can place in contexts, statement blocks, switches, or + globals, beyond your virt mem constraints. + +2009-02-18 20:06 +0000 [r177160] Jeff Peeler <jpeeler@digium.com> + + * channels/h323/cisco-h225.cxx, channels/h323/compat_h323.cxx, + autoconf/ast_check_pwlib.m4, channels/h323/cisco-h225.h, + channels/h323/caps_h323.cxx, channels/h323/ast_h323.cxx, + channels/h323/ast_ptlib.h (added), configure, + channels/h323/compat_h323.h, configure.ac, + channels/h323/caps_h323.h, autoconf/ast_prog_sed.m4, + channels/h323/ast_h323.h, channels/h323/chan_h323.h: Modify h323 + to build against PTLib as well as the older PWLib Several changes + in PTLib have occurred requiring build time detection. Changes + accounted for include the library name change, config option + change, install location change, and a boolean type change which + is handled by ast_ptlib.h. Also, the sed check has been modified + to properly work with autoconf >= 2.62. (closes issue #14224) + Reported by: bergolth Patches: asterisk-autoconf-sed.patch + uploaded by bergolth (license 661) asterisk-pwlib-v3.patch + uploaded by bergolth (license 661) Tested by: jpeeler + +2009-02-18 18:30 +0000 [r177096] Tilghman Lesher <tlesher@digium.com> + + * include/asterisk/config.h: Document the return value of the + update method (as requested on -dev list) + +2009-02-18 17:41 +0000 [r176945-177039] Doug Bailey <dbailey@digium.com> + + * main/utils.c: Merged revisions 177035 manually from + https://origsvn.digium.com/svn/asterisk/trunk ........ r177035 | + dbailey | 2009-02-18 11:24:07 -0600 (Wed, 18 Feb 2009) | 2 lines + Fixed error where a check for an zero length, terminated string + was needed. ........ + + * main/utils.c: Need to take into account the \0 terminator of the + old string to determine the amount available. + +2009-02-18 00:34 +0000 [r176810] Shaun Ruffell <sruffell@digium.com> + + * codecs/codec_dahdi.c: Several changes to codec_dahdi to play nice + with G723. This commit brings in the changes that were living out + on the svn/asterisk/team/sruffell/asterisk-1.4-transcoder branch. + codec_dahdi.c now always uses signed linear as the simple codec + so that a soft g729 codec will not end up being preferred to the + hardware codec. There are also changes to allow codec_dahdi.c to + feed packets to the hardware in the native sample size of the + codec. This solves problems with choppy audio when using G723. + +2009-02-17 21:54 +0000 [r176701] Jeff Peeler <jpeeler@digium.com> + + * main/channel.c, res/res_features.c, include/asterisk/channel.h: + Modify bridging to properly evaluate DTMF after first warning is + played The main problem is currently if the Dial flag L is used + with a warning sound, DTMF is not evaluated after the first + warning sound. To fix this, a flag has been added in + ast_generic_bridge for playing the warning which ensures that if + a scheduled warning is missed, multiple warrnings are not played + back (due to a feature evaluation or waiting for digits). + ast_channel_bridge was modified to store the nexteventts in the + ast_bridge_config structure as that information was lost every + time ast_channel_bridge was reentered, causing a hangup due to + incorrect time calculations. (closes issue #14315) Reported by: + tim_ringenbach Reviewed on reviewboard: + http://reviewboard.digium.com/r/163/ + +2009-02-17 21:21 +0000 [r176426-176661] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_local.c: Backport change to 1.4: Prior to + masquerade, move the group definitions to the channel performing + the masq, so that the group count lingers past the bridge. + (closes issue #14275) Reported by: kowalma Patches: + 20090216__bug14275.diff.txt uploaded by Corydon76 (license 14) + Tested by: kowalma + + * channels/chan_sip.c: After a 'sip reload', qualifies for realtime + peers weren't immediately restarted, instead waiting until the + next registration. We're now caching the qualify across a + reload/restart and starting the qualify immediately upon loading + the peer. (closes issue #14196) Reported by: pdf Patches: + 20090120__bug14196_1.4.diff.txt uploaded by pdf (license 663) + Tested by: pdf + +2009-02-16 23:30 +0000 [r176354] David Vossel <dvossel@digium.com> + + * channels/chan_iax2.c: Fixes issue with AST_CONTROL_SRCUPDATE not + being relayed correctly during bridging This should have been + committed with rev176247, but I missed it. srcupdate frames no + longer break out of the native bridge, but are not being sent to + the other call leg either. This fixs that. issue #13749 + +2009-02-16 21:41 +0000 [r176254] Kevin P. Fleming <kpfleming@digium.com> + + * main/utils.c: correct a logic error in the last stringfields + commit... don't mark additional space as allocated if the string + was built using already-allocated space + +2009-02-16 21:39 +0000 [r176249-176252] Mark Michelson <mmichelson@digium.com> + + * apps/app_meetme.c: Remove unused variable and make dev-mode + compilation happy + + * apps/app_meetme.c: Open the DAHDI pseudo device and set it to be + nonblocking atomically Apparently on FreeBSD, attempting to set + the O_NONBLOCKING flag separately from opening the file was + causing an "inappropriate ioctl for device" error. While I cannot + fathom why this would be happening, I certainly am not opposed to + making the code a bit more compact/efficient if it also fixes a + bug. (closes issue #14482) Reported by: ys Patches: meetme.patch + uploaded by ys (license 281) Tested by: ys + +2009-02-16 21:28 +0000 [r176247] David Vossel <dvossel@digium.com> + + * channels/chan_iax2.c: Fixes issue with AST_CONTROL_SRCUPDATE + breaking out of native bridge In iax2, when a + AST_CONTROL_SRCUPDATE is received it breaks from the native + bridge, but since there is no code path to handle srcupdate it + just goes to be beginning of the loop. This was causing packet + storms of srcupdate frames between servers. Now srcupdate frames + do not break the native bridge for processing. (closes issue + #13749) Reported by: adiemus + +2009-02-16 21:10 +0000 [r176216] Kevin P. Fleming <kpfleming@digium.com> + + * main/utils.c: fix a flaw in the ast_string_field_build() family + of API calls; these functions made no attempt to reuse the space + already allocated to a field, so every time the field was written + it would allocate new space, leading to what appeared to be a + memory leak. + +2009-02-16 15:33 +0000 [r176029] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: Don't have the Via header stored as a + stringfield as it can change often during the lifetime of a + dialog. This issue crept up with subscriptions on the AA50. When + an outgoing NOTIFY is sent a new branch value is created and the + Via header is changed to reflect it. Since this was a stringfield + a new spot in the pool was used for the value while the old was + left untouched/unused. If the current pool was full a new pool + was created. This would cause memory usage to increase steadily. + (issue #AA50-2332) + +2009-02-15 23:37 +0000 [r175921] Michiel van Baak <michiel@vanbaak.info> + + * main/pbx.c, channels/chan_sip.c, main/devicestate.c, + include/asterisk/manager.h: fix mis-spelling of the word + registered. Reported by De_Mon on #asterisk-dev. + +2009-02-15 20:33 +0000 [r175777-175825] Olle Johansson <oej@edvina.net> + + * formats/format_ilbc.c: format_ilbc does not depend on codec + libraries and can therefore always be made. My mistake. Ursäkta! + + * formats/format_ilbc.c: Disable format_ilbc.so by default, like + codec_ilbc.so + + * channels/chan_sip.c: Make sure that the debug line is not printed + on debug level 0 + +2009-02-13 21:53 +0000 [r175698] Jason Parker <jparker@digium.com> + + * include/asterisk/dahdi_compat.h: Zaptel is not DAHDI. Rather, + Zaptel is actually Zaptel. (in case you're confused, DAHDI is + still DAHDI) + +2009-02-13 19:47 +0000 [r175407-175590] Mark Michelson <mmichelson@digium.com> + + * apps/app_voicemail.c: Fix a potential crash situation when using + IMAP voicemail If calling into VoiceMailMain when using IMAP + storage, it was possible to crash Asterisk by hanging up the + phone when prompted for a voicemail mailbox. This patch fixes the + issue. While it may appear that this patch is superficial, it + allows code execution to continue to the failure case just below + the IMAP_STORAGE code block where this patch has been applied + (closes issue #14473) Reported by: dwpaul Patches: + voicemail_imap_crash_no_mailbox.patch uploaded by dwpaul (license + 689) + + * main/file.c: Fix a place where filestreams were not refcounted + properly This section was already present in trunk and other + branches, but did not exist in 1.4. (closes issue #14395) + Reported by: ZX81 Patches: 14395.patch uploaded by putnopvut + (license 60) Tested by: ZX81 + +2009-02-12 21:19 +0000 [r175311] Tilghman Lesher <tlesher@digium.com> + + * main/udptl.c: Fix crashes when receiving certain T.38 packets. + Also, increase the maximum size of T.38 packets and warn users + when they try to set the limits above those maximums. (closes + issue #13050) Reported by: schern Patches: + 20090212__bug13050.diff.txt uploaded by Corydon76 (license 14) + Tested by: schern + +2009-02-12 20:34 +0000 [r175187-175294] Jeff Peeler <jpeeler@digium.com> + + * res/res_features.c: Fix ParkedCall event information for From + field in the case of a blind transfer If the parker information + can not be obtained from the peer, try and see if the + BLINDTRANSFER channel variable has been set. Previously, a blind + transfer to the ParkAndAnnounce app would return nothing for the + From. Closes AST-189 + + * res/res_features.c: Fix crash in event of failed attempt to + transfer to parking The peer may not necessarily exist, such as + in the case of a transfer to ParkAndAnnounce. In this case don't + try to play a sound to it. + +2009-02-12 16:51 +0000 [r175124] Russell Bryant <russell@digium.com> + + * main/rtp.c: Don't send DTMF for infinite time if we do not + receive an END event. I thought that this was going to end up + being a pretty gnarly fix, but it turns out that there was + actually already a configuration option in rtp.conf, dtmftimeout, + that was intended to handle this situation. However, in between + Asterisk 1.2 and Asterisk 1.4, the code that processed the option + got lost. So, this commit brings it back to life. The default + timeout is 3 seconds. However, it is worth noting that having + this be configurable at all is not really the recommended + behavior in RFC 2833. From Section 3.5 of RFC 2833: Limiting the + time period of extending the tone is necessary to avoid that a + tone "gets stuck". Regardless of the algorithm used, the tone + SHOULD NOT be extended by more than three packet interarrival + times. A slight extension of tone durations and shortening of + pauses is generally harmless. Three seconds will pretty much + _always_ be far more than three packet interarrival times. + However, that behavior is not required, so I'm going to leave it + with our legacy behavior for now. Code from + svn/asterisk/team/russell/issue_14460 (closes issue #14460) + Reported by: moliveras + +2009-02-12 10:16 +0000 [r175029] Philippe Sultan <philippe.sultan@gmail.com> + + * channels/chan_gtalk.c: Set the initiator attribute to lowercase + in our replies when receiving calls. This attribute contains a + JID that identifies the initiator of the GoogleTalk voice + session. The GoogleTalk client discards Asterisk's replies if the + initiator attribute contains uppercase characters. (closes issue + #13984) Reported by: jcovert Patches: chan_gtalk.2.patch uploaded + by jcovert (license 551) Tested by: jcovert + +2009-02-12 00:19 +0000 [r174997] Joshua Colp <jcolp@digium.com> + + * main/rtp.c: Revert RTP changes for continuation of DTMF. Proxy + commit by russell via SMS. + +2009-02-12 00:01 +0000 [r174985-174986] Russell Bryant <russell@digium.com> + + * main/rtp.c: Clear out the current event after forcing the end of + a digit + + * main/rtp.c: Fixify infinite DTMF in the case that no RFC2833 END + event is ever received + +2009-02-11 20:54 +0000 [r174885] Tilghman Lesher <tlesher@digium.com> + + * main/pbx.c, apps/app_macro.c: Restore a behavior that was + recently changed, when we fixed issue #13962 and issue #13363 + (related to issue #6176). When a hangup occurs during a Macro + execution in earlier 1.4, the h extension would execute within + the Macro context, whereas it was always supposed to execute only + within the main context (where Macro was called). So this fix + checks for an "h" extension in the deepest macro context where a + hangup occurred; if it exists, that "h" extension executes, + otherwise the main context "h" is executed. (closes issue #14122) + Reported by: wetwired Patches: 20090210__bug14122.diff.txt + uploaded by Corydon76 (license 14) Tested by: andrew + +2009-02-10 18:50 +0000 [r174644] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: Go off hold when we get an empty reinvite + telling us to. (closes issue #14448) Reported by: frawd Patches: + hold_invite_nosdp.patch uploaded by frawd (license 610) + +2009-02-10 17:52 +0000 [r174583] Matthew Nicholson <mnicholson@digium.com> + + * main/jitterbuf.c: Improve behavior of jitterbuffer when + maxjitterbuffer is set. This change improves the way the + jitterbuffer handles maxjitterbuffer and dramatically reduces the + number of frames dropped when maxjitterbuffer is exceeded. In the + previous jitterbuffer, when maxjitterbuffer was exceeded, all new + frames were dropped until the jitterbuffer is empty. This change + modifies the code to only drop frames until maxjitterbuffer is no + longer exceeded. Also, previously when maxjitterbuffer was + exceeded, dropped frames were not tracked causing stats for + dropped frames to be incorrect, this change also addresses that + problem. (closes issue #14044) Patches: bug14044-1.diff uploaded + by mnicholson (license 96) Tested by: mnicholson Review: + http://reviewboard.digium.com/r/144/ + +2009-02-10 02:27 +0000 [r174369] Steve Murphy <murf@digium.com> + + * apps/app_rpt.c: This patch solves some compiler complaints in + both 32 and 64-bit environments. + +2009-02-09 17:11 +0000 [r174282] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Don't do an SRV lookup if a port is + specified RFC 3263 says to do A record lookups on a hostname if a + port has been specified, so that's what we're going to do. See + section 4.2. (closes issue #14419) Reported by: klaus3000 + Patches: patch_chan_sip_nosrvifport_1.4.23.txt uploaded by + klaus3000 (license 65) + +2009-02-09 14:48 +0000 [r174218] Joshua Colp <jcolp@digium.com> + + * res/res_musiconhold.c: Don't overwrite our pointer to the music + class when music on hold stops. We will use this if it starts + again to see if we can resume the music where it left off. + (closes issue #14407) Reported by: mostyn + +2009-02-07 16:15 +0000 [r174148] Russell Bryant <russell@digium.com> + + * res/snmp/agent.c: Fix a race condition that could cause a crash. + +2009-02-06 23:36 +0000 [r174082] Dwayne M. Hubbard <dhubbard@digium.com> + + * channels/chan_sip.c: check ast_strlen_zero() before calling + ast_strdupa() in sip_uri_headers_cmp() and sip_uri_params_cmp() + The reporter didn't actually upload a properly-formed patch, + instead a modified chan_sip.c file was uploaded. I created a + patch to determine the changes, then modified the suggested + changes to create a proper fix. The summary above is a complete + description of the changes. (closes issue #13547) Reported by: + tecnoxarxa Patches: chan_sip.c.gz uploaded by tecnoxarxa (license + 258) Tested by: tecnoxarxa + +2009-02-06 17:15 +0000 [r173967-173968] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: Remove a debug message I put in by accident. + + * channels/chan_sip.c: Some clients do not put the call-id for + replaces at the beginning, so support it being anywhere in the + string. (closes issue #14350) Reported by: fhackenberger + +2009-02-06 16:20 +0000 [r173917] Matthew Nicholson <mnicholson@digium.com> + + * channels/chan_sip.c: Limit the addition of the Contact header in + SIP responses according to various SIP RFCs. (closes issue + #13602) Reported by: hjourdain Tested by: mnicholson + +2009-02-06 15:43 +0000 [r173900] Tilghman Lesher <tlesher@digium.com> + + * utils/muted.c: Backport OS X fix from trunk (AGAIN, closes issue + #14360) + +2009-02-05 23:19 +0000 [r173770] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Fix logic regarding when to perform an SRV + lookup for outgoing REGISTER requests With this fix, we only will + perform an SRV lookup at the following times: * The first time we + register with a remote registrar * If we send a REGISTER but do + not receive a response * If the sendto() function returns an + error While I wrote the patch that fixes this issue, a huge + amount of credit is due to Brett Bryant, who wrote the initial + patch on which I based this one. (closes issue #12312) Reported + by: jrast Patches: 12312.patch uploaded by putnopvut (license 60) + Tested by: blitzrage Review: http://reviewboard.digium.com/r/132/ + +2009-02-05 20:47 +0000 [r173696] Jeff Peeler <jpeeler@digium.com> + + * apps/app_voicemail.c: Add new configuration option to make shared + IMAP mailboxes function as expected. The new option is + "imapvmshareid" which is an ID to tag multiple mailboxes using + the same IMAP storage location to function as one mailbox. This + allows all messages to be retrieved for any user in the group. + The patch alters the 'X-Asterisk-VM-Extension' header that is + responsible for matching voicemails for a given user. (closes + issue #13673) Reported by: howardwilkinson + +2009-02-05 20:29 +0000 [r173392-173692] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: Fix situations where queue members could be + autopaused unexpectedly Specifically, this patch prevents us from + autopausing members when we receive a busy or congestion frame + from them. (closes issue #14376) Reported by: fiddur Patches: + 14376.patch uploaded by putnopvut (license 60) Tested by: fiddur + + * apps/app_mixmonitor.c: Add some missing cleanup to app_mixmonitor + + * apps/app_mixmonitor.c: Fix a problem where a channel pointer + becomes invalid due to masquerading or hanging up. app_mixmonitor + runs its own thread to monitor the channel's activity and write + the mixed audio to a file. Since this thread runs independently + of the channel, it is possible that the mixmonitor thread's + channel pointer will point to freed memory when the channel + either is masqueraded or hangs up (technically, both cases are + hangups, but we need to handle the cases slightly differently). + The solution for this is to employ a datastore, which has the + nice benefit of allowing us to hook into channel masquerades and + hangups and update our pointer as necessary. If this looks + familiar, this same technique is employed in app_chanspy. + app_chanspy is a bit more involved since it does a lot more + operations on the channel that is being spied upon. + app_mixmonitor does have an extra touch that app_chanspy doesn't + have, though. Since there is a thread race between the channel's + thread and the mixmonitor thread on a hangup, we em- ploy a + condition-and-boolean combination to ensure that the channel + thread finishes with our structure before the mixmonitor thread + attempts to free it. No crashes! (closes issue #14374) Reported + by: aragon Patches: 14374.patch uploaded by putnopvut (license + 60) Tested by: aragon, putnopvut + + * apps/app_chanspy.c: Revert my previous change because it was + stupid + + * apps/app_chanspy.c: Add a missing unlock. Extremely unlikely to + ever matter, but it's needed. + +2009-02-03 23:35 +0000 [r173248] David Vossel <dvossel@digium.com> + + * channels/chan_iax2.c: Fixes issue with IAX2 transfer not handing + off calls. Fixes issue with IAX2 transfers not taking place. As + it was, a call that was being transfered would never be handed + off correctly to the call ends because of how call numbers were + stored in a hash table. The hash table, "iax_peercallno_pvt", + storing all the current call numbers did not take into account + the complications associated with transferring a call, so a + separate hash table was required. This second hash table + "iax_transfercallno_pvt" handles calls being transfered, once the + call transfer is complete the call is removed from the transfer + hash table and added to the peer hash table resuming normal + operations. Addition functions were created to handle storing, + removing, and comparing items in the iax_transfercallno_pvt + table. (issue #13468) Review: + http://reviewboard.digium.com/r/140/ + +2009-02-03 21:57 +0000 [r173211] Jeff Peeler <jpeeler@digium.com> + + * res/res_features.c: Parking attempts made to one end of a bridge + no longer will hang up due to a parking failure. Parking attempts + made using either one-touch, or doing either a blind or assisted + transfer to the parking extension now keep up the bridge instead + of hanging up the attempted parked party. Normal causes for the + parking attempt to fail includes the specific specified extension + (via PARKINGEXTEN) not being available or if all the parking + spaces are currently in use. To avoid having to reverse a + masquerade park_space_reserve was made to provide foresight if a + parking attempt will succeed and if so reserve the parking space. + (closes issue #13494) Reported by: mdu113 Reviewed by Russell: + http://reviewboard.digium.com/r/133/ + +2009-02-03 00:15 +0000 [r173070] Tilghman Lesher <tlesher@digium.com> + + * configs/extensions.conf.sample: Add warning to standard config, + that globals may be overridden by other dialplan configuration + files. (closes issue #14388) Reported by: macli + +2009-02-02 23:48 +0000 [r173066] Terry Wilson <twilson@digium.com> + + * res/res_features.c: Fix a feature inheritance bug I added after + code review + +2009-02-02 20:28 +0000 [r172962] Richard Mudgett <rmudgett@digium.com> + + * channels/chan_dahdi.c, configs/chan_dahdi.conf.sample: + channels/chan_dahdi.c * Added doxygen comments to the major dahdi + structures. * Fixed PRI using an incorrect string value if the + extension delimiter is not present in the Dial() function. * + Fixed some uninitialized string variables on FXS ports. + configs/chan_dahdi.conf.sample * Updated some documentation. + These changes are already in trunk -r172400 + +2009-01-31 00:15 +0000 [r172517-172639] Terry Wilson <twilson@digium.com> + + * configs/features.conf.sample, res/res_features.c: Rename new + parkedcallparking option to parkedcallreparking Since this option + actually already existed in 1.6.0+, use the same name so as not + to confuse people when they upgrade + + * configs/features.conf.sample, apps/app_dial.c, + main/global_datastores.c, res/res_features.c, + doc/channelvariables.txt, include/asterisk/global_datastores.h, + CHANGES: Fix feature inheritance with builtin features When using + builtin features like parking and transfers, the AST_FEATURE_* + flags would not be set correctly for all instances when either + performing a builtin attended transfer, or parking a call and + getting the timeout callback. Also, there was no way on a + per-call basis to specify what features someone should have on + picking up a parked call (since that doesn't involve the Dial() + command). There was a global option for setting whether or not + all users who pickup a parked call should have + AST_FEATURE_REDIRECT set, but nothing for DISCONNECT, AUTOMON, or + PARKCALL. This patch: 1) adds the BRIDGE_FEATURES dialplan + variable which can be set either in the dialplan or with setvar + in channels that support it. This variable can be set to any + combination of 't', 'k', 'w', and 'h' (case insensitive matching + of the equivalent dial options), to set what features should be + activated on this channel. The patch moves the setting of the + features datastores into the bridging code instead of app_dial to + help facilitate this. 2) adds global options parkedcallparking, + parkedcallhangup, and parkedcallrecording to be similar to the + parkedcalltransfers option for globally setting features. 3) has + builtin_atxfer call builtin_parkcall if being transfered to the + parking extension since tracking everything through multiple + masquerades, etc. is difficult and error-prone 4) attempts to fix + all cases of return calls from parking and completed builtin + transfers not having the correct permissions (closes issue + #14274) Reported by: aragon Patches: + fix_feature_inheritence.diff.txt uploaded by otherwiseguy + (license 396) Tested by: aragon, otherwiseguy Review + http://reviewboard.digium.com/r/138/ + +2009-01-29 22:54 +0000 [r172438] Tilghman Lesher <tlesher@digium.com> + + * main/asterisk.c, apps/app_nbscat.c, autoconf/ast_func_fork.m4, + apps/app_festival.c, build_tools/menuselect-deps.in, configure, + apps/app_dahdiras.c, apps/app_mp3.c, res/res_agi.c, + apps/app_externalivr.c, apps/app_ices.c, res/res_musiconhold.c: + Lose the CAP_NET_ADMIN at every fork, instead of at startup. + Otherwise, if Asterisk runs as a non-root user and the + administrator does a 'restart now', Asterisk loses the ability to + set QOS on packets. (closes issue #14004) Reported by: nemo + Patches: 20090105__bug14004.diff.txt uploaded by Corydon76 + (license 14) Tested by: Corydon76 + +2009-01-29 08:48 +0000 [r172169] Olle Johansson <oej@edvina.net> + + * channels/chan_sip.c: Make sure that we always add the hangupcause + headers. In some cases, the owner was disconnected before we + checked for the cause. This patch implements a temporary storage + in the pvt and use that instead. The code is based on ideas from + code from Adomjan in issue #13385 (Add support for Reason: + header) Thanks to Klaus Darillion for testing! (closes issue + #14294) related to issue #13385 Reported by: klaus3000 and + adomjan Patches: bug14294b.diff uploaded by oej (license 306) + Based on 20080829_chan_sip.c-q850reason_header.patch uploaded by + adomjan (license 487) Tested by: oej, klaus3000 + +2009-01-28 18:51 +0000 [r172030] Steve Murphy <murf@digium.com> + + * apps/app_channelredirect.c, main/pbx.c, main/manager.c, + res/res_features.c, include/asterisk/channel.h: This patch fixes + h-exten running misbehavior in manager-redirected situations. + What it does: 1. A new Flag value is defined in + include/asterisk/channel.h, AST_FLAG_BRIDGE_HANGUP_DONT, which + used as a messenge to the bridge hangup exten code not to run the + h-exten there (nor publish the bridge cdr there). It will done at + the pbx-loop level instead. 2. In the manager Redirect code, I + set this flag on the channel if the channel has a non-null pbx + pointer. I did the same for the second (chan2) channel, which + gets run if name2 is set... and the first succeeds. 3. I restored + the ending of the cdr for the pbx loop h-exten running code. + Don't know why it was removed in the first place. 4. The first + attempt at the fix for this bug was to place code directly in the + async_goto routine, which was called from a large number of + places, and could affect a large number of cases, so I tested + that fix against a fair number of transfer scenarios, both with + and without the patch. In the process, I saw that putting the fix + in async_goto seemed not to affect any of the blind or attended + scenarios, but still, I was was highly concerned that some other + scenarios I had not tested might be negatively impacted, so I + refined the patch to its current scope, and jmls tested both. In + the process, tho, I saw that blind xfers in one situation, when + the one-touch blind-xfer feature is used by the peer, we got + strange h-exten behavior. So, I inserted code to swap CDRs and to + set the HANGUP_DONT field, to get uniform behavior. 5. I added + code to the bridge to obey the HANGUP_DONT flag, skipping both + publishing the bridge CDR, and running the h-exten; they will be + done at the pbx-loop (higher) level instead. 6. I removed all the + debug logs from the patch before committing. 7. I moved the + AUTOLOOP set/reset in the h-exten code in res_features so it's + only done if the h-exten is going to be run. A very minor + performance improvement, but technically correct. (closes issue + #14241) Reported by: jmls Patches: + 14241_redirect_no_bridgeCDR_or_h_exten_via_transfer uploaded by + murf (license 17) Tested by: murf, jmls + +2009-01-28 17:25 +0000 [r171963] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_dahdi.c: Clarify log message (suggested by + manxpower on #asterisk-dev) + +2009-01-28 13:07 +0000 [r171837] Olle Johansson <oej@edvina.net> + + * configs/sip.conf.sample: Add a better explanation of the + difference between the device namespace and the dialplan for + newbies. + +2009-01-27 21:55 +0000 [r171621-171689] Mark Michelson <mmichelson@digium.com> + + * channels/chan_agent.c: Fix devicestate problems for "always-on" + agent channels A revision to chan_agent attempted to "inherit" + the device state of the underlying channel in order to report the + device state of an agent channel more accurately. The problem + with the logic here is that it makes no sense to use this for + always-on agents. If the agent is logged in, then to the + underlying channel, the agent will always appear to be "in use," + no matter if the agent is on a call or not. The reason is that to + the underlying channel, the channel is currently in use on a call + to the AgentLogin application. The most common cause that I found + for this issue to occur was for a SIP channel to be the + underlying channel type for an Agent channel. If the SIP phone + re-registers, then the registration will cause the device state + core to query the device state of the SIP channel. Since the SIP + channel is in use, the Agent channel would also inherit this + status. Once the agent channel was set to "in use" there was no + way that the device state could change on that channel unless the + agent logged out. The solution for this problem is a bit + different in 1.4 than it is in the other branches. In 1.4, there + will be a one-line fix to make sure that only callback agents + will inherit device state from their underlying channel type. For + the other branches of Asterisk, since callback support has been + removed, there is also no need for device state inheritance in + chan_agent, so I will simply be removing it from the code. In + addition, the 1.4 source is getting a new comment to help the + next person who edits chan_agent.c. I'm adding a comment that a + agent_pvt's loginchan field may be used to determine if the agent + is a callback agent or not. (closes issue #14173) Reported by: + nathan Patches: 14173.patch uploaded by putnopvut (license 60) + Tested by: nathan, aramirez + + * main/slinfactory.c: Prevent a crash from occurring when a jitter + buffer interpolated frame is removed from a slinfactory + slinfactory used the "samples" field of an ast_frame in order to + determine the amount of data contained within the frame. In + certain cases, such as jitter buffer interpolated frames, the + frame would have a non-zero value for "samples" but have NULL + "data" This caused a problem when a memcpy call in + ast_slinfactory_read would attempt to access invalid memory. The + solution in use here is to never feed frames into the slinfactory + if they have NULL "data" (closes issue #13116) Reported by: + aragon Patches: 13116.diff uploaded by putnopvut (license 60) + +2009-01-27 14:33 +0000 [r171527] Olle Johansson <oej@edvina.net> + + * channels/chan_sip.c: Use the same branch tag in CANCEL as in + INVITE Originally putnopvut implemented some changes in revision + 142079 that according to the bug report seemed to have worked + then, but somehow fails now. I guess code, as humans, get old and + forget stuff. Anyway, this bug caused CANCEL not to work with + picky systems. Thanks Fredrik for pointing out where the bug in + the SIP messaging was. (closes issue #14346) Reported by: oej + Patches: bug14346.diff uploaded by oej (license 306) Tested by: + oej + +2009-01-26 21:31 +0000 [r171452] Russell Bryant <russell@digium.com> + + * channels/chan_iax2.c: Resolve some synchronization issues in + chan_iax2 scheduler handling. The important changes here are + related to the synchronization between threads adding items into + the scheduler and the scheduler handling thread. By adjusting the + lock and condition handling, we ensure that the scheduler thread + sleeps no longer and no less than it is supposed to. We also + ensure that it does not wake up more often than it has to. There + is no bug report associated with this. It is just something that + I found while putting scheduler thread handling into a reusable + form (review 129). Review: http://reviewboard.digium.com/r/131/ + +2009-01-26 12:51 +0000 [r171264] Olle Johansson <oej@edvina.net> + + * channels/chan_sip.c: Don't retransmit 401 on REGISTER requests + when alwaysauthreject=yes (closes issue #14284) Reported by: + klaus3000 Patches: patch_chan_sip_unreliable_1.4.23_14284.txt + uploaded by klaus3000 (license 65) Tested by: klaus3000 + +2009-01-25 23:44 +0000 [r171120-171187] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_oss.c: Correctly track the hookstate (closes issue + #13686) Reported by: itiliti Patches: 20081013__bug13686.diff.txt + uploaded by Corydon76 (license 14) + + * res/res_agi.c: Err, yeah. + + * res/res_agi.c: Add thread to kill zombies, when child processes + don't die immediately on SIGHUP. (closes issue #13968) Reported + by: eldadran Patches: 20090114__bug13968.diff.txt uploaded by + Corydon76 (license 14) Tested by: eldadran + +2009-01-25 13:33 +0000 [r170979] Sean Bright <sean.bright@gmail.com> + + * apps/app_page.c: Resolve a logic error that was causing Page() to + crash when more than one channel was specified. (closes issue + #14308) Reported by: bluefox Patches: 20090124__bug14308.diff.txt + uploaded by seanbright (license 71) Tested by: kc0bvu + +2009-01-24 13:55 +0000 [r170836] Tilghman Lesher <tlesher@digium.com> + + * configs/res_odbc.conf.sample: Remove superfluous implementation + note (closes issue #14319) + +2009-01-23 20:55 +0000 [r170671-170719] Mark Michelson <mmichelson@digium.com> + + * configs/res_odbc.conf.sample: Add notes to the idlecheck + explanation in res_odbc.conf.sample (closes issue #14319) + Reported by: klaus3000 Patches: + patch_idlecheck_res_odbc.conf.sample.txt uploaded by klaus3000 + (license 65) + + * contrib/i18n.testsuite.conf: Update contrib/i18n.testsuite.conf + to not use deprecated syntax * Convert Wait,1 to Wait(1) * + Convert SetLanguage to Set(CHANNEL(language)) * Use 'n' for all + priorities beyond the first Also added test for Chinese numbers, + too. (closes issue #14320) Reported by: dant Patches: + i18n.testsuite.conf.issue14320.v2.diff uploaded by dant (license + 670) + +2009-01-23 20:16 +0000 [r170648] Joshua Colp <jcolp@digium.com> + + * main/channel.c: When a channel is answered make sure any + indications currently playing stop. Usually the phone would do + this but if the channel was already answered then they are being + generated by Asterisk and we darn well need to stop them. (closes + issue #14249) Reported by: RadicAlish + +2009-01-23 Tilghman Lesher <tlesher@digium.com> + + * Asterisk 1.4.23.1 released. + + * channels/chan_iax2.c: Regression fix for AST-2009-001 security + fix. + +2009-01-21 Leif Madsen <lmadsen@digium.com> + + * Asterisk 1.4.23 released. + +2009-01-20 18:49 -0500 [r169581] Terry Wilson <twilson@digium.com> + + * One-touch parking was calling back the wrong channel on timeout + +2009-01-20 13:40 -0500 [r169485] Terry Wilson <twilson@digium.com> + + * Don't play audio to the channel if we've masqueraded (closes + issue #14066) Reported by: bluefox Tested by: otherwiseguy, + bluefox + +2009-01-16 Russell Bryant <russell@digium.com> + + * Asterisk 1.4.23-rc4 released. + +2009-01-16 00:19 +0000 [r168745] Steve Murphy <murf@digium.com> + + * pbx/pbx_ael.c: This patch fixes a problem where a goto (or jump, + in this case) fails a consistency check because it can't find a + matching extension. The problem was a missing instruction to end + the range notation in the code where it converts the pattern into + a regex and uses the regex code to determine the match. I tested + using the AEL code the user supplied, and now, the consistency + check passes. (closes issue #14141) Reported by: dimas + +2009-01-15 18:43 +0000 [r168721] Olle Johansson <oej@edvina.net> + + * configs/extconfig.conf.sample: Meetme actually has realtime but + wasn't documented + +2009-01-15 18:22 +0000 [r168716] Terry Wilson <twilson@digium.com> + + * res/res_features.c: Convert call to park_call_full to + masq_park_call_announce Since we removed the AST_PBX_KEEPALIVE + return value, we need to use masqueraded parking, otherwise we + will try to call ast_hangup() in __pbx_run() and in + do_parking_thread() and then promptly crash. (closes issue + #14215) Reported by: waverly360 Tested by: otherwiseguy (closes + issue #14228) Reported by: kobaz Tested by: otherwiseguy + +2009-01-15 01:20 +0000 [r168633] Tilghman Lesher <tlesher@digium.com> + + * /: Blocked revision 168632 from /branches/1.2: 1.2 regression on + security fix AST-2009-001 (Closes issue #14238) + +2009-01-15 00:11 +0000 [r168628] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: Fix some crashes from bad datastore handling in + app_queue.c * The queue_transfer_fixup function was searching for + and removing the datastore from the incorrect channel, so this + was fixed. * Most datastore operations regarding the + queue_transfer datastore were being done without the channel + locked, so proper channel locking was added, too. (closes issue + #14086) Reported by: ZX81 Patches: 14086v2.patch uploaded by + putnopvut (license 60) Tested by: ZX81, festr + +2009-01-14 21:48 +0000 [r168622] Richard Mudgett <rmudgett@digium.com> + + * channels/misdn/isdn_lib.c: * Fixed create_process() allocation of + process ID values. The allocated process IDs could overflow their + respective NT and TE fields. Affects outgoing calls. + +2009-01-14 20:52 +0000 [r168614] Sean Bright <sean.bright@gmail.com> + + * contrib/scripts/autosupport: Update autosupport script to supply + info for both Zaptel and DAHDI in 1.4 and be sure to run + dahdi_test in 1.6.x and trunk instead of zttest. (closes issue + #14132) Reported by: dsedivec Patches: + asterisk-1.4-autosupport.patch uploaded by dsedivec (license 638) + asterisk-trunk-autosupport.patch uploaded by dsedivec (license + 638) + +2009-01-14 19:34 +0000 [r168608] Steve Murphy <murf@digium.com> + + * apps/app_page.c: app_page was failing to compile in dev-mode on + my gcc-4.2.4 system. This change gets rid of the warning. + +2009-01-14 19:02 +0000 [r168603] Tilghman Lesher <tlesher@digium.com> + + * main/udptl.c: Don't read into a buffer without first checking if + a value is beyond the end. (closes issue #13600) Reported by: + atis Patches: 20090106__bug13600.diff.txt uploaded by Corydon76 + (license 14) Tested by: atis + +2009-01-14 16:19 +0000 [r168598] Mark Michelson <mmichelson@digium.com> + + * channels/chan_agent.c: Fix a logic error I found while searching + through chan_agent.c I found that the allow_multiple_logins + function would never return 0 due to an incorrect comparison + being used when traversing the list of agents. While I was + modifying this function, I also did a little bit of coding + guidelines cleanup, too. + +2009-01-14 01:27 +0000 [r168593] Terry Wilson <twilson@digium.com> + + * apps/app_page.c: Don't overflow when paging more than 128 + extensions The number of available slots for calls in app_page + was hardcoded to 128. Proper bounds checking was not in place to + enforce this limit, so if more than 128 extensions were passed to + the Page() app, Asterisk would crash. This patch instead + dynamically allocates memory for the ast_dial structures and + removes the (non-functional) arbitrary limit. This issue would + have special importance to anyone who is dynamically creating the + argument passed to the Page application and allowing more than + 128 extensions to be added by an outside user via some external + interface. The patch posted by a_villacis was slightly modified + for some coding guidelines and other cleanups. Thanks, + a_villacis! (closes issue #14217) Reported by: a_villacis + Patches: 20080912-asterisk-app_page-fix-buffer-overflow.patch + uploaded by a (license 660) Tested by: otherwiseguy + +2009-01-13 19:13 +0000 [r168561] Russell Bryant <russell@digium.com> + + * main/indications.c, main/channel.c, apps/app_read.c, + channels/chan_misdn.c, funcs/func_channel.c, + include/asterisk/indications.h, apps/app_disa.c, main/app.c, + res/snmp/agent.c, include/asterisk/channel.h, + res/res_indications.c: Revert unnecessary indications API change + from rev 122314 + +2009-01-13 18:34 +0000 [r168551] Terry Wilson <twilson@digium.com> + + * channels/chan_sip.c: Don't pass a value with a side effect to a + macro (closes issue #14176) Reported by: paraeco Patches: + chan_sip.c.diff uploaded by paraeco (license 658) + +2009-01-13 17:48 +0000 [r168546] Tilghman Lesher <tlesher@digium.com> + + * funcs/func_logic.c: If either conditional is NULL, don't try + copying it. (closes issue #14226) Reported by: caspy Patches: + 20090113__bug14226.diff.txt uploaded by Corydon76 (license 14) + +2009-01-12 21:42 +0000 [r168507-168516] Jeff Peeler <jpeeler@digium.com> + + * res/res_agi.c: (closes issue #13881) Reported by: hoowa Update + the app CDR field for AGI commands that are not executing an + application via "exec". + + * channels/chan_agent.c: (closes issue #12269) Reported by: IgorG + Tested by: denisgalvao This gits rid of the notion of an + owning_app allowing the request and hangup to be initiated by + different threads. Originating from an active agent channel + requires this. The implementation primarily changes __login_exec + to wait on a condition variable rather than a lock. Review: + http://reviewboard.digium.com/r/35/ + +2009-01-12 14:58 +0000 [r168482] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: I am reverting the fix made in revision + 168128 (and its upward merges) after being contacted by Olle + Johansson and being shown how this fix is incorrect. Thanks to + Olle for clearing this up for me. + +2009-01-12 14:57 +0000 [r168480] Russell Bryant <russell@digium.com> + + * configs/indications.conf.sample: s/ringdance/ringcadence/ for + Bulgaria + +2009-01-10 20:47 +0000 [r168267-168382] Kevin P. Fleming <kpfleming@digium.com> + + * README: small commit to test new server + + * README: small commit to test new server + + * sounds/Makefile: update to use new sound file packages that + include license files + +2009-01-09 22:14 +0000 [r168198] Russell Bryant <russell@digium.com> + + * res/res_musiconhold.c: Make this compile for mvanbaak + +2009-01-09 21:28 +0000 [r168191] Richard Mudgett <rmudgett@digium.com> + + * channels/chan_misdn.c: * Fix for JIRA AST-175/ABE-1757 * + Miscellaneous doxygen comments added. + +2009-01-09 20:08 +0000 [r168128] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Add check_via calls to more request handlers + INFO, NOTIFY, OPTIONS, REFER, and MESSAGE requests were not + checking the topmost Via to determine where to send the response. + Adding check_via calls to those request handlers solves this. + (closes issue #13071) Reported by: baron Patches: check_via.patch + uploaded by baron (license 531) Tested by: baron + +2009-01-08 22:08 +0000 [r167840] Tilghman Lesher <tlesher@digium.com> + + * res/res_agi.c: Don't truncate database results at 255 chars. + (closes issue #14069) Reported by: evandro Patches: + 20081214__bug14069.diff.txt uploaded by Corydon76 (license 14) + +2009-01-08 17:24 +0000 [r167620-167714] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_sip.c: remove an unnecessary argument to + queue_request() + + * channels/chan_sip.c: When a SIP request or response arrives for a + dialog with an associated Asterisk channel, and the lock on that + channel cannot be obtained because it is held by another thread, + instead of dropping the request/response, queue it for later + processing when the channel lock becomes available. + http://reviewboard.digium.com/r/117/ + +2009-01-07 22:35 +0000 [r167432-167566] Russell Bryant <russell@digium.com> + + * main/file.c: Fix the last couple of places where free() was + improperly used directly. + + * main/file.c: Don't fclose() the file early, the filestream + destructor will handle it. + + * main/file.c: Only try to close the file if one was actually + opened + + * main/file.c: Don't use free() directly. This caused a crash since + ast_filestream is now an ao2 object. Reported by JunK-Y on IRC, + #asterisk-dev + + * main/indications.c: Treat an empty string the same way as a NULL + country argument. In passing, simplify the handling of returning + a default tone zone. + +2009-01-06 21:35 +0000 [r167299] Mark Michelson <mmichelson@digium.com> + + * main/db.c: Use the correct variable when creating the format + string (closes issue #14177) Reported by: nic_bellamy Patches: + asterisk-trunk-svn-r167242-ast_db_gettree.patch uploaded by nic + (license 299) + +2009-01-06 20:48 +0000 [r167260] Tilghman Lesher <tlesher@digium.com> + + * /, channels/chan_iax2.c: Merged revisions 167259 via svnmerge + from https://origsvn.digium.com/svn/asterisk/branches/1.2 + ........ r167259 | tilghman | 2009-01-06 14:44:03 -0600 (Tue, 06 + Jan 2009) | 2 lines Security fix AST-2009-001. ........ + +2009-01-05 16:51 +0000 [r167179] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: A couple of changes to T.38 SDP attribute + handling There are some boolean attributes for T.38 such as + T38FaxFillBitRemoval, T38FaxTranscodingMMR, and + T38FaxTranscodingJBIG. By simply being present, we should treat + these as a "true" value. The current code, however, was requiring + a 1 or 0 as the value of the attribute in order to parse it. This + is due to the fact that there are some T.38 endpoints and + gateways that also transmit this information incorrectly. This + patch follows the "be liberal in what you accept and strict in + what you send" philosophy by accepting both the correctly- and + incorrectly-formatted attributes, but only sending information as + it is supposed to be sent. It was also discovered that a + particular type of T.38 gateway sends some non-standard T.38 SDP + attributes. Instead of using T38FaxMaxDatagram and T38MaxBitRate, + it used T38MaxDatagram and T38FaxMaxRate respectively. We now + will properly accept these attributes as well. Note that there + are a lot of patches cited in the below commit message template. + This is because the person who submitted these patches is an + awesome person and wrote 1.4, 1.6.0, and 1.6.1 variants. (closes + issue #13976) Reported by: linulin Patches: + chan_sip.c.1.4-update1.diff uploaded by arcivanov (license 648) + chan_sip.c.1.6.0-update1.diff uploaded by arcivanov (license 648) + chan_sip.c.1.6.1-update1.diff uploaded by arcivanov (license 648) + chan_sip.c.1.4-relaxedT38_update1.diff uploaded by arcivanov + (license 648) chan_sip.c.1.6.0-relaxedT38_update1.diff uploaded + by arcivanov (license 648) + chan_sip.c.1.6.1-relaxedT38_update1.diff uploaded by arcivanov + (license 648) Tested by: arcivanov + +2009-01-01 00:01 +0000 [r166953-167095] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_alsa.c: Repeat attempts to write when we receive + -EAGAIN from the driver, as detailed in the ALSA sample code (see + http://www.alsa-project.org/alsa-doc/alsa-lib/_2test_2pcm_8c-example.html#a32) + Reported by: Jerry Geis (via the -users list) Fixed by: me + (license 14) + + * channels/chan_local.c: Also inherit the musiconhold class. + (Closes #14153) Reported by: Jerry Geis, via the users list. + Patch by: me (license 14) + +2008-12-28 15:13 +0000 [r166772] Russell Bryant <russell@digium.com> + + * channels/misdn_config.c: Use strncat() instead of an sprintf() in + which source and target buffers overlap + http://lists.digium.com/pipermail/asterisk-dev/2008-December/035919.html + +2008-12-23 15:35 +0000 [r166592] Tilghman Lesher <tlesher@digium.com> + + * main/asterisk.c, channels/chan_iax2.c: Compile, even if both + DAHDI and Zaptel are not installed. (Closes issue #14120) + +2008-12-23 15:16 +0000 [r166568] Mark Michelson <mmichelson@digium.com> + + * main/channel.c: Fix a crash resulting from a datastore with + inheritance but no duplicate callback The fix for this is to + simply set the newly created datastore's data pointer to NULL if + it is inherited but has no duplicate callback. (closes issue + #14113) Reported by: francesco_r Patches: 14113.patch uploaded by + putnopvut (license 60) Tested by: francesco_r + +2008-12-23 04:05 +0000 [r166509] Tilghman Lesher <tlesher@digium.com> + + * main/channel.c: Use the integer form of condition for integer + comparisons. (closes issue #14127) Reported by: andrew + +2008-12-22 20:56 +0000 [r166380] Mark Michelson <mmichelson@digium.com> + + * channels/chan_dahdi.c: Fix a deadlock relating to channel locks + and autoservice It has been discovered that if a channel is + locked prior to a call to ast_autoservice_stop, then it is likely + that a deadlock will occur. The reason is that the call to + ast_autoservice_stop has a check built into it to be sure that + the thread running autoservice is not currently trying to + manipulate the channel we are about to pull out of autoservice. + The autoservice thread, however, cannot advance beyond where it + currently is, though, because it is trying to acquire the lock of + the channel for which autoservice is attempting to be stopped. + The gist of all this is that a channel MUST NOT be locked when + attempting to stop autoservice on the channel. In this particular + case, the channel was locked by a call to ast_read. A call to + ast_exists_extension led to autoservice being started and stopped + due to the existence of dialplan switches. It may be that there + are future commits which handle the same symptoms but in a + different location, but based on my looks through the code, it is + very rare to see a construct such as this one. (closes issue + #14057) Reported by: rtrauntvein Patches: 14057v3.patch uploaded + by putnopvut (license 60) Tested by: rtrauntvein Review: + http://reviewboard.digium.com/r/107/ + +2008-12-22 17:22 +0000 [r166262-166297] Russell Bryant <russell@digium.com> + + * main/utils.c: Fix up timeout handling in ast_carefulwrite(). + + * include/asterisk/strings.h, res/res_musiconhold.c: Re-work ref + count handling of MoH classes using astobj2 to resolve crashes. + (closes issue #13566) Reported by: igorcarneiro Tested by: + russell Review: http://reviewboard.digium.com/r/106/ + +2008-12-19 23:34 +0000 [r166157] Mark Michelson <mmichelson@digium.com> + + * main/channel.c, funcs/func_audiohookinherit.c (added), + channels/chan_sip.c, include/asterisk/audiohook.h, + main/audiohook.c, CHANGES: Backport of AUDIOHOOK_INHERIT for + Asterisk 1.4 (closes issue #13538) Reported by: mbit Patches: + 13538.patch uploaded by putnopvut (license 60) Tested by: + putnopvut + +2008-12-19 22:30 +0000 [r166093] Steve Murphy <murf@digium.com> + + * apps/app_dial.c, res/res_features.c, include/asterisk/pbx.h, + apps/app_queue.c: This merges the masqpark branch into 1.4 These + changes eliminate the need for (and use of) the KEEPALIVE return + code in res_features.c; There are other places that use this + result code for similar purposes at a higher level, these appear + to be left alone in 1.4, but attacked in trunk. The reason these + changes are being made in 1.4, is that parking ends a channel's + life, in some situations, and the code in the bridge (and some + other places), was not checking the result code properly, and + dereferencing the channel pointer, which could lead to memory + corruption and crashes. Calling the masq_park function eliminates + this danger in higher levels. A series of previous commits have + replaced some parking calls with masq_park, but this patch puts + them ALL to rest, (except one, purposely left alone because a + masquerade is done anyway), and gets rid of the code that tests + the KEEPALIVE result, and the NOHANGUP_PEER result codes. While + bug 13820 inspired this work, this patch does not solve all the + problems mentioned there. I have tested this patch (again) to + make sure I have not introduced regressions. Crashes that + occurred when a parked party hung up while the parking party was + listening to the numbers of the parking stall being assigned, is + eliminated. These are the cases where parking code may be + activated: 1. Feature one touch (eg. *3) 2. Feature blind xfer to + parking lot (eg ##700) 3. Run Park() app from dialplan (eg sip + xfer to 700) (eg. dahdi hookflash xfer to 700) 4. Run Park via + manager. The interesting testing cases for parking are: I. A + calls B, A parks B a. B hangs up while A is getting the numbers + announced. b. B hangs up after A gets the announcement, but + before the parking time expires c. B waits, time expires, A is + redialed, A answers, B and A are connected, after which, B hangs + up. d. C picks up B while still in parking lot. II. A calls B, B + parks A a. A hangs up while B is getting the numbers announced. + b. A hangs up after B gets the announcement, but before the + parking time expires c. A waits, time expires, B is redialed, B + answers, A and B are connected, after which, A hangs up. d. C + picks up A while still in parking lot. Testing this throroughly + involves acting all the permutations of I and II, in situations + 1,2,3, and 4. Since I added a few more changes (ALL references to + KEEPALIVE in the bridge code eliimated (I missed one earlier), I + retested most of the above cases, and no crashes. H-extension + weirdness. Current h-extension execution is not completely + correct for several of the cases. For the case where A calls B, + and A parks B, the 'h' exten is run on A's channel as soon as the + park is accomplished. This is expected behavior. But when A calls + B, and B parks A, this will be current behavior: After B parks A, + B is hung up by the system, and the 'h' (hangup) exten gets run, + but the channel mentioned will be a derivative of A's... Thus, if + A is DAHDI/1, and B is DAHDI/2, the h-extension will be run on + channel Parked/DAHDI/1-1<ZOMBIE>, and the start/answer/end info + will be those relating to Channel A. And, in the case where A is + reconnected to B after the park time expires, when both parties + hang up after the joyful reunion, no h-exten will be run at all. + In the case where C picks up A from the parking lot, when either + A or C hang up, the h-exten will be run for the C channel. CDR's + are a separate issue, and not addressed here. As to WHY this + strange behavior occurs, the answer lies in the procedure + followed to accomplish handing over the channel to the parking + manager thread. This procedure is called masquerading. In the + process, a duplicate copy of the channel is created, and most of + the active data is given to the new copy. The original channel + gets its name changed to XXX<ZOMBIE> and keeps the PBX + information for the sake of the original thread (preserving its + role as a call originator, if it had this role to begin with), + while the new channel is without this info and becomes a call + target (a "peer"). In this case, the parking lot manager thread + is handed the new (masqueraded) channel. It will not run an + h-exten on the channel if it hangs up while in the parking lot. + The h exten will be run on the original channel instead, in the + original thread, after the bridge completes. See bug 13820 for + our intentions as to how to clean up the h exten behavior. + Review: http://reviewboard.digium.com/r/29/ + +2008-12-19 19:48 +0000 [r165991] Jeff Peeler <jpeeler@digium.com> + + * include/asterisk/dahdi_compat.h, main/asterisk.c, main/channel.c, + apps/app_dahdibarge.c, channels/chan_dahdi.c, apps/app_meetme.c, + apps/app_dahdiscan.c, codecs/codec_dahdi.c, + res/res_musiconhold.c, channels/chan_iax2.c: (closes issue + #13480) Reported by: tzafrir Replace a bunch of if defined checks + for Zaptel/DAHDI through several new defines in dahdi_compat.h. + This removes a lot of code duplication. Example from bug: #ifdef + HAVE_ZAPTEL fd = open("/dev/zap/pseudo", O_RDWR); #else fd = + open("/dev/dahdi/pseudo", O_RDWR); #endif is replaced with: fd = + open(DAHDI_FILE_PSEUDO, O_RDRW); + +2008-12-19 15:03 +0000 [r165796-165889] Russell Bryant <russell@digium.com> + + * apps/app_chanspy.c: Ensure that the chanspy datastore is fully + initialized. This patch resolved some random crash issues + observed by a user on a BSD system (closes issue #14111) Reported + by: ys Patches: app_chanspy.c.diff uploaded by ys (license 281) + + * main/utils.c: Make ast_carefulwrite() be more careful. This patch + handles some additional cases that could result in partial writes + to the file description. This was done to address complaints + about partial writes on AMI. (issue #13546) (more changes needed + to address potential problems in 1.6) Reported by: srt Tested by: + russell Review: http://reviewboard.digium.com/r/99/ + +2008-12-18 21:14 +0000 [r165767] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: Add mutexes around accesses to the IMAP + library interface. This prevents certain crashes, especially when + shared mailboxes are used. (closes issue #13653) Reported by: + howardwilkinson Patches: + asterisk-1.4.21.2-appvoicemail-sharedimap-lock.patch uploaded by + howardwilkinson (license 590) Tested by: jpeeler + +2008-12-18 18:52 +0000 [r165661] Russell Bryant <russell@digium.com> + + * res/res_musiconhold.c: Set the process group ID on the MOH + process so that all children will get killed (closes issue + #14099) Reported by: caspy Patches: + res_musiconhold.c.patch.killpg.try2 uploaded by caspy (license + 645) + +2008-12-18 17:11 +0000 [r165537-165591] Joshua Colp <jcolp@digium.com> + + * main/rtp.c: Only care about a compatible codec for early bridging + if we are actually bridging to another channel. If we are not we + actually want to bring the audio back to us. (closes issue + #13545) Reported by: davidw + + * apps/app_followme.c: Do not crash if we are not passed in a + followme id. (closes issue #14106) Reported by: ys Patches: + app_followme.c.2.diff uploaded by ys (license 281) + +2008-12-17 Russell Bryant <russell@digium.com> + + * Asterisk 1.4.23-rc3 released. + +2008-12-17 21:14 +0000 [r165317] Tilghman Lesher <tlesher@digium.com> + + * apps/app_macro.c: Reverse the fix from issue #6176 and add proper + handling for that issue. (Closes issue #13962, closes issue + #13363) Fixed by myself (license 14) + +2008-12-17 20:51 +0000 [r164977-165255] Mark Michelson <mmichelson@digium.com> + + * apps/app_meetme.c, apps/app_realtime.c, apps/app_directory.c, + apps/app_queue.c: Fix some memory leaks found while looking at + how realtime configs are handled. Also cleaned up some coding + guidelines violations in app_realtime.c, mostly related to + spacing + + * channels/chan_sip.c: After looking through SIP registration code + most of the day, this is one of the few things I could find that + was just plain wrong. Even though it probably isn't possible for + it to happen, it seems weird to have code that checks if a + pointer is NULL and then immediately dereferences that pointer if + it was NULL. + +2008-12-16 21:38 +0000 [r164672-164881] Russell Bryant <russell@digium.com> + + * main/utils.c: Fix an issue where DEBUG_THREADS may erroneously + report that a thread is exiting while holding a lock. If the last + lock attempt was a trylock, and it failed, it will still be in + the list of locks so that it can be reported. (closes issue + #13219) Reported by: pj + + * apps/app_macro.c: Do not dereference the channel if + AST_PBX_KEEPALIVE has been returned. This is a bug I noticed + while looking at the code for app_macro. This return code means + that another thread has assumed ownership of the channel and it + can no longer be touched. (I hate this return code with a + passion, by the way.) + + * main/manager.c: Add "restart gracefully" to the AMI blacklist of + CLI commands. "module unload" was already identified as a command + that can not be used from the AMI. "restart gracefully" + effectively unloads all modules, and will run in to the same + problems. (closes issue #13894) Reported by: kernelsensei + + * include/asterisk/threadstorage.h, main/threadstorage.c: Fix + memory leak and invalid reporting issues with DEBUG_THREADLOCALS. + One issue was that the ast_mutex_* API was being used within the + context of the thread local data destructors. We would go off and + allocate more thread local data while the pthread lib was in the + middle of destroying it all. This led to a memory leak. Another + issue was an invalid argument being provided to the the + object_add API call. (closes issue #13678) Reported by: ys Tested + by: Russell + + * channels/chan_sip.c: Fix a memory leak related to the use of the + "setvar" configuration option. The problem was that these + variables were being appended to the list of vars on the sip_pvt + every time a re-registration or re-subscription came in. Since + it's just a waste of memory to put them there unless the request + was an INVITE, then the fix is to check the request type before + copying the vars. (closes issue #14037) Reported by: marvinek + Tested by: russell + +2008-12-16 15:15 +0000 [r164634] Steve Murphy <murf@digium.com> + + * main/pbx.c: I added a sentence to clarify why - and ' ' are + ignored in patterns as per bug 14076. Leif says he'll put some + stuff about it in the extensions.conf sample, etc. + +2008-12-16 14:28 +0000 [r164605] Russell Bryant <russell@digium.com> + + * res/res_musiconhold.c: Don't try to change working directory if a + directory was not configured. (closes issue #14089) Reported by: + caspy + +2008-12-15 19:53 +0000 [r164416-164422] Mark Michelson <mmichelson@digium.com> + + * include/asterisk/pbx.h: Add the deadlock note to + ast_spawn_extension as well + + * include/asterisk/channel.h, include/asterisk/pbx.h: Add notes to + autoservice and pbx doxygen regarding a potential deadlock + scenario so that it is avoided in the future + +2008-12-15 18:11 +0000 [r164204-164350] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: Do not try to unlock a non-existant channel + if the transfer fails. (closes issue #13800) Reported by: dwagner + Patches: asterisk-1.4.22-chan-sip-nullp.patch uploaded by tweety + (license 608) + + * configure, include/asterisk/autoconfig.h.in, configure.ac, + include/asterisk/channel.h: Use autoconf logic to determine + whether the system has timersub or not. Do not blindly assume + Solaris does not. (closes issue #13838) Reported by: ano + + * apps/app_dial.c: Can we try not to assign an unsigned int to -1? + (closes issue #14074) Reported by: wetwired + +2008-12-15 14:31 +0000 [r164201] Russell Bryant <russell@digium.com> + + * main/channel.c, res/res_features.c: Handle a case where a call + can be bridged to a channel that is still ringing. The issue that + was reported was about a case where a RINGING channel got + redirected to an extension to pick up a call from parking. Once + the parked call got taken out of parking, it heard silence until + the other side answered. Ideally, the caller that was parked + would get a ringing indication. This patch fixes this case so + that the caller receives ringback once it comes out of parking + until the other side answers. The fixes are: - Make sure we + remember that a channel was an outgoing channel when doing a + masquerade. This prevents an erroneous ast_answer() call on the + channel, which causes a bogus 200 OK to be sent in the case of + SIP. - Add some additional comments to explain related parts of + code. - Update the handling of the ast_channel visible_indication + field. Storing values that are not stateful is pointless. Control + frames that are events or commands should be ignored. - When a + bridge first starts, check to see if the peer channel needs to be + given ringing indication because the calling side is still + ringing. - Rework ast_indicate_data() a bit for the sake of + readability. (closes issue #13747) Reported by: davidw Tested by: + russell Review: http://reviewboard.digium.com/r/90/ + +2008-12-13 23:22 +0000 [r164082] Tilghman Lesher <tlesher@digium.com> + + * apps/app_dial.c: Change the default calldurationlimit from the + special value 0 to -1, so we can better detect an exceptional + case. This follows on to the changes made in revision 156386. + Related to issue #13851. (closes issue #13974) Reported by: + paradise Patches: 20081208__bug13974.diff.txt uploaded by + Corydon76 (license 14) Tested by: file, blitzrage, ZX81 + +2008-12-12 22:20 +0000 [r163785] Russell Bryant <russell@digium.com> + + * /: Set the reviewboard:url property on 1.4, as well + +2008-12-12 22:03 +0000 [r163761] Tilghman Lesher <tlesher@digium.com> + + * main/asterisk.c, main/editline/read.c: Simple fix for Ctrl-C not + immediately exiting Asterisk, but also add a pointer inside + editline to look back to asterisk.c, so others don't spend as + much time as I did looking (in the wrong place) for the + appropriate function. Reported by: ZX81, via the #asterisk-users + channel Fixed by: me (license 14) + +2008-12-12 14:40 +0000 [r163448-163511] Russell Bryant <russell@digium.com> + + * pbx/pbx_dundi.c: Specify uint32_t for variables storing a CRC32 + so that it is actually 32 bits on 64-bit machines, as well. + (inspired by issue #13879) + + * main/channel.c, main/autoservice.c, include/asterisk/channel.h: + Resolve issues that could cause DTMF to be processed out of + order. These changes come from team/russell/issue_12658 1) Change + autoservice to put digits on the head of the channel's frame + readq instead of the tail. If there were frames on the readq that + autoservice had not yet read, the previous code would have + resulted in out of order processing. This required a new API call + to queue a frame to the head of the queue instead of the tail. 2) + Change up the processing of DTMF in ast_read(). Some of the + problems were the result of having two sources of pending DTMF + frames. There was the dtmfq and the more generic readq. Both were + used for pending DTMF in various scenarios. Simplifying things to + only use the frame readq avoids some of the problems. 3) Fix a + bug where a DTMF END frame could get passed through when it + shouldn't have. If code set END_DTMF_ONLY in the middle of digit + emulation, and a digit arrived before emulation was complete, + digits would get processed out of order. (closes issue #12658) + Reported by: dimas Tested by: russell, file Review: + http://reviewboard.digium.com/r/85/ + +2008-12-11 23:35 +0000 [r163383] Tilghman Lesher <tlesher@digium.com> + + * main/asterisk.c: When a Ctrl-C or Ctrl-D ends a remote console, + on certain shells, the terminal is messed up. By intercepting + those events with a signal handler in the remote console, we can + avoid those issues. (closes issue #13464) Reported by: tzafrir + Patches: 20081110__bug13464.diff.txt uploaded by Corydon76 + (license 14) Tested by: blitzrage + +2008-12-11 22:44 +0000 [r163316] Matt Nicholson <mnicholson@digium.com> + + * pbx/pbx_dundi.c: Clean up the dundi cache every 5 minutes. + (closes issue #13819) Reported by: adomjan Patches: + pbx_dundi.c-clearcache.patch uploaded by adomjan (license 487) + dundi_clearecache3.diff uploaded by mnicholson (license 96) + Tested by: adomjan + +2008-12-11 21:46 +0000 [r163092-163253] Russell Bryant <russell@digium.com> + + * funcs/func_strings.c, funcs/func_cut.c: Fix some observed + slowdowns in dialplan processing. The change is to remove + autoservice usage from dialplan functions that do not need it + because they do not perform operations that potentially block. + (closes issue #13940) Reported by: tbelder + + * res/res_features.c: Fix an issue that made it so you could only + have a single caller executing a custom feature at a time. This + was especially problematic when custom features ran for any + appreciable amount of time. The fix turned out to be quite + simple. The dynamic features are now stored in a read/write list + instead of a list using a mutex. (closes issue #13478) Reported + by: neutrino88 Fix suggested by file + +2008-12-11 16:51 +0000 [r163088] Tilghman Lesher <tlesher@digium.com> + + * res/res_agi.c: Don't wait forever, if there's a specified + recording timeout. (closes issue #13885) Reported by: bamby + Patches: res_agi.c.patch uploaded by bamby (license 430) + +2008-12-11 16:46 +0000 [r163080-163084] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: Revert this cast to long. Using time_t here + causes build failures on a FreeBSD 32-bit build. + + * apps/app_queue.c: Fix a potential crash due to unsafe datastore + handling. This patch also contains a conversion from using long + to time_t for representing times for a queue, as well as some + whitespace fixes. (closes issue #14060) Reported by: nivek + Patches: datastore_fixup.patch.corrected uploaded by nivek + (license 636) with slight modification from me Tested by: nivek + +2008-12-10 22:52 +0000 [r162874-162926] Jeff Peeler <jpeeler@digium.com> + + * res/res_musiconhold.c: Oops, inverted logic for a strcasecmp + check. Pointed out by mmichelson, thanks! + + * res/res_musiconhold.c: (closes issue #13229) Reported by: + clegall_proformatique Ensure that moh_generate does not return + prematurely before local_ast_moh_stop is called. Also, the sleep + in mp3_spawn now only occurs for http locations since it seems to + have been added originally only for failing media streams. + +2008-12-10 19:01 +0000 [r162738-162804] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: Fix subscription based MWI up a bit. We only + want to put sip: at the beginning of the URI if it is not already + there and revert code to ignore destination check if subscribing + for MWI. (closes issue #12560) Reported by: vsauer Patches: + patch001.diff uploaded by ramonpeek (license 266) + + * channels/chan_sip.c: When a SIP peer unregisters set the expiry + time back to 0 so that the 200 OK contains an expires of 0. + (closes issue #13599) Reported by: hjourdain Patches: + chan_sip.c.diff uploaded by hjourdain (license 583) + +2008-12-10 16:45 +0000 [r162671] Steve Murphy <murf@digium.com> + + * pbx/ael/ael_lex.c, pbx/ael/ael.flex: (closes issue #14022) + Reported by: wetwired Tested by: murf I checked, and I added a + mod to the trunk version of Asterisk that would make it 8-bit + transparent on 27 Nov 2007, but I made no such updates to 1.4. My + best guess is that 1.4 was released, and it was not appropriate + to commit an enhancement. But I'm going to add the same fixes to + 1.4 now, for the following reasons: 1. wetwired is correct; 1.4 + is **mostly** 8-bit transparent now. This is because the lexical + token forming rules use . in most 'word' state continuances. It's + just the beginning of a 'word' that is picky. 2. Accepting 8-bit + chars in some places and not others leads to bug reports like + this. + +2008-12-10 16:44 +0000 [r162659-162670] Mark Michelson <mmichelson@digium.com> + + * include/asterisk/stringfields.h: Update to stringfield handling + so that side-effects on parameters are not evaluated multiple + times. An example where this caused a problem was in chan_sip.c, + with the line ast_string_field_set(p, fromdomain, ++fromdomain); + This patch was originally uploaded to issue #13783 by jamessan. + While the issue was closed for other reasons, this patch is valid + and fixes a separate problem, and is thus being committed. + + * channels/chan_sip.c: Revert fix for issue 13570. It has caused + more problems than it helped to fix. (closes issue #13783) + Reported by: navkumar (closes issue #14025) Reported by: ffs + + * doc/misdn.txt: Add missing documentation to misdn.txt (closes + issue #14052) Reported by: festr Patches: misdn.txt.patch + uploaded by festr (license 443) + +2008-12-10 16:05 +0000 [r162653] Joshua Colp <jcolp@digium.com> + + * main/rtp.c: Increment the sequence number on the end packets for + RFC2833. After reading the RFC some more and doing some testing I + agree with this change. (closes issue #12983) Reported by: vt + Patches: dtmf_inc_seqnum_on_end_pkts.diff uploaded by vt (license + 520) + +2008-12-09 23:08 +0000 [r162463] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: Oops, should be "tz", not "zonetag". + +2008-12-09 22:17 +0000 [r162413] Russell Bryant <russell@digium.com> + + * main/asterisk.c, include/asterisk/utils.h, main/utils.c: Remove + the test_for_thread_safety() function completely. The test is not + valid. Besides, if we actually suspected that recursive mutexes + were not working, we would get a ton of LOG_ERROR messages when + DEBUG_THREADS is turned on. (inspired by a discussion on the + asterisk-dev list) + +2008-12-09 21:53 +0000 [r162348] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: We appear to have documented tz= in the + [general] section of voicemail.conf, without actually having + implemented it. Oops. (Reported by Olivier on the -users list) + +2008-12-09 21:14 +0000 [r162341] Joshua Colp <jcolp@digium.com> + + * apps/app_directed_pickup.c: Add 'down' as a valid state for + directed call pickup. This creeps up when we receive session + progress when dialing a device and not ringing. (closes issue + #14005) Reported by: ddl + +2008-12-09 20:57 +0000 [r162286] Russell Bryant <russell@digium.com> + + * apps/app_meetme.c: Fix an issue where callers on an incoming call + on an SLA trunk would not hear ringback. We need to make sure + that we don't start writing audio to the trunk channel until + we're actually ready to answer it. Otherwise, the channel driver + will treat it as inband progress, even though all they are + getting is silence. (closes issue #12471) Reported by: mthomasslo + +2008-12-09 20:44 +0000 [r162273] Joshua Colp <jcolp@digium.com> + + * apps/app_festival.c: Fix double declaration of 'x' on the PPC + platform. (closes issue #14038) Reported by: ffloimair + +2008-12-09 20:28 +0000 [r162265] Mark Michelson <mmichelson@digium.com> + + * main/pbx.c: If we fail to start a thread for the pbx to run in, + we need to be sure to decrease the number of active calls on the + system. This fix may relate to ABE-1713, but it is not certain + yet. + +2008-12-09 20:20 +0000 [r162264] Steve Murphy <murf@digium.com> + + * pbx/ael/ael_lex.c, pbx/ael/ael.flex: In discussion with + seanbright on #asterisk-dev, I have added a default rule, and an + option to suppress the default rule from being generated in the + flex output, for the sake of those OS's where they didn't tweak + flex's ECHO macro, and the compiler doesn't like it. The + regressions are OK with this. + +2008-12-09 19:47 +0000 [r162188-162204] Joshua Colp <jcolp@digium.com> + + * main/rtp.c: Make sure that the timestamp for DTMF is not the same + as the previous voice frame and do not send audio when + transmitting DTMF as this confuses some equipment. (closes issue + #13209) Reported by: ip-rob Patches: 13209.diff uploaded by file + (license 11) Tested by: ip-rob, bujones + + * main/rtp.c: Take video into account when early bridging RTP. + (closes issue #13535) Reported by: davidw + +2008-12-09 18:13 +0000 [r162136] Steve Murphy <murf@digium.com> + + * pbx/ael/ael_lex.c, pbx/ael/ael.flex: Previous fix used ast_malloc + and ast_copy_string and messed up the standalone stuff. Fixed. + +2008-12-09 17:07 +0000 [r162071] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_phone.c: For some reason, after a distclean, gcc + started returning 'value computed is not used'. Fixing (for + --enable-dev-mode). + +2008-12-09 16:46 +0000 [r162014] Russell Bryant <russell@digium.com> + + * apps/app_disa.c: Allow DISA to handle extensions that start with + #. (closes issue #13330) Reported by: jcovert + +2008-12-09 16:31 +0000 [r162013] Steve Murphy <murf@digium.com> + + * pbx/ael/ael_lex.c, pbx/pbx_ael.c, include/asterisk/ael_structs.h, + pbx/ael/ael.flex: (closes issue #14019) Reported by: ckjohnsonme + Patches: 14019.diff uploaded by murf (license 17) Tested by: + ckjohnsonme, murf This crash was the result of a few small errors + that would combine in 64-bit land to result in a crash. 32-bit + land might have seen these combine to mysteriously drop the args + to an application call, in certain circumstances. Also, in trying + to find this bug, I spotted a situation in the flex input, where, + in passing back a 'word' to the parser, it would allocate a + buffer larger than necessary. I changed the usage in such + situations, so that strdup was not used, but rather, an + ast_malloc, followed by ast_copy_string. I removed a field from + the pval struct, in u2, that was never getting used, and set in + one spot in the code. I believe it was an artifact of a previous + fix to make switch cases work invisibly with extens. And, for + goto's I removed a '!' from before a strcmp, that has been there + since the initial merging of AEL2, that might prevent the proper + target of a goto from being found. This was pretty harmless on + its own, as it would just louse up a consistency check for users. + Many thanks to ckjohnsonme for providing a simplified and + complete set of information about the bug, that helped + considerably in finding and fixing the problem. Now, to get + aelparse up and running again in trunk, and out of its "horribly + broken" state, so I can run the regression suite! + +2008-12-09 14:52 +0000 [r161948] Russell Bryant <russell@digium.com> + + * main/app.c: Fix a problem with GROUP() settings on a masquerade. + The previous code carried over group settings from the old + channel to the new one. However, it did nothing with the group + settings that were already on the new channel. This patch removes + all group settings that already existed on the new channel. I + have a more complicated version of this patch which addresses + only the most blatant problem with this, which is that a channel + can end up with multiple group settings in the same category. + However, I could not think of a use case for keeping any of the + group settings from the old channel, so I went this route for + now. (closes AST-152) + +2008-12-08 17:52 +0000 [r161725] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: Make the usereqphone option work again. + (closes issue #13474) Reported by: mmaguire Patches: + 20080912_bug13474.diff uploaded by mmaguire (license 571) + +2008-12-05 21:02 +0000 [r161426] Sean Bright <sean.bright@gmail.com> + + * main/astobj2.c, /, include/asterisk/astobj2.h: Merged revisions + 161421 via svnmerge from + https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ + r161421 | seanbright | 2008-12-05 15:50:23 -0500 (Fri, 05 Dec + 2008) | 8 lines Fix build errors on FreeBSD (uint -> unsigned + int). (closes issue #14006) Reported by: alphaque Patches: + astobj2.h-patch uploaded by alphaque (license 259) (Slightly + modified by seanbright) ........ + +2008-12-05 16:51 +0000 [r161354] Dwayne M. Hubbard <dhubbard@digium.com> + + * utils/smsq.c: kill a warning + +2008-12-05 14:12 +0000 [r161287] Russell Bryant <russell@digium.com> + + * main/pbx.c: Fix a NULL format string warning found by buildbot. + +2008-12-04 18:30 +0000 [r161013] Jeff Peeler <jpeeler@digium.com> + + * main/rtp.c: (closes issue #13835) Reported by: matt_b Tested by: + jpeeler This mirrors a check that was present in ast_rtp_read to + also be in ast_rtp_raw_write to not schedule sending the receiver + report if the remote RTCP endpoint address isn't present in the + RTCP structure. Closes AST-142. + +2008-12-04 16:44 +0000 [r160943] Mark Michelson <mmichelson@digium.com> + + * main/callerid.c: Fix a callerid parsing issue. If someone + formatted callerid like the following: "name <number>" (including + the quotation marks), then the parts would be parsed as name: + "name number: number This is because the closing quotation mark + was not discovered since the number and everything after was + parsed out of the string earlier. Now, there is a check to see if + the closing quote occurs after the number, so that we can know if + we should strip off the opening quote on the name. Closes AST-158 + +2008-12-03 21:54 +0000 [r160770] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: Some compilers warn on null format strings; + some don't (caught by buildbot) + +2008-12-03 21:38 +0000 [r160764] Jason Parker <jparker@digium.com> + + * channels/chan_agent.c: Only show this warning when we want to + show it. (closes issue #13982) Reported by: coolmig Patches: + chan_agent.c.patch uploaded by coolmig (license 621) + +2008-12-03 20:41 +0000 [r160703] Steve Murphy <murf@digium.com> + + * funcs/func_callerid.c: (closes issue #13597) Reported by: + john8675309 Patches: patch.13597 uploaded by murf (license 17) + Tested by: murf, john8675309 This patch causes the setcid func to + update the CDR clid after setting the channel field. + +2008-12-03 17:55 +0000 [r160480-160570] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_iax2.c: During bridge code, the channel bridge may + return a retry code, if a transfer was initiated but not yet + completed. If the bridge is immediately retried, then we may send + a storm of TXREQ packets, even though the first set is sent + reliably (retransmitted). Fixes AST-137. + + * pbx/pbx_spool.c: If an entry is added to the directory during a + scan when another entry expires, then that new entry will not be + processed promptly, but must wait for either a future entry to + start or a current entry's retry to occur. If no other entries + exist in the directory (other than the new entries) when a bunch + expire, then the new entries must wait until another new entry is + added to be processed. This was a rather weird race condition, + really. Fixes AST-147. + + * pbx/pbx_spool.c: Don't start scanning the directory until all + modules are loaded, because some required modules (channels, + apps, functions) may not yet be in memory yet. Fixes AST-149. + + * channels/chan_sip.c: Jon Bonilla (Manwe) pointed out on the -dev + list: "I guess that having only ip-phones in mind is not a good + approach. Since it is possible to have a sip proxy connected to + asterisk we could receive a 407 (unauthorized) or 483 (too many + hops) as response and dialog ending would not be a good + behavior." So modified. + +2008-12-02 23:58 +0000 [r160390-160411] Terry Wilson <twilson@digium.com> + + * res/res_features.c: Channel is masqueraded, don't keep alive + + * res/res_features.c: A situation like A calls B, A builtin_atxfers + B to C, C parks B would lead to a crash. Thanks to file for + telling me how to fix it! (closes issue #13854) Reported by: Adam + Lee Tested by: otherwiseguy + +2008-12-02 17:42 +0000 [r160297] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_sip.c: When the text does not match exactly (e.g. + RTP/SAVP), then the %n conversion fails, and the resulting + integer is garbage. Thus, we must initialize the integer and + check it afterwards for success. (closes issue #14000) Reported + by: folke Patches: asterisk-sipbg-sscanf-1.4.22.diff uploaded by + folke (license 626) asterisk-sipbg-sscanf-1.6.0.1.diff uploaded + by folke (license 626) asterisk-sipbg-sscanf-trunk-r159896.diff + uploaded by folke (license 626) + +2008-12-02 01:16 +0000 [r160266] Terry Wilson <twilson@digium.com> + + * include/asterisk/astmm.h: make compile with dev mode and malloc + debug + +2008-12-02 00:25 +0000 [r160207] Tilghman Lesher <tlesher@digium.com> + + * include/asterisk/stringfields.h, apps/app_voicemail.c, + main/pbx.c, main/frame.c: Ensure that Asterisk builds with + --enable-dev-mode, even on the latest gcc and glibc. + +2008-12-01 Tilghman Lesher <tilghman@digium.com> + + * Released 1.4.23-rc2 + +2008-12-01 17:27 +0000 [r160003] Russell Bryant <russell@digium.com> + + * channels/chan_iax2.c: Apply some logic used in iax2_indicate() to + iax2_setoption(), as well, since they both have the potential to + send control frames in the middle of call setup. We have to wait + until we have received a message back from the remote end before + we try to send any more frames. Otherwise, the remote end will + consider it invalid, and we'll get stuck in an INVAL/VNAK storm. + +2008-12-01 16:08 +0000 [r159976] Michiel van Baak <michiel@vanbaak.info> + + * main/manager.c: Get rid of the useless format string and argument + in the Bogus/ manager channelname. Noted by kpfleming and name + Bogus/manager suggested by eliel + +2008-12-01 14:52 +0000 [r159900] Russell Bryant <russell@digium.com> + + * .cleancount: Force a "make clean" to avoid a bizarre build issue + ... + +2008-12-01 14:05 +0000 [r159897] Michiel van Baak <michiel@vanbaak.info> + + * main/manager.c: make manager compile on OpenBSD. The last (10th) + argument to ast_channel_alloc here should be a pointer and NULL + is not really a pointer. + +2008-11-29 16:58 +0000 [r159808] Kevin P. Fleming <kpfleming@digium.com> + + * main/enum.c, utils/frame.c, configure, res/res_agi.c, + include/asterisk/module.h, main/logger.c, main/dns.c, + include/asterisk/threadstorage.h, include/asterisk/utils.h, + include/asterisk/devicestate.h, channels/chan_sip.c, + include/asterisk/dundi.h, main/jitterbuf.c, + channels/chan_agent.c, configure.ac, utils/astman.c, + include/asterisk/cli.h, include/asterisk/channel.h, + include/jitterbuf.h, include/asterisk/manager.h, + main/ast_expr2.c, Makefile, include/asterisk/logger.h, + include/asterisk/res_odbc.h, main/srv.c, channels/chan_misdn.c, + include/asterisk/linkedlists.h, include/asterisk/lock.h, + include/asterisk/strings.h, makeopts.in, + include/asterisk/stringfields.h, utils/check_expr.c, + channels/chan_vpb.cc, res/res_features.c, channels/chan_iax2.c: + update dev-mode compiler flags to match the ones used by default + on Ubuntu Intrepid, so all developers will see the same warnings + and errors since this branch already had some printf format + attributes, enable checking for them and tag functions that + didn't have them format attributes in a consistent way + +2008-11-26 20:21 +0000 [r159476-159571] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_oss.c, channels/busy.h (removed), + channels/ring_tone.h (added), channels/chan_alsa.c, + channels/ringtone.h (removed), channels/busy_tone.h (added), + channels/Makefile: rename these files so as to avoid conflicts + when users update their working copies and have unversioned files + already in place + + * channels, agi/Makefile, utils/Makefile, channels/busy.h (added), + Makefile.moddir_rules, Makefile.rules, channels/ringtone.h + (added), channels/Makefile: simplify (and slightly bug-fix) the + recent developer-oriented COMPILE_DOUBLE mode add channels/busy.h + and channels/ringtone.h to the repository instead of generating + them repeatedtly; most users do not change the settings to build + them, but the Makefile rules are still there if they wish to do + so ensure that 'make clean' removes dependency files for .i files + that are created in COMPILE_DOUBLE mode + +2008-11-25 22:41 +0000 [r159316] Steve Murphy <murf@digium.com> + + * main/cdr.c, channels/chan_iax2.c: (closes issue #12694) Reported + by: yraber Patches: 12694.2nd.diff uploaded by murf (license 17) + Tested by: murf, laurav Thanks to file (Joshua Colp) for his IAX + fix. the change to cdr.c allows no-answer to percolate up into + CDR's, and feels like the right place to locate this fix; if BUSY + is done here, no-answer should be, too. + +2008-11-25 21:56 +0000 [r159246-159269] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_iax2.c: Don't try to send a response on a NULL pvt. + (closes issue #13919) Reported by: barthpbx Patches: + chan_iax2.c.patch uploaded by eliel (license 64) Tested by: + barthpbx + + * /, channels/chan_iax2.c: Merged revisions 159245 via svnmerge + from https://origsvn.digium.com/svn/asterisk/branches/1.2 + ........ r159245 | tilghman | 2008-11-25 15:37:06 -0600 (Tue, 25 + Nov 2008) | 7 lines Regression fix for last security fix. Set the + iseqno correctly. (closes issue #13918) Reported by: ffloimair + Patches: 20081119__bug13918.diff.txt uploaded by Corydon76 + (license 14) Tested by: ffloimair ........ + +2008-11-25 17:34 +0000 [r159158] Russell Bryant <russell@digium.com> + + * main/astobj2.c, include/asterisk/astobj2.h: Add ao2_trylock() to + go along with ao2_lock() and ao2_unlock() + +2008-11-25 16:23 +0000 [r159096] Terry Wilson <twilson@digium.com> + + * apps/app_festival.c: Add missing variable declaration in the PPC + code + +2008-11-25 04:50 +0000 [r159025] Tilghman Lesher <tlesher@digium.com> + + * apps/app_rpt.c, configure, include/asterisk/autoconfig.h.in, + configure.ac: System call ioperm is non-portable, so check for + its existence in autoconf. (Closes issue #13863) + +2008-11-22 00:04 +0000 [r158629] Jeff Peeler <jpeeler@digium.com> + + * include/asterisk/dahdi_compat.h, channels/chan_dahdi.c: (closes + issue #13786) Reported by: tzafrir When compiling against Zaptel + dahdi_compat will now only define all the DAHDI defines if the + Zaptel define is present. Also, there is no such thing as + DAHDI_PRI. + +2008-11-21 23:14 +0000 [r158603] Steve Murphy <murf@digium.com> + + * res/res_features.c: In reference to the fix made for 13871, I was + merging the fix into 1.6.0 and realized I missed the code in the + h-exten block, and didn't catch it because my test case had the + h-exten commented out. So, this corrects the code I missed, as a + preventative against another crash report. Tested with the + h-exten defined, all is well. + +2008-11-21 23:07 +0000 [r158600] Tilghman Lesher <tlesher@digium.com> + + * main/pbx.c: The passed extension may not be the same in the list + as the current entry, because we strip spaces when copying the + extension into the structure. Therefore, use the copied item to + place the item into the list. (found by lmadsen on -dev, fixed by + me) + +2008-11-21 22:05 +0000 [r158539] Russell Bryant <russell@digium.com> + + * main/astobj2.c, include/asterisk/astobj2.h: When compiling with + DEBUG_THREADS, report the real file/func/line for + ao2_lock/ao2_unlock + +2008-11-21 21:19 +0000 [r158483] Steve Murphy <murf@digium.com> + + * res/res_features.c: (closes issue #13871) Reported by: mdu113 + This one is totally my fault. The code doesn't even create a + bridge if the channel CDR has POST_DISABLED. I didn't check for + that at the end of the bridge. Fixed with a few small insertions. + Tested. Looks good. No cdr generated, no crash, no unnecc. data + objects created either. + +2008-11-21 15:24 +0000 [r158053-158306] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: This change had somehow gotten reverted due to + a completely unrelated commit. Thanks to Theo Belder on the + Asterisk-dev list for pointing this out. + + * include/asterisk/file.h, main/frame.c, main/file.c, + include/asterisk/frame.h: There was an issue when attempting to + reference an embedded frame in a freed ast_filestream. This patch + makes use of the ao2 functions to make sure that we do not free + an ast_filestream structure until the embedded ast_frame has been + "freed" as well. (closes issue #13496) Reported by: fst-onge + Patches: filestream_frame_1_4.diff uploaded by putnopvut (license + 60) Tested by: putnopvut Closes AST-89 + + * channels/chan_sip.c: We don't handle 4XX responses to BYE well. + According to section 15 of RFC 3261, we should terminate a dialog + if we receive a 481 or 408 in response to our BYE. Since I am + aware of at least one phone manufacturer who may sometimes send a + 404 as well, I am being liberal and saying that any 4XX response + to a BYE should result in a terminated dialog. (closes issue + #12994) Reported by: pabelanger Patches: 12994.patch uploaded by + putnopvut (license 60) Closes AST-129 + + * apps/app_dial.c, channels/chan_sip.c: Make sure to set the hangup + cause on the calling channel in the case that ast_call() fails. + For incoming SIP channels, this was causing us to send a 603 + instead of a 486 when the call-limit was reached on the + destination channel. (closes issue #13867) Reported by: still_nsk + Patches: 13867.diff uploaded by putnopvut (license 60) Tested by: + blitzrage + +2008-11-20 01:46 +0000 [r158010] Richard Mudgett <rmudgett@digium.com> + + * channels/chan_misdn.c: Merged revision 157977 from + https://origsvn.digium.com/svn/asterisk/team/group/issue8824 + ........ Fixes JIRA ABE-1726 The dial extension could be empty if + you are using MISDN_KEYPAD to control ISDN provider features. + +2008-11-19 21:34 +0000 [r157859] Kevin P. Fleming <kpfleming@digium.com> + + * main/stdtime/Makefile, codecs/gsm/src, main/db1-ast/btree, + channels/misdn/Makefile, main/db1-ast/recno, pbx/ael, channels, + main/db1-ast/Makefile, main/stdtime, main/db1-ast/hash, + codecs/gsm/Makefile, main/db1-ast/db, Makefile.moddir_rules, + channels/misdn, main/db1-ast/mpool, pbx/Makefile, Makefile.rules, + res/snmp, res/Makefile: the gcc optimizer frequently finds broken + code (use of uninitalized variables, unreachable code, etc.), + which is good. however, developers usually compile with the + optimizer turned off, because if they need to debug the resulting + code, optimized code makes that process very difficult. this + means that we get code changes committed that weren't adequately + checked over for these sorts of problems. with this build system + change, if (and only if) --enable-dev-mode was used and + DONT_OPTIMIZE is turned on, when a source file is compiled it + will actually be preprocessed (into a .i or .ii file), then + compiled once with optimization (with the result sent to + /dev/null) and again without optimization (but only if the first + compile succeeded, of course). while making these changes, i did + some cleanup work in Makefile.rules to move commonly-used + combinations of flag variables into their own variables, to make + the file easier to read and maintain + +2008-11-18 22:47 +0000 [r157503] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Add some missing invite state changes + necessary in the sip_write function. Not setting the invite state + correctly on the call was resulting in the Record application + leaving empty files. I also have updated the doxygen comment next + to the declaration of the INV_EARLY_MEDIA constant to reflect + that we also use this state when we *send* a 18X response to an + INVITE. (closes issue #13878) Reported by: nahuelgreco Patches: + sip-early-media-recording-1.4.22.patch uploaded by nahuelgreco + (license 162) Tested by: putnopvut + +2008-11-18 19:13 +0000 [r157365] Jeff Peeler <jpeeler@digium.com> + + * apps/app_meetme.c: (closes issue #13899) Reported by: akkornel + This fix is the result of a bug fix in ast_app_separate_args + r124395. If an argument does not exist it should always be set to + a null string rather than a null pointer. + +2008-11-18 18:25 +0000 [r157305] Mark Michelson <mmichelson@digium.com> + + * apps/app_dial.c, channels/chan_local.c, res/res_features.c, + include/asterisk/channel.h, apps/app_followme.c: Fix a crash in + the end_bridge_callback of app_dial and app_followme which would + occur at the end of an attended transfer. The error occurred + because we initially stored a pointer to an ast_channel which + then was hung up due to a masquerade. This commit adds a "fixup" + callback to the bridge_config structure to allow for + end_bridge_callback_data to be changed in the case that a new + channel pointer is needed for the end_bridge_callback. + +2008-11-15 19:31 +0000 [r157104-157163] Kevin P. Fleming <kpfleming@digium.com> + + * Makefile, Makefile.rules: when an individual directory dist-clean + is run, run clean in that directory first, and when running + top-level dist-clean, do not run subdirectory clean operations + twice + + * Makefile.moddir_rules: dist-clean should remove dependency + information files as well + + * contrib/asterisk-ng-doxygen: major update to doxygen + configuration file: 1) update to doxygen 1.5.x style file, as + used in trunk 2) tell doxygen where are header files are, so + include-file processing can be done 3) make all macros that are + used to define variables/functions be expanded, so that doxygen + will properly document the resulting variable/function 4) make + all macros that are used to provide the contents of a variable + (structure) be expanded, so that doxygen will be able to document + the resulting fields 5) suppress compiler attributes + (__attribute__(xxx)) from being seen by doxygen, so it will + properly match up function definition and usage (for an example + of th effect of this, look at the doxygen docs for ast_log() from + before and afte this commit) + +2008-11-14 15:18 +0000 [r156816] Mark Michelson <mmichelson@digium.com> + + * apps/app_voicemail.c: If the prompt to reenter a voicemail + password timed out, it resulted in the password not being saved, + even if the input matched what you gave when first prompted to + enter a new password. This is because the return value of + ast_readstring was checked, but not checked properly. This bug + was discovered by Jared Smith during an Asterisk training course. + Thanks for reporting it! + +2008-11-14 00:41 +0000 [r156688-156755] Tilghman Lesher <tlesher@digium.com> + + * apps/app_while.c: ast_waitfordigit() requires that the channel be + up, for no good logical reason. This prevents While/EndWhile from + working within the "h" extension. Reported by: jgalarneau (for + ABE C.2) Fixed by: me + + * main/manager.c: Provide more space for all the data which can + appear in an originating channel name. (closes issue #13398) + Reported by: bamby Patches: manager.c.diff uploaded by bamby + (license 430) + +2008-11-13 11:58 +0000 [r156485-156510] Kevin P. Fleming <kpfleming@digium.com> + + * configure, autoconf/ast_gcc_attribute.m4: revert this change... + non-functional changes don't belong here + + * configure, autoconf/ast_gcc_attribute.m4: correct minor syntax + error... no functional change + +2008-11-12 21:18 +0000 [r156386] Tilghman Lesher <tlesher@digium.com> + + * apps/app_dial.c: When using call limits under 1 second, infinite + call lengths are allowed, instead. (closes issue #13851) Reported + by: ruddy + +2008-11-12 19:36 +0000 [r156297] Steve Murphy <murf@digium.com> + + * main/pbx.c: It turns out that the 0x0XX00 codes being returned + for N, X, and Z are off by one, as per conversation with jsmith + on #asterisk-dev; he was teaching a class and disconcerted that + this published rule was not being followed, with patterns _NXX, + _[1-8]22 and _[2-9]22... and NXX was winning, but [1-8] should + have been. This change, tested on these 3 patterns now picks the + proper one. However, this change may surprise users who set up + dialplans based on previous behavior, which has been there for + what, 2 and half years or so now. + +2008-11-12 19:26 +0000 [r156294] Tilghman Lesher <tlesher@digium.com> + + * apps/app_meetme.c: If the SLA thread is not started, then reload + causes a memory leak. (closes issue #13889) Reported by: eliel + Patches: app_meetme.c.patch uploaded by eliel (license 64) + +2008-11-12 19:10 +0000 [r156289] Jeff Peeler <jpeeler@digium.com> + + * apps/app_meetme.c: For whatever reason, gcc only warned me about + the possible use of an uninitialized variable when compiling + 1.6.1. + +2008-11-12 18:39 +0000 [r156229] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_iax2.c: Revert revision 132506, since it + occasionally caused IAX2 HANGUP packets not to be sent, and + instead, schedule a task to destroy the iax2 pvt structure 10 + seconds later. This allows the IAX2 HANGUP packet to be queued, + transmitted, and ACKed before the pvt is destroyed. (closes issue + #13645) Reported by: dzajro Patches: + 20081111__bug13645__3.diff.txt uploaded by Corydon76 (license 14) + Tested by: vazir Reviewed: http://reviewboard.digium.com/r/51/ + +2008-11-12 17:53 +0000 [r156178] Jeff Peeler <jpeeler@digium.com> + + * apps/app_meetme.c: (closes issue #13173) Reported by: pep This + change adds an announce_thread responsible for playing + announcements to an existing conference. This allows all + announcing to be immediately stopped if necessary but more + importantly allows other threads that need to play something to + not block. There are multiple benefits to this, but the actual + bug is for solving the scenario for a channel to be unusable + after hang up for the entire duration of the parting + announcement. The parting announcement can be extremely long + depending on what the user recorded upon joining the conference. + Reviewed by Russell on Review Board: + http://reviewboard.digium.com/r/25/ + +2008-11-12 17:38 +0000 [r156167] Mark Michelson <mmichelson@digium.com> + + * apps/app_dial.c: When doing some tests, I was having a crash at + the end of every call if an attended transfer occurred during the + call. I traced the cause to the CDR on one of the channels being + NULL. murf suggested a check in the end bridge callback to be + sure the CDR is non-NULL before proceeding, so that's what I'm + adding. + +2008-11-12 17:29 +0000 [r156164] Russell Bryant <russell@digium.com> + + * main/asterisk.c: Move the sanity check that makes sure "always + fork" is not set along with the console option to be after the + code that reads options from asterisk.conf. This resolves a + situation where Asterisk can start taking up 100% when + misconfigured. (Thanks to Bryce Porter (x86 on IRC) for letting + me log in to his system to figure out what was causing the 100% + CPU problem.) + +2008-11-10 21:07 +0000 [r155861] Mark Michelson <mmichelson@digium.com> + + * channels/chan_agent.c: Channel drivers assume that when their + indicate callback is invoked, that the channel on which the + callback was called is locked. This patch corrects an instance in + chan_agent where a channel's indicate callback is called directly + without first locking the channel. This was leading to some + observed locking issues in chan_local, but considering that all + channel drivers operate under the same expectations, the generic + fix in chan_agent is the right way to go. AST-126 + +2008-11-10 20:49 +0000 [r155803] Tilghman Lesher <tlesher@digium.com> + + * doc/valgrind.txt: I got tired of saying this in every single + bugnote referring to this file. + +2008-11-09 01:08 +0000 [r155553] Sean Bright <sean.bright@gmail.com> + + * apps/app_dial.c, res/res_features.c, include/asterisk/channel.h, + apps/app_followme.c: Use static functions here instead of nested + ones. This requires a small change to the ast_bridge_config + struct as well. To understand the reason for this change, see the + following post: + http://gcc.gnu.org/ml/gcc-help/2008-11/msg00049.html + +2008-11-07 22:27 +0000 [r155398] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_sip.c: Clarify error message. (closes issue #13809) + Reported by: denke Patches: 20081104__bug13809.diff.txt uploaded + by Corydon76 (license 14) Tested by: denke + +2008-11-06 19:45 +0000 [r155011] Mark Michelson <mmichelson@digium.com> + + * configs/voicemail.conf.sample: The documentation listed the + ability to set 'maxmsg' per context. The truth is that you can + only set this in the general section or per mailbox. Thus I am + updating the sample config file to be more accurate. Thanks to + sasargen on IRC for bringing up this issue. + +2008-11-05 16:44 +0000 [r154724] Mark Michelson <mmichelson@digium.com> + + * channels/chan_agent.c: The logic of a strcasecmp call was + reversed (closes issue #13841) Reported by: clegall_proformatique + +2008-11-05 16:06 +0000 [r154685] Steve Murphy <murf@digium.com> + + * main/channel.c: This fix was prompted by communication from user, + who was seeing thousands of error logs... looks like EAGAIN. Made + such uninteresting. + +2008-11-04 20:49 +0000 [r154365] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_iax2.c: On busy systems, it's possible for the + values checked within a single line of code to change, unless the + structure is locked to ensure a consistent state. (closes issue + #13717) Reported by: kowalma Patches: 20081102__bug13717.diff.txt + uploaded by Corydon76 (license 14) Tested by: kowalma + +2008-11-04 19:01 +0000 [r154266] Richard Mudgett <rmudgett@digium.com> + + * channels/chan_misdn.c: JIRA ABE-1703 mISDN sets the channel to + the wrong state when it receives the indication + AST_CONTROL_RINGING. + +2008-11-04 18:58 +0000 [r154060-154263] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_h323.c: Make the monitor thread non-detached, so it + can be joined (suggested by Russell on -dev list). + + * apps/app_voicemail.c: Attempting to expunge a mailbox when the + mailstream is NULL will crash Asterisk. (Closes issue #13829) + Reported by: jaroth Patch by: me (modified jaroth's patch) + + * main/rtp.c: Remove the potential for a division by zero error. + (Closes issue #13810) + +2008-11-03 13:01 +0000 [r153823] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_oss.c, channels/chan_dahdi.c, funcs/func_odbc.c, + main/file.c, main/http.c, main/utils.c, pbx/pbx_config.c, + res/res_jabber.c: somehow missed a bunch of gcc 4.3.x warnings in + this branch on the first pass + +2008-11-02 19:51 +0000 [r153651] Russell Bryant <russell@digium.com> + + * include/asterisk/features.h: features.h depends on linkedlists.h, + so include it + +2008-11-01 18:22 +0000 [r153337] Kevin P. Fleming <kpfleming@digium.com> + + * utils/frame.c, main/cli.c, utils/stereorize.c, main/channel.c, + funcs/func_enum.c, channels/chan_dahdi.c, main/manager.c, + channels/chan_skinny.c, main/ast_expr2f.c, res/res_agi.c, + pbx/ael/ael_lex.c, main/http.c, channels/chan_alsa.c, + pbx/ael/ael.flex, formats/format_gsm.c, apps/app_adsiprog.c, + formats/format_wav.c, apps/app_festival.c, + main/db1-ast/hash/hash_page.c, main/translate.c, + res/res_crypto.c, agi/eagi-test.c, formats/format_ogg_vorbis.c, + utils/astman.c, channels/chan_oss.c, agi/eagi-sphinx-test.c, + pbx/ael/ael.tab.c, main/file.c, pbx/ael/ael.tab.h, + apps/app_sms.c, pbx/pbx_dundi.c, res/res_indications.c, + utils/streamplayer.c, apps/app_chanspy.c, main/asterisk.c, + apps/app_voicemail.c, utils/muted.c, pbx/ael/ael.y, + apps/app_authenticate.c, formats/format_wav_gsm.c, + res/res_musiconhold.c, channels/chan_iax2.c: fix a bunch of + potential problems found by gcc 4.3.x, primarily bare strings + being passed to printf()-like functions and ignored results from + read()/write() and friends + +2008-10-31 22:36 +0000 [r153270] Terry Wilson <twilson@digium.com> + + * res/res_features.c, apps/app_followme.c: Add end_bridge_callback + for app_follome and add AUTOLOOP flag to res_features + +2008-10-31 Tilghman Lesher <tlesher@digium.com> + + * Asterisk 1.4.23-rc1 released. + +2008-10-31 16:30 +0000 [r153114] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_sip.c: Turn off qualify on uncached realtime peers. + (Closes issue #13383) + +2008-10-31 15:45 +0000 [r153095] Terry Wilson <twilson@digium.com> + + * apps/app_dial.c, res/res_features.c, include/asterisk/channel.h: + Recent CDR fixes moved execution of the 'h' exten into the + bridging code, so variables that were set after ast_bridge_call + was called would not show up in the 'h' exten. Added a callback + function to handle setting variables, etc. from w/in the bridging + code. Calls back into a nested function within the function + calling ast_bridge_call (closes issue #13793) Reported by: + greenfieldtech + +2008-10-30 20:58 +0000 [r152992] Sean Bright <sean.bright@gmail.com> + + * bootstrap.sh: The -I argument to aclocal needs a space before the + include directory name. + +2008-10-30 20:33 +0000 [r152922-152958] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_h323.c: Cannot join detached threads. See + http://www.opengroup.org/onlinepubs/000095399/functions/pthread_join.html + (Closes issue #13400) + + * channels/chan_local.c: Unlock before returning, when extension + doesn't exist. (closes issue #13807) Reported by: eliel Patches: + chan_local.c.patch uploaded by eliel (license 64) + +2008-10-30 16:53 +0000 [r152811] Kevin P. Fleming <kpfleming@digium.com> + + * main/cdr.c: instead of comparing the string pointer to 0, let's + compare the value that was actually parsed out of the string + (found by sparse) + +2008-10-29 05:23 +0000 [r152539] Russell Bryant <russell@digium.com> + + * channels/chan_sip.c: Fix an incorrect usage of sizeof() (closes + issue #13795) Reported by: andrew53 Patches: + chan_sip_sizeof.patch uploaded by andrew53 (license 519) + +2008-10-29 05:19 +0000 [r152535-152538] Steve Murphy <murf@digium.com> + + * configs/features.conf.sample, apps/app_dial.c, apps/app_queue.c: + A little documentation cross-ref between features and dial and + queue... I wasted some time (stupidly) trying to get the + one-touch parking stuff working, because it didn't occur to me + that I had to also have the corresponding options in the dial + command! Duh! (In all this time, I never set this up before!) So, + to keep some poor fool from suffering the same fate, I made the + features.conf.sample file mention the corresponding opts in + dial/queue; and the docs for dial/app specifically mention the + corresponding decls in the feature.conf file. I hope this doesn't + spoil some vast, eternal plan... + + * apps/app_dial.c, res/res_features.c, funcs/func_channel.c, + include/asterisk/pbx.h, apps/app_queue.c: The magic trick to + avoid this crash is not to try to find the channel by name in the + list, which is slow and resource consuming, but rather to pay + attention to the result codes from the ast_bridge_call, to which + I added the AST_PBX_NO_HANGUP_PEER_PARKED value, which now are + returned when a channel is parked. If you get AST_PBX_KEEPALIVE, + then don't touch the channel pointer. If you get + AST_PBX_NO_HANGUP_PEER, or AST_PBX_NO_HANGUP_PEER_PARKED, then + don't touch the peer pointer. Updated the several places where + the results from a bridge were not being properly obeyed, and + fixed some code I had introduced so that the results of the + bridge were not overridden (in trunk). All the places that + previously tested for AST_PBX_NO_HANGUP_PEER now have to check + for both AST_PBX_NO_HANGUP_PEER and + AST_PBX_NO_HANGUP_PEER_PARKED. I tested this against the 4 common + parking scenarios: 1. A calls B; B answers; A parks B; B hangs up + while A is getting the parking slot announcement, immediately + after being put on hold. 2. A calls B; B answers; A parks B; B + hangs up after A has been hung up, but before the park times out. + 3. A calls B; B answers; B parks A; A hangs up while B is getting + the parking slot announcement, immediately after being put on + hold. 4. A calls B; B answers; B parks A; A hangs up after B has + been hung up, but before the park times out. No crash. I also ran + the scenarios above against valgrind, and accesses looked good. + +2008-10-28 22:32 +0000 [r152368-152463] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: Quoting in the wrong direction (Fixes + AST-107) + + * apps/app_dial.c: Reset all DIAL variables back to blank, in case + Dial is called multiple times per call (which could otherwise + lead to inconsistent status reports). (closes issue #13216) + Reported by: ruddy Patches: 20081014__bug13216.diff.txt uploaded + by Corydon76 (license 14) Tested by: ruddy + +2008-10-27 23:28 +0000 [r152286] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_dahdi.c: Buffer policy setting for half is not + needed. + +2008-10-27 21:32 +0000 [r152215] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_local.c: Inherit ALL elements of CallerID across a + local channel. (closes issue #13368) Reported by: Peter Schlaile + Patches: 20080826__bug13368.diff.txt uploaded by Corydon76 + (license 14) + +2008-10-26 20:23 +0000 [r152059] Sean Bright <sean.bright@gmail.com> + + * funcs/func_strings.c: Since passing \0 as the second argument to + strchr is valid (and will match the trailing \0 of a string) we + need to check that first, otherwise we end up with incorrect + results. Fix suggested by reporter. (closes issue #13787) + Reported by: meitinger + +2008-10-25 10:59 +0000 [r151905] Russell Bryant <russell@digium.com> + + * main/asterisk.c: Move AMI initialization to occur after loading + modules. This prevents a deadlock when someone tries to initiate + a module reload from the AMI just as Asterisk is starting. + (closes issue #13778) Reported by: hotsblanc Fix suggested by + hotsblanc + +2008-10-23 16:04 +0000 [r151763] Terry Wilson <twilson@digium.com> + + * configs/features.conf.sample, res/res_features.c, CHANGES: + Backport fix from 1.6.0 that allows you to set + parkedcalltransfers=no|caller|callee|both, but default to both + which would be the equivalent of the existing behaviour. The + problem was that if someone parked a call, the callee and caller + would both get assigned the builtin transfer feature, which would + not only be potentially giving someone the ability to transfer + themselves when they shouldn't have it, but would also dissallow + reinviting the media off of the call. (closes issue #12854) + Reported by: davidw Patches: parkingfix4.diff.txt uploaded by + otherwiseguy Tested by: davidw, otherwiseguy + +2008-10-20 04:57 +0000 [r151240-151241] Kevin P. Fleming <kpfleming@digium.com> + + * autoconf/ast_check_pwlib.m4, autoconf/ast_check_openh323.m4, + configure.ac: rename this macro to properly reflect what it does + + * autoconf/ast_check_pwlib.m4 (added), autoconf (added), + autoconf/acx_pthread.m4 (added), autoconf/ast_func_fork.m4 + (added), configure, autoconf/ast_gcc_attribute.m4 (added), + bootstrap.sh, autoconf/ast_check_gnu_make.m4 (added), + autoconf/ast_ext_lib.m4 (added), autoconf/ast_prog_ld.m4 (added), + autoconf/ast_c_compile_check.m4 (added), + autoconf/ast_c_define_check.m4 (added), + autoconf/ast_prog_egrep.m4 (added), + autoconf/ast_check_openh323.m4 (added), + autoconf/ast_prog_ld_gnu.m4 (added), autoconf/ast_prog_sed.m4 + (added), acinclude.m4 (removed): break up acinclude.m4 into + individual files, which will make it easier to maintain, easier + to add new macros (less patching) and will ease maintenance of + these macros across Asterisk branches + +2008-10-19 19:51 +0000 [r151100-151167] BJ Weschke <bweschke@btwtech.com> + + * main/asterisk.c: As per kpfleming's comments to the prior commit, + I'm reverting some of the changes here. A comment was made in bug + #13726 "3. The same mistake as in (2) is done in a few other + places in the code that check for: #if defined(HAVE_ZAPTEL) || + defined(HAVE_DAHDI) Harmless, but still incorrect." In the case + of main/asterisk.c, this is not incorrect because without + HAVE_ZAPTEL defined, we're missing the include for ioctl and the + namespace that defines DAHDI_TIMERCONFIG which is still required + when using Zaptel with the 1.4 branch. + + * main/asterisk.c: Fix the 1.4 branch compile again broken with + r150557 when using with Zaptel and not DAHDI (closes issue + #13740) reported by: jmls patch by: bweschke + +2008-10-18 01:42 +0000 [r150816] BJ Weschke <bweschke@btwtech.com> + + * main/manager.c: Using the GetVar handler in AMI is potentially + dangerous (insta-crash [tm]) when you use a dialplan function + that requires a channel and then you don't provide one or provide + an invalid one in the Channel: parameter. We'll handle this + situation exactly the same way it was handled in pbx.c back on + r61766. We'll create a bogus channel for the function call and + destroy it when we're done. If we have trouble allocating the + bogus channel then we're not going to try executing the function + call at all and run the risk of crashing. (closes issue #13715) + reported by: makoto patch by: bweschke + +2008-10-17 17:18 +0000 [r150637] Steve Murphy <murf@digium.com> + + * res/res_features.c: Interesting crash. In this case, you exit the + bridge with peer completely GONE. I moved the channel find call + up to cover the whole peer CDR reset code segment. This appears + to solve the crash without changing the logic at all. + +2008-10-17 15:31 +0000 [r150557] Jason Parker <jparker@digium.com> + + * main/asterisk.c, main/channel.c, channels/chan_dahdi.c, + configure, configure.ac: Correctly allow chan_dahdi to compile + against older versions of Zaptel. Don't always define + HAVE_ZAPTEL_CHANALARMS (since we check if it's defined..) Minor + cleanup to make things clear. (closes issue #13726) Reported by: + tzafrir Patches: dahdi_def.diff uploaded by tzafrir (license 46) + +2008-10-16 23:40 +0000 [r150298-150304] Mark Michelson <mmichelson@digium.com> + + * main/manager.c: Reverting changes from commits 150298 and 150301 + since I was mistakenly under the assumption that dialplan + functions *always* required that a channel be present. I need to + go home earlier, I think :) + + * main/manager.c: And don't forget to return on the error condition + + * main/manager.c: Don't try to call a dialplan function's read + callback from the manager's GetVar handler if an invalid channel + has been specified. Several dialplan functions, including CHANNEL + and SIP_HEADER, do not check for NULL-ness of the channel being + passed in. (closes issue #13715) Reported by: makoto + +2008-10-16 15:56 +0000 [r150124] Richard Mudgett <rmudgett@digium.com> + + * channels/chan_misdn.c: Fix memory leak found by customer + +2008-10-16 15:26 +0000 [r150056] Steve Murphy <murf@digium.com> + + * cdr/cdr_odbc.c: This patch is relevant to: ABE-1628 and + RYM-150398 and AST-103 in internal Digium bug trackers. These + fixes address a really subtle memory corruption problem that + would happen in machines heavily loaded in production + environments. The corruption would always take the form of the + STMT object getting nulled out and one of the unixODBC calls + would crash trying to access statement->connection. It isn't + fully proven yet, but the server has now been running 2.5 days + without appreciable memory growth, or any gain of %cpu, and no + crashes. Whether this is the problem or not on that server, these + fixes are still warranted. As it turns out, **I** introduced + these errors unwittingly, when I corrected another crash earlier. + I had formed the build_query routine, and failed to remove + mutex_unlock calls in 3 places in the transplanted code. These + unlocks would only happen in error situations, but unlocking the + mutex early set the code up for a catastrophic failure, it + appears. It would happen only once every 100K-200K or more calls, + under heavy load... but that is enough. If another crash occurs, + with the same MO, I'll come back and remove my confession from + the log, and we'll keep searching, but the fact that we have + Asterisk dying from an asynchronous wiping of the STMT object, + only on some connection error, and that the server has lived for + 2.5 days on this code without a crash, sure make it look like + this was the problem! Also, in several points, Statement handles + are set to NULL after SQLFreeHandle. This was mainly for + insurance, to guarantee a crash. As it turns out, the code does + not appear to be attempting to use these freed pointers. Asterisk + owes a debt of gratitude to Federico Alves and Frediano Ziglio + for their untiring efforts in finding this bug, among others. + +2008-10-15 21:34 +0000 [r149683-149840] BJ Weschke <bweschke@btwtech.com> + + * CHANGES: Another documentation fix. (closes issue #13708) + + * configs/agents.conf.sample: An update to the + documentation/example of agents.conf.sample with the correct + parameter for this feature as defined in chan_agent.c (closes + issue #13709) + +2008-10-15 10:30 +0000 [r149452] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_sip.c: fix some problems when parsing SIP messages + that have the maximum number of headers or body lines that we + support + +2008-10-14 23:43 +0000 [r149130-149266] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Change this warning to an error message. + Suggestion comes from Sean Bright. Thanks Sean! + + * channels/chan_sip.c: Call register_peer_exten even in the case + that the peer's IP/port does not change. (closes issue #13309) + Reported by: dimas Patches: v2-13309.patch uploaded by dimas + (license 88) + + * include/asterisk/audiohook.h, main/audiohook.c: Add a tolerance + period for sync-triggered audiohooks so that if packetization of + audio is close (but not equal) we don't end up flushing the + audiohooks over small inconsistencies in synchronization. Related + to issue #13005, and solves the issue for most people who were + experiencing the problem. However, a small number of people are + still experiencing the problem on long calls, so I am not closing + the issue yet + + * apps/app_queue.c: Update the queue with the correct number of + calls and whether the call was completed within the service level + when a transfer takes place. This way, we do not "break" the + leastrecent and fewestcalls strategies by not logging a call + until after the transferred call has ended. (closes issue #13395) + Reported by: Marquis Patches: app_queue.c.transfer.patch uploaded + by Marquis (license 32) + + * channels/chan_sip.c: Don't allow reserved characters to be used + in register lines in sip.conf. (closes issue #13570) Reported by: + putnopvut + +2008-10-14 20:09 +0000 [r149061] Tilghman Lesher <tlesher@digium.com> + + * apps/app_waitforsilence.c: Check correct values in the return of + ast_waitfor(); also, get rid of a possible memory leak. (closes + issue #13658) Reported by: explidous Patch by: me + +2008-10-14 19:05 +0000 [r148990] Leif Madsen <lmadsen@digium.com> + + * CHANGES: Add in some missing updates to the CHANGES file for + sip.conf (closes issue #13100) Reported and patch by: + gknispel_proformatique + +2008-10-14 19:03 +0000 [r148916-148987] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: Some compilers warn, some don't. Fixing. + + * apps/app_voicemail.c: Ensure that mail headers are 7-bit clean, + even when UTF-8 characters are used in headers like 'Subject' and + 'To'. Closes AST-107. + +2008-10-14 17:33 +0000 [r148912] Mark Michelson <mmichelson@digium.com> + + * channels/chan_local.c: Deadlock prevention in chan_local. (closes + issue #13676) Reported by: tacvbo Patches: 13676.patch uploaded + by putnopvut (license 60) Tested by: tacvbo + +2008-10-14 10:30 +0000 [r148611-148736] Kevin P. Fleming <kpfleming@digium.com> + + * Makefile: on Ubuntu (at least), recent versions of ld in binutils + delete all debugging symbols when -x is supplied; since the + reasons why -x is being passed are lost in the mists of time, + remove it so debugging will work properly + + * main/translate.c: it would be nice if this message printing code + had actually been tested before it was committed... + +2008-10-10 16:25 +0000 [r147997-148257] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: User not notified of temporary greeting, if + ODBC storage is in use. (closes issue #13659) Reported by: + moliveras Patches: 20081009__bug13659.diff.txt uploaded by + Corydon76 (license 14) Tested by: moliveras + + * apps/app_voicemail.c: When blank, callerid name and number should + display "unknown caller" in voicemail emails. (Closes issue + #13643) + +2008-10-09 18:56 +0000 [r147941] Jeff Peeler <jpeeler@digium.com> + + * res/res_features.c: (closes issue #13139) Reported by: krisk84 + Tested by: krisk84 This change prevents a call that is placed in + the parkinglot to be picked up before the PBX is finished. If + another extension dials the parking extension before the PBX + thread has completed at minimum warnings will occur about the PBX + not properly being terminated. At worst, a crash could occur. + +2008-10-08 22:22 +0000 [r147681] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_dahdi.c: when parsing a text configuration option, + ensure that the buffer on the stack is actually large enough to + hold the legal values of that option, and also ensure that + sscanf() knows to stop parsing if it would overrun the buffer + (without these changes, specifying "buffers=...,immediate" would + overflow the buffer on the stack, and could not have worked as + expected) + +2008-10-08 14:51 +0000 [r147517] Joshua Colp <jcolp@digium.com> + + * apps/app_speech_utils.c: If we receive DTMF make sure that the + state of the speech structure goes back to being not ready. + (issue #LUMENVOX-8) + +2008-10-07 23:14 +0000 [r147429-147430] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_dahdi.c: revert this change until i can understand + why it results in locking order changes + + * channels/chan_dahdi.c: don't start a PBX on incoming PRI call + channels until after we're done setting channel variables and + other things on the channel, otherwise the channel might go away + (if the dialplan hangs up quickly) before we are done, which + results in a spectacular crash + +2008-10-07 16:48 +0000 [r147193] Sean Bright <sean.bright@gmail.com> + + * apps/app_voicemail.c: Make 'imapsecret' an alias to + 'imappassword' in voicemail.conf. + +2008-10-06 20:52 +0000 [r146711-146799] Tilghman Lesher <tlesher@digium.com> + + * funcs/func_callerid.c, apps/app_speech_utils.c, + funcs/func_curl.c, funcs/func_groupcount.c, res/res_smdi.c, + channels/chan_sip.c, funcs/func_timeout.c, funcs/func_odbc.c, + funcs/func_cdr.c, funcs/func_math.c, channels/chan_iax2.c: + Dialplan functions should not actually return 0, unless they have + modified the workspace. To signal an error (and no change to the + workspace), -1 should be returned instead. (closes issue #13340) + Reported by: kryptolus Patches: 20080827__bug13340__2.diff.txt + uploaded by Corydon76 (license 14) + + * channels/chan_local.c: Check whether an extension exists in the + _call method, rather than the _alloc method, because we need to + evaluate the callerid (since that data affects whether an + extension exists). (closes issue #13343) Reported by: efutch + Patches: 20080915__bug13343.diff.txt uploaded by Corydon76 + (license 14) Tested by: efutch + +2008-10-06 15:57 +0000 [r146643] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_dahdi.c: ensure that the private structure for + pseudo channels is created without 'leaking' configuration data + from other configured channels (closes issue #13555) Reported by: + jeffg Patches: issue_13555.patch uploaded by kpfleming (license + 421) Tested by: jeffg + +2008-10-05 21:17 +0000 [r146448] Jason Parker <jparker@digium.com> + + * channels/chan_sip.c: Fix silly formatting. + +2008-10-03 22:51 +0000 [r146244] Sean Bright <sean.bright@gmail.com> + + * apps/app_rpt.c: Change some preprocessor macros to struct + definitions so that we get app_rpt to build with DAHDI. (closes + issue #13576) Reported by: blitzrage + +2008-10-03 20:44 +0000 [r146129] Jeff Peeler <jpeeler@digium.com> + + * include/asterisk/features.h, res/res_features.c, res/res_agi.c: + (closes issue #13425) Reported by: mdu113 Tested by: mdu113 + Similar to r143204, masquerade the channel in the case of Park + being called from AGI. + +2008-10-03 17:12 +0000 [r146026] Steve Murphy <murf@digium.com> + + * res/res_features.c: (closes issue #13579) Reported by: dwagner + (closes issue #13584) Reported by: dwagner Tested by: murf, + putnopvut The thought occurred to me that the res= from the + extension spawn was ending up being returned from the bridge. + "Thou shalt not poison the return value". Made the change and it + appears to allow blind xfers to work as normal. If I'm wrong, + reopen the bugs. But it looks good to me! Many thanks to + putnopvut for helping me reproduce this! + +2008-10-02 16:39 +0000 [r145751-145839] Tilghman Lesher <tlesher@digium.com> + + * funcs/func_odbc.c: Backport support for some of the keyword + modifications used in 1.6 (while warning that some options aren't + really supported) and add some warning messages. Some credit to + oej, who was complaining in #asterisk-dev. + + * res/res_odbc.c: Some sanity checks that may have led to prior + crashes, found by codefreeze-lap (murf) on IRC. Also some cleanup + of incorrectly-used constants. + +2008-10-01 17:18 +0000 [r145479] Leif Madsen <lmadsen@digium.com> + + * contrib/scripts/realtime_pgsql.sql: Update the realtime_pgsql.sql + script to create the setinterfacevar column. (closes issue + #13549) Reported by: fiddur + +2008-10-01 Russell Bryant <russell@digium.com> + + * Asterisk 1.4.22 released. + +2008-09-09 Russell Bryant <russell@digium.com> + + * Asterisk 1.4.22-rc5 released. + +2008-09-09 15:40 +0000 [r142063] Russell Bryant <russell@digium.com> + + * res/res_features.c: Ensure that the stored CDR reference is still + valid after the bridge before poking at it. Also, keep the + channel locked while messing with this CDR. (fixes crashes + reported in issue #13409) + +2008-09-08 21:10 +0000 [r141809] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Fix pedantic mode of chan_sip to only check + the remote tag of an endpoint once a dialog has been confirmed. + Up until that point, it is possible and legal for the far-end to + send provisional responses with a different To: tag each time. + With this patch applied, these provisional messages will not + cause a matching problem. (closes issue #11536) Reported by: ibc + Patches: 11536v2.patch uploaded by putnopvut (license 60) + +2008-09-08 21:02 +0000 [r141806] Russell Bryant <russell@digium.com> + + * main/pbx.c: When doing an async goto, detect if the channel is + already in the middle of a masquerade. This can happen when + chan_local is trying to optimize itself out. If this happens, + fail the async goto instead of bursting into flames. (closes + issue #13435) Reported by: geoff2010 + +2008-09-08 Russell Bryant <russell@digium.com> + + * Asterisk 1.4.22-rc4 released. + +2008-09-08 20:15 +0000 [r141741] Jason Parker <jparker@digium.com> + + * Makefile, redhat (removed): Remove RPM package targets from + Makefile (and all associated parts). This has never worked in + 1.4, and we decided that it makes no sense to be done here. There + are many distros out there that already have "proper" spec files + that can be (re)used. Closes issue #13113 Closes issue #10950 + Closes issue #10952 + +2008-09-08 16:26 +0000 [r141678] Russell Bryant <russell@digium.com> + + * configure, configure.ac: Actually use Zaptel CFLAGS if using + Zaptel instead of DAHDI This fixes building against Zaptel when + using a custom path + +2008-09-06 20:13 +0000 [r141565] Steve Murphy <murf@digium.com> + + * channels/chan_sip.c: This fix comes from Joshua Colp The + Brilliant, who, given the trace, came up with a solution. This + will most likely will close 13235 and 13409. I'll wait till + Monday to verify, and then close these bugs. + +2008-09-06 15:23 +0000 [r141503] Tilghman Lesher <tlesher@digium.com> + + * res/res_agi.c: Reverting behavior change (AGI should not exit + non-zero on SUCCESS) (closes issue #13434) Reported by: + francesco_r + +2008-09-05 21:10 +0000 [r141217-141366] Mark Michelson <mmichelson@digium.com> + + * channels/chan_agent.c: Agent's should not try to call a channel's + indicate callback if the channel has been hung up. It will likely + crash otherwise ABE-1159 + + * apps/app_voicemail.c: Since greetings are not stored in IMAP, we + should not be DISPOSE'ing of them the same way we do with other + messages. (closes issue #13414) Reported by: mthomasslo Patches: + 13414v2.patch uploaded by putnopvut (license 60) Tested by: + mthomasslo + + * channels/chan_sip.c: Commit 140417 had a logic flaw in it which + caused port 5060 to always be used when dialing a peer if no + explicit port was specified. This broke the behavior of + implicitly using the port from which the peer registered if no + port is specified. This commit fixes the logic flaw. (closes + issue #13424) Reported by: mdu113 Patches: 13424.patch uploaded + by putnopvut (license 60) Tested by: mdu113 + +2008-09-05 14:15 +0000 [r141094-141156] Steve Murphy <murf@digium.com> + + * main/channel.c: A small change to prevent double-posting of + CDR's; thanks to Daniel Ferrer for bringing it to our attention + + * pbx/ael/ael-test/ref.ael-vtest25 (added), + pbx/ael/ael-test/ael-vtest25/extensions.ael (added), + pbx/ael/ael-test/ael-vtest25 (added), pbx/ael/ael_lex.c, + pbx/ael/ael-test/ref.ael-test6, pbx/ael/ael.flex: (closes issue + #13357) Reported by: pj Tested by: murf (closes issue #13416) + Reported by: yarns Tested by: murf If you find this message + overly verbose, relax, it's probably not meant for you. This + message is meant for probably only two people in the whole world: + me, or the poor schnook that has to maintain this code because + I'm either dead or unavailable at the moment. This fix solves two + reports, both having to do with embedding a function call in a + ${} construct. It was tricky because the funccall syntax has + parenthesis () in it. And up till now, the 'word' token in the + flex stuff didn't allow that, because it would tend to steal the + LP and RP tokens. To be truthful, the "word" token was the + trickiest, most unstable thing in the whole lexer. I was lucky it + made this long without complaints. I had to choose every + character in the pattern with extreme care, and I knew that + someday I'd have to revisit it. Well, the day has come. So, my + brilliant idea (and I'm being modest), was to use the surrounding + ${} construct to make a state machine and capture everything in + it, no matter what it contains. But, I have to now treat the word + token like I did with comments, in that I turn the whole thing + into a state-machine sort of spec, with new contexts + "curlystate", "wordstate", and "brackstate". Wait a minute, + "brackstate"? Yes, well, it didn't take very many regression + tests to point out if I do this for ${} constructs, I also have + to do it with the $[] constructs, too. I had to create a separate + pcbstack2 and pcbstack3 because these constructs can occur inside + macro argument lists, and when we have two state machines + operating on the same structures we'd get problems otherwise. I + guess I could have stopped at pcbstack2 and had the brackstate + stuff share it, but it doesn't hurt to be safe. So, the pcbpush + and pcbpop routines also now have versions for "2" and "3". I had + to add the {KEYWORD} construct to the initial pattern for "word", + because previously word would match stuff like "default7", + because it was a longer match than the keyword "default". But, + not any more, because the word pattern only matches only one or + two characters now, and it will always lose. So, I made it the + winner again by making an optional match on any of the keywords + before it's normal pattern. I added another regression test to + make sure we don't lose this in future edits, and had to fix just + one regression, where it no longer reports a 'cascaded' error, + which I guess is a plus. I've given some thought as to whether to + apply these fixes to 1.4 and the 1.6.x releases, vs trunk; I + decided to put it in 1.4 because one of the bug reports was + against 1.4; and it is unexpected that AEL cannot handle this + situation. It actually reduced the amount of useless "cascade" + error messages that appeared in the regressions (by one line, + ehhem). There is a possible side-effect in that it does now do + more careful checking of what's in those ${} constructs, as far + as matching parens, and brackets are concerned. Some users may + find a an insidious problem and correct it this way. This should + be exceedingly rare, I hope. + +2008-09-04 17:00 +0000 [r141028] Jeff Peeler <jpeeler@digium.com> + + * res/res_features.c, res/res_agi.c: (closes issue #11979) Fixes + multiple parking problems: Crash when executing a park on an + extension dialed by AGI due to not returning the proper return + code. Crash when using a builtin feature that was a subset of a + enabled dynamic feature. Crash due to always hanging up the peer + despite the fact that the peer was supposed to be parked. + +2008-09-03 Russell Bryant <russell@digium.com> + + * Asterisk 1.4.22-rc3 released. + +2008-09-03 14:29 +0000 [r140850] Mark Michelson <mmichelson@digium.com> + + * apps/app_voicemail.c: Fix voicemail forwarding when using ODBC + storage. (closes issue #13387) Reported by: moliveras Patches: + 13387.patch uploaded by putnopvut (license 60) Tested by: + putnopvut, moliveras + +2008-09-03 13:24 +0000 [r140816] Russell Bryant <russell@digium.com> + + * main/poll.c: Don't freak out if the poll emulation receives NULL + for the pollfds array (closes issue #13307) Reported by: jcovert + +2008-09-02 23:47 +0000 [r140751] Mark Michelson <mmichelson@digium.com> + + * apps/app_voicemail.c: After adding the context checking to + app_voicemail for IMAP storage, I left out a crucial place to + copy the context to the vm_state structure. This is the + correction. + +2008-09-02 23:36 +0000 [r140670-140747] Steve Murphy <murf@digium.com> + + * main/cdr.c: I am turning the warnings generated in ast_cdr_free + and post_cdr into verbose level 2 messages. Really, they matter + little to end users. You either get the CDR's you wanted, or you + don't, and it is a bug. + + * main/channel.c: After reconsidering, with respect to 13409, + ast_cdr_detach should be OK, better in fact, than ast_cdr_free, + which generates lots of useless warnings that will undoubtably + generate complaints. + + * main/channel.c, main/pbx.c: (closes issue #13409) Reported by: + tomaso Patches: asterisk-1.6.0-rc2-cdrmemleak.patch uploaded by + tomaso (license 564) I basically spent the day, verifying that + this patch solves the problem, and doesn't hurt in non-problem + cases. Why valgrind did not plainly reveal this leak absolutely + mystifies and stuns me. Many, many thanks to tomaso for finding + and providing the fix. + +2008-09-02 18:14 +0000 [r140605] Sean Bright <sean.bright@gmail.com> + + * channels/chan_iax2.c: Make sure to use the correct length of the + mohinterpret and mohsuggest buffers when copying configuration + values. (closes issue #13336) Reported by: + decryptus_proformatique Patches: + chan_iax2_mohinterpret_mohsuggest_general_settings.patch uploaded + by decryptus (license 555) + +2008-08-29 17:34 +0000 [r140417-140488] Mark Michelson <mmichelson@digium.com> + + * main/manager.c, apps/app_queue.c, channels/chan_iax2.c: After + working on the ao2_containers branch, I noticed something a bit + strange. In all cases where we provide a callback function to + ao2_container_alloc, the callback function would only return 0 or + CMP_MATCH. After inspecting the ao2_callback() code carefully, I + found that if you're only looking for one specific item, then you + should return CMP_MATCH | CMP_STOP. Otherwise, astobj2 will + continue traversing the current bucket until the end searching + for more matches. In cases like chan_iax2 where in 1.4, all the + peers are shoved into a single bucket, this makes for potentially + terrible performance since the entire bucket will be traversed + even if the peer is one of the first ones come across in the + bucket. All the changes I have made were for cases where the + callback function defined was passed to ao2_container_alloc so + that calls to ao2_find could find a unique instance of whatever + object was being stored in the container. + + * apps/app_voicemail.c: Add context checking when retrieving a + vm_state. This was causing a problem for people who had + identically named mailboxes in separate voicemail contexts. This + commit affects IMAP storage only. (closes issue #13194) Reported + by: moliveras Patches: 13194.patch uploaded by putnopvut (license + 60) Tested by: putnopvut, moliveras + + * channels/chan_sip.c: Fix SIP's parsing so that if a port is + specified in a string to Dial(), it is not ignored. (closes issue + #13355) Reported by: acunningham Patches: 13355v2.patch uploaded + by putnopvut (license 60) Tested by: acunningham + +2008-08-27 19:49 +0000 [r140299] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Fix tag checking in get_sip_pvt_byid_locked + when in pedantic mode. The problem was that the wrong tags would + be compared depending on the direction of the call. (closes issue + #13353) Reported by: flefoll Patches: + chan_sip.c.br14.139015.patch-refer-pedantic uploaded by flefoll + (license 244) + +2008-08-26 16:49 +0000 [r140115] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_dahdi.c: add HAVE_PRI if define around + dahdi_close_pri_fd + +2008-08-26 16:07 +0000 [r140060] Russell Bryant <russell@digium.com> + + * channels/chan_sip.c: Fix some bogus scheduler usage in chan_sip. + This code used the return value of a completely unrelated + function to determine whether the scheduler should be run or not. + This would have caused the scheduler to not run in cases where it + should have. Also, leave a note about another scheduler issue + that needs to be addressed at some point. + +2008-08-26 15:57 +0000 [r140056] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_dahdi.c: (closes issue #12071) Reported by: tzafrir + Patches: dahdi_close.diff uploaded by tzafrir (license 46) Tested + by: tzafrir, jpeeler This patch fixes closing open file + descriptors in the case of an error. + +2008-08-26 15:27 +0000 [r140051] Russell Bryant <russell@digium.com> + + * channels/chan_iax2.c: Fix a race condition with the IAX scheduler + thread. A lock and condition are used here to allow newly + scheduled tasks to wake up the scheduler just in case the new + task needs to run sooner than the current wakeup time when the + thread is sleeping. However, there was a race condition such that + a newly scheduled task would not properly wake up the scheduler + or affect the wake up period. The order of execution would have + been: 1) Scheduler thread determines wake up time of N ms. 2) + Another thread schedules a task and signals the condition, with + an execution time of < N ms. 3) Scheduler thread locks and goes + to sleep for N ms. By moving the sleep time determination to + inside the critical section, this possibility is avoided. + +2008-08-26 15:22 +0000 [r140050] Terry Wilson <twilson@digium.com> + + * Makefile: sounds/Makefile installs sounds using the "new" + language directory structure, but languageprefix needs to be set + = yes for sounds in subdirectories (digits/1, etc.) to play as + the correct language. Fix the generation of asterisk.conf to + include languageprefix=yes + +2008-08-26 14:09 +0000 [r140029] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_dahdi.c: correct a file location in an error + message + +2008-08-25 21:47 +0000 [r139927] Jeff Peeler <jpeeler@digium.com> + + * main/manager.c: Fix a typo I made. Lesson learned, apply the + patch if one exists. + +2008-08-25 21:31 +0000 [r139909] Sean Bright <sean.bright@gmail.com> + + * build_tools/get_moduleinfo, build_tools/get_makeopts: Some + versions of awk (nawk, for example) don't like empty regular + expressions so be slightly more verbose. (closes issue #13374) + Reported by: dougm Patches: 13374.diff uploaded by seanbright + (license 71) Tested by: dougm + +2008-08-25 20:46 +0000 [r139869] Terry Wilson <twilson@digium.com> + + * channels/chan_sip.c: Make SIPADDHEADER() propagate indefinitely + +2008-08-25 15:52 +0000 [r139769] Mark Michelson <mmichelson@digium.com> + + * main/config.c: Fix the logic in config_text_file_save so that if + an UpdateConfig manager action is issued and the file specified + in DstFileName does not yet exist, an error is not returned. + (closes issue #13341) Reported by: vadim Patches: 13341.patch + uploaded by putnopvut (license 60) (with small modification from + seanbright) + +2008-08-25 15:33 +0000 [r139764] Steve Murphy <murf@digium.com> + + * main/pbx.c, res/res_features.c: This patch reverts the changes + made via 139347, and 139635, as users are seeing adverse + difference. I will un-close 13251. Back to the drawing board/ + concept/ beginning/ whatever! + +2008-08-22 22:24 +0000 [r139635] Steve Murphy <murf@digium.com> + + * res/res_features.c: I found some problems with the code I + committed earlier, when I merged them into trunk, so I'm coming + back to clean up. And, in the process, I found an error in the + code I added to trunk and 1.6.x, that I'll fix using this patch + also. + +2008-08-22 21:36 +0000 [r139621] Jeff Peeler <jpeeler@digium.com> + + * main/manager.c: (closes issue #13359) Reported by: Laureano + Patches: originate_channel_check.patch uploaded by Laureano + (license 265) + +2008-08-22 19:45 +0000 [r139456-139553] Mark Michelson <mmichelson@digium.com> + + * include/asterisk/threadstorage.h: Fix compilation when + DEBUG_THREAD_LOCALS is selected (closes issue #13298) Reported + by: snuffy Patches: bug13298_20080822.diff uploaded by snuffy + (license 35) + + * main/frame.c: Remove show_frame_stats_deprecated since it is not + used anywhere and causes build errors if building under dev-mode + with TRACE_FRAMES selected in menuselect. (closes issue #13362) + Reported by: snuffy + + * channels/chan_iax2.c: Fix the build. Thanks, mvanbaak! + + * channels/chan_iax2.c: Prevent a deadlock in chan_iax2 resulting + from incorrect locking order between iax2_pvt and ast_channel + structures. AST-13 + +2008-08-21 23:39 +0000 [r139387] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_dahdi.c: Fixes loop that could possibly never exit + in the event of a channel never being able to be opened or + specify after a restart. (closes issue #11017) + +2008-08-21 23:03 +0000 [r139347] Steve Murphy <murf@digium.com> + + * main/pbx.c, res/res_features.c: (closes issue #13251) Reported + by: sergee Tested by: murf THis is a bold move for a static + release fix, but I wouldn't have made it if I didn't feel + confident (at least a *bit* confident) that it wouldn't mess + everyone up. The reasoning goes something like this: 1. We simply + cannot do anything with CDR's at the current point (in pbx.c, + after the __ast_pbx_run loop). It's way too late to have any + affect on the CDRs. The CDR is already posted and gone, and the + remnants have been cleared. 2. I was very much afraid that moving + the running of the 'h' extension down into the bridge code (where + it would be now practical to do it), would result in a lot more + calls to the 'h' exten, so I implemented it as another exten + under another name, but found, to my pleasant surprise, that + there was a 1:1 correspondence to the running of the 'h' exten in + the pbx_run loop, and the new spot at the end of the bridge. So, + I ifdef'd out the current 'h' loop, and moved it into the bridge + code. The only difference I can see is the stuff about the + AST_PBX_KEEPALIVE, and hopefully, if this is still an important + decision point, I can replicate it if there are complaints. To be + perfectly honest, the KEEPALIVE situation is not totally clear to + me, and how it relates to a post-bridge situation is less clear. + I suspect the users will point out everything in total clarity if + this steps on anyone's toes! 3. I temporarily swap the bridge_cdr + into the channel before running the 'h' exten, which makes it + possible for users to edit the cdr before it goes out the door. + And, of course, with the endbeforehexten config var set, the + users can also get at the billsec/duration vals. After the h + exten finishes, the cdr is swapped back and processing continues + as normal. Please, all who deal with CDR's, please test this + version of Asterisk, and file bug reports as appropriate! + +2008-08-21 10:11 +0000 [r139283] Philippe Sultan <philippe.sultan@gmail.com> + + * channels/chan_gtalk.c: Apply fix for issue #13310 to branch 1.4, + too. + +2008-08-20 22:14 +0000 [r139213] Russell Bryant <russell@digium.com> + + * apps/app_chanspy.c: Fix a crash in the ChanSpy application. The + issue here is that if you call ChanSpy and specify a spy group, + and sit in the application long enough looping through the + channel list, you will eventually run out of stack space and the + application with exit with a seg fault. The backtrace was always + inside of a harmless snprintf() call, so it was tricky to track + down. However, it turned out that the call to snprintf() was just + the biggest stack consumer in this code path, so it would always + be the first one to hit the boundary. (closes issue #13338) + Reported by: ruddy + +2008-08-20 19:52 +0000 [r139151] Shaun Ruffell <sruffell@digium.com> + + * codecs/codec_dahdi.c: Fix bug where the samples were not accurate + when in G723 mode, which would cause the timestamp field of the + RTP header to be invalid. + +2008-08-20 19:35 +0000 [r139145] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_dahdi.c, configure, + include/asterisk/autoconfig.h.in, configure.ac: Backport support + for Zaptel/DAHDI channel-level alarms from trunk/1.6, because not + doing so just makes it difficult for people with channels that + are in alarm when Asterisk starts up to get them going once the + alarm is cleared (closes issue #12160) Reported by: tzafrir + Patches: asterisk-chanalarms_14.patch uploaded by tzafrir + (license 46) Tested by: tzafrir + +2008-08-20 17:14 +0000 [r139074] Steve Murphy <murf@digium.com> + + * main/cdr.c: (closes issue #13263) Reported by: brainy Tested by: + murf The specialized reset routine is tromping on the flags field + of the CDR. I made a change to not reset the DISABLED bit. This + should get rid of this problem. + +2008-08-20 15:37 +0000 [r139015] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: sip_read should properly handle a NULL + return from sip_rtp_read. (closes issue #13257) Reported by: + travishein + +2008-08-19 23:22 +0000 [r138949] Jeff Peeler <jpeeler@digium.com> + + * include/asterisk/dahdi_compat.h: add DAHDI_POLICY_WHEN_FULL + compatability define for Zaptel + +2008-08-19 23:17 +0000 [r138942] Mark Michelson <mmichelson@digium.com> + + * channels/chan_agent.c: Reset agent_pvt variables back to the + values in agents.conf (from what the corresponding channel + variables were set to) when the agent logs out. (closes issue + #13098) Reported by: davidw Patches: + 20080731__issue13098_agent_ackcall_not_reset.diff uploaded by + bbryant (license 36) Tested by: davidw + +2008-08-19 22:56 +0000 [r138938] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_dahdi.c: Add configuration option to + chan_dahdi.conf to allow buffering policy and number of buffers + to be configured per channel. Syntax: buffers=<num of + buffers>,<policy> Where the number of buffers is some + non-negative integer and the policy is either "full", "half", or + "immediate". + +2008-08-19 18:50 +0000 [r138685-138886] Mark Michelson <mmichelson@digium.com> + + * apps/app_chanspy.c: Add a lock and unlock prior to the + destruction of the chanspy_ds lock to ensure that no other + threads still have it locked. While this should not happen under + normal circumstances, it appears that if the spyer and spyee hang + up at nearly the same time, the following may occur. 1. + ast_channel_free is called on the spyee's channel. 2. The chanspy + datastore is removed from the spyee's channel in + ast_channel_free. 3. In the spyer's thread, the spyer attempts to + remove and destroy the datastore from the spyee channel, but the + datastore has already been removed in step 2, so the spyer + continues in the code. 4. The spyee's thread continues and calls + the datastore's destroy callback, chanspy_ds_destroy. This + involves locking the chanspy_ds. 5. Now the spyer attempts to + destroy the chanspy_ds lock. The problem is that in step 4, the + spyee has locked this lock, meaning that the spyer is attempting + to destroy a lock which is currently locked by another thread. + The backtrace provided in issue #12969 supports the idea that + this is possible (and has even occurred). This commit does not + close the issue, but should help in preventing one type of crash + associated with the use of app_chanspy. + + * apps/app_queue.c: Change the inequalities used in app_queue with + regards to timeouts from being strict to non-strict for more + accuracy. (closes issue #13239) Reported by: atis Patches: + app_queue_timeouts_v2.patch uploaded by atis (license 242) + +2008-08-18 16:57 +0000 [r138663] Kevin P. Fleming <kpfleming@digium.com> + + * codecs/codec_dahdi.c: look for transcoder in proper place based + on build against Zaptel or DAHDI + +2008-08-18 11:57 +0000 [r138569] Sean Bright <sean.bright@gmail.com> + + * channels/chan_dahdi.c: You know what's awesome? Code that + compiles... ;) + +2008-08-18 02:05 +0000 [r138516] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_dahdi.c: fix compilation warnings + +2008-08-16 01:12 +0000 [r138309-138360] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_dahdi.c: fixes use count to properly decrement if + an active dahdi channel is destroyed allowing module to be + unloaded + + * channels/chan_dahdi.c: add forgotten locks around ss_thread_count + in ss_thread for dahdi restart + +2008-08-15 22:33 +0000 [r138258] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_sip.c, configs/sip.conf.sample: More fixes for + realtime peers. (closes issue #12921) Reported by: Nuitari + Patches: 20080804__bug12921.diff.txt uploaded by Corydon76 + (license 14) 20080815__bug12921.diff.txt uploaded by Corydon76 + (license 14) Tested by: Corydon76 + +2008-08-15 21:28 +0000 [r138119-138238] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_dahdi.c: initialize condition variable + ss_thread_complete using ast_cond_init + + * channels/chan_dahdi.c: declared static mutexes using + AST_MUTEX_DEFINE_STATIC macro + + * channels/chan_dahdi.c: Fixes the dahdi restart functionality. + Dahdi restart allows one to restart all DAHDI channels, even if + they are currently in use. This is different from unloading and + then loading the module since unloading requires the use count to + be zero. Reloading the module is different in that the signalling + is not changed from what it was originally configured. Also, this + fixes not closing all the file descriptors for D-channels upon + module unload (which would prevent loading the module + afterwards). (closes issue #11017) + +2008-08-15 15:07 +0000 [r138027] Russell Bryant <russell@digium.com> + + * main/autoservice.c: Ensure that when a hangup occurs in + autoservice, that a hangup frame gets properly deferred to be + read from the channel owner when it gets taken out of + autoservice. (closes issue #12874) Reported by: dimas Patches: + v1-12874.patch uploaded by dimas (license 88) + +2008-08-15 14:51 +0000 [r137847-138023] Tilghman Lesher <tlesher@digium.com> + + * funcs/func_strings.c: Additional check for more string specifiers + than arguments. (closes issue #13299) Reported by: adomjan + Patches: 20080813__bug13299.diff.txt uploaded by Corydon76 + (license 14) func_strings.c-sprintf.patch uploaded by adomjan + (license 487) Tested by: adomjan + + * channels/chan_dahdi.c: Oops, wrong direction + + * channels/chan_dahdi.c: When creating the secondary subchannel + name, it is necessary to compare to the existing channel name + without the "Zap/" or "DAHDI/" prefix, since our test string is + also without that prefix. (closes issue #13027) Reported by: + dferrer Patches: chan_zap-1.4.21.1_fix2.patch uploaded by dferrer + (license 525) (Slightly modified by me, to compensate for both + names) + +2008-08-14 14:05 +0000 [r137731] Russell Bryant <russell@digium.com> + + * configs/sip.conf.sample: Comments in this config file were + aligned only if your tab size was set to 8. So, convert tabs to + spaces so that things should be aligned regardless of what tab + size you use in your editor. + +2008-08-14 02:03 +0000 [r137677-137679] Kevin P. Fleming <kpfleming@digium.com> + + * Zaptel-to-DAHDI.txt: forgot one module name that changed + + * include/asterisk/dahdi_compat.h, channels/chan_dahdi.c, + build_tools/menuselect-deps.in, configure, configure.ac, + codecs/codec_dahdi.c: add support for Zaptel versions that + contain the new transcoder interface + +2008-08-13 21:35 +0000 [r137580] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_dahdi.c: Register DAHDISendKeypadFacility + application if dahdi_chan_mode is set to DAHDI + Zap. Mark + ZapSendKeypadFacility application as deprecated on usage. + +2008-08-13 20:46 +0000 [r137527-137530] Kevin P. Fleming <kpfleming@digium.com> + + * Zaptel-to-DAHDI.txt (added): add document describing what users + will need to be aware of when upgrading to this version and using + DAHDI + + * apps/app_meetme.c: remove some more chan_zap references + + * doc/asterisk-conf.txt, channels/chan_dahdi.c: document + dahdichanname option in doc/asterisk-conf.txt make chan_dahdi + read its configuration from zapata.conf if dahdichanname has been + set to 'no' + +2008-08-13 14:33 +0000 [r137348-137405] Sean Bright <sean.bright@gmail.com> + + * doc/cdrdriver.txt: Update docs to reflect the change to cdr_tds + + * cdr/cdr_tds.c: Bring cdr_tds in line with the other CDR backends + and have it try to store CDR(userfield) if it is set. The new + behavior is to check for the userfield column on module load, and + if it exists, we will store CDR(userfield) when CDRs are written. + A similar patch already went into trunk and 1.6.0. (closes issue + #13290) Reported by: falves11 + +2008-08-11 13:33 +0000 [r137188] Kevin P. Fleming <kpfleming@digium.com> + + * apps/app_meetme.c: convert this module to be able to handle DAHDI + or Zaptel (reported on asterisk-users, don't know how this got + missed before) + +2008-08-11 00:20 +0000 [r137138] Tilghman Lesher <tlesher@digium.com> + + * res/res_odbc.c: Deallocate database connection handle on + disconnect, as we allocate another one on connect. (closes issue + #13271) Reported by: dveiga + +2008-08-09 17:11 +0000 [r136999] Russell Bryant <russell@digium.com> + + * configure, configure.ac: Ensure PBX_DAHDI_TRANSCODE will evaluate + to 0 if not found instead of empty. pointed out by tzafrir on + #asterisk-dev + +2008-08-09 15:25 +0000 [r136946] Tilghman Lesher <tlesher@digium.com> + + * /, include/asterisk/compat.h, include/asterisk/astobj2.h: Merged + revisions 136945 via svnmerge from + https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ + r136945 | tilghman | 2008-08-09 10:24:36 -0500 (Sat, 09 Aug 2008) + | 2 lines Regression fixes for Solaris ........ + +2008-08-08 00:15 +0000 [r136726] Steve Murphy <murf@digium.com> + + * pbx/ael/ael-test/ref.ael-test8, pbx/ael/ael-test/ref.ael-test18, + pbx/ael/ael-test/ref.ael-vtest13, + pbx/ael/ael-test/ref.ael-ntest10, pbx/pbx_ael.c, + include/asterisk/ael_structs.h: (closes issue #13236) Reported + by: korihor Wow, this one was a challenge! I regrouped and ran a + new strategy for setting the ~~MACRO~~ value; I set it once per + extension, up near the top. It is only set if there is a switch + in the extension. So, I had to put in a chunk of code to detect a + switch in the pval tree. I moved the code to insert the set of + ~~exten~~ up to the beginning of the gen_prios routine, instead + of down in the switch code. I learned that I have to push the + detection of the switches down into the code, so everywhere I + create a new exten in gen_prios, I make sure to pass onto it the + values of the mother_exten first, and the exten next. I had to + add a couple fields to the exten struct to accomplish this, in + the ael_structs.h file. The checked field makes it so we don't + repeat the switch search if it's been done. I also updated the + regressions. + +2008-08-07 18:25 +0000 [r136560] Kevin P. Fleming <kpfleming@digium.com> + + * build_tools/menuselect-deps.in, configure, configure.ac: change + the required dependency for codec_dahdi to only be satisfied by + DAHDI and not Zaptel, as the new transcoder interface is only in + DAHDI + +2008-08-07 18:14 +0000 [r136544] Shaun Ruffell <sruffell@digium.com> + + * codecs/codec_dahdi.c: Updated codec_dahdi to use the new + transcoder interface in the first DAHDI release. Codec dahdi no + longer functions with the transcoder interface in zaptel at this + time (which the last zaptel release was 1.4.11). NOTE: Still + needs an update to the configure script to make sure that + codec_dahdi is only built if the new transcoder interface is + present in the drivers. (Issue: DAHDI-42) + +2008-08-07 16:50 +0000 [r136488] Tilghman Lesher <tlesher@digium.com> + + * apps/app_queue.c: Update persistent state on all exit conditions. + (closes issue #12916) Reported by: sgenyuk Patches: + app_queue.patch.txt uploaded by neutrino88 (license 297) Tested + by: sgenyuk, aragon + +2008-08-07 16:30 +0000 [r136404-136484] Kevin P. Fleming <kpfleming@digium.com> + + * include/asterisk/doxyref.h: add a raw list of all libraries that + any part of Asterisk links directly to + + * apps/app_voicemail.c: work around a bug in gcc-4.2.3 that + incorrectly ignores the casting away of 'const' for pointers when + the developer knows it is safe to do so + + * Makefile: remove config.cache during distclean, in case the user + is using autoconf caching + +2008-08-07 01:31 +0000 [r136304-136348] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_dahdi.c: Also, parse + useincomingcalleridonzaptransfer (and add appropriate deprecation + warnings). + + * channels/chan_dahdi.c: For backwards compatibility with previous + 1.4 versions which used "zapchan" in users.conf, ensure that we + still support it. + +2008-08-06 21:18 +0000 [r136241] Richard Mudgett <rmudgett@digium.com> + + * channels/misdn_config.c, channels/chan_misdn.c, + configs/misdn.conf.sample: * The allowed_bearers setting in + misdn.conf misspelled one of its options: digital_restricted. * + Fixed some other spelling errors and typos. + +2008-08-06 20:42 +0000 [r136238] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: We only need to unregister the QueueStatus + manager command once on an unload + +2008-08-06 20:14 +0000 [r136190] Tilghman Lesher <tlesher@digium.com> + + * contrib/init.d/rc.redhat.asterisk: -C option takes a filename, + not a directory path. (closes issue #13007) Reported by: + klaus3000 + +2008-08-06 18:58 +0000 [r136168] Russell Bryant <russell@digium.com> + + * Makefile: Remove the use of --no-print-directory when compiling + subdirectories. This allows vim :make functionality to work + properly when errors have occurred in the build. Without printing + the directories, vim did not know how to find the file that the + error occurred in. If the extra bit of build noise annoys anyone, + just let me know, and I'll make this optional. + +2008-08-06 15:58 +0000 [r136062] Mark Michelson <mmichelson@digium.com> + + * main/rtp.c, channels/chan_skinny.c: Since adding the + AST_CONTROL_SRCUPDATE frame type, there are places where + ast_rtp_new_source may be called where the tech_pvt of a channel + may not yet have an rtp structure allocated. This caused a crash + in chan_skinny, which was fixed earlier, but now the same crash + has been reported against chan_h323 as well. It seems that the + best solution is to modify ast_rtp_new_source to not attempt to + set the marker bit if the rtp structure passed in is NULL. This + change to ast_rtp_new_source also allows the removal of what is + now a redundant pointer check from chan_skinny. (closes issue + #13247) Reported by: pj + +2008-08-06 03:53 +0000 [r135899-135949] Tilghman Lesher <tlesher@digium.com> + + * main/channel.c: Fix a longstanding bug in channel walking logic, + and fix the explanation to make sense. (Closes issue #13124) + + * main/translate.c: Since powerof() can return an error condition, + it's foolhardy not to detect and deal with that condition. + (Related to issue #13240) + + * include/asterisk/threadstorage.h, include/asterisk/utils.h: 1) + Bugfix for debugging code 2) Reduce compiler warnings for another + section of debugging code (Closes issue #13237) + +2008-08-06 00:29 +0000 [r135841-135850] Mark Michelson <mmichelson@digium.com> + + * /: Remove properties that should not be here + + * apps/app_skel.c: Revert inadvertent changes to app_skel that + occurred when I was testing for a memory leak + + * include/asterisk/abstract_jb.h, main/channel.c, /, + apps/app_skel.c, main/abstract_jb.c, main/fixedjitterbuf.h: + Merging the issue11259 branch. The purpose of this branch was to + take into account "burps" which could cause jitterbuffers to + misbehave. One such example is if the L option to Dial() were + used to inject audio into a bridged conversation at regular + intervals. Since the audio here was not passed through the + jitterbuffer, it would cause a gap in the jitterbuffer's + timestamps which would cause a frames to be dropped for a brief + period. Now ast_generic_bridge will empty and reset the + jitterbuffer each time it is called. This causes injected audio + to be handled properly. ast_generic_bridge also will empty and + reset the jitterbuffer if it receives an AST_CONTROL_SRCUPDATE + frame since the change in audio source could negatively affect + the jitterbuffer. All of this was made possible by adding a new + public API call to the abstract_jb called ast_jb_empty_and_reset. + (closes issue #11259) Reported by: plack Tested by: putnopvut + +2008-08-05 23:13 +0000 [r135799] Steve Murphy <murf@digium.com> + + * apps/app_dial.c, main/cdr.c, main/channel.c, res/res_features.c, + include/asterisk/cdr.h: (closes issue #12982) Reported by: bcnit + Tested by: murf I discovered that also, in the previous bug fixes + and changes, the cdr.conf 'unanswered' option is not being + obeyed, so I fixed this. And, yes, there are two 'answer' times + involved in this scenario, and I would agree with you, that the + first answer time is the time that should appear in the CDR. (the + second 'answer' time is the time that the bridge was begun). I + made the necessary adjustments, recording the first answer time + into the peer cdr, and then using that to override the bridge + cdr's value. To get the 'unanswered' CDRs to appear, I purposely + output them, using the dial cmd to mark them as DIALED (with a + new flag), and outputting them if they bear that flag, and you + are in the right mode. I also corrected one small mention of the + Zap device to equally consider the dahdi device. I heavily tested + 10-sec-wait macros in dial, and without the macro call; I tested + hangups while the macro was running vs. letting the macro + complete and the bridge form. Looks OK. Removed all the + instrumentation and debug. + +2008-08-05 21:34 +0000 [r135747] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_iax2.c: In a conversion to use ast_strlen_zero, the + meaning of the flag IAX_HASCALLERID was perverted. This change + reverts IAX2 to the original meaning, which was, that the + callerid set on the client should be overridden on the server, + even if that means the resulting callerid is blank. In other + words, if you set "callerid=" in the IAX config, then the + callerid should be overridden to blank, even if set on the + client. Note that there's a distinction, even on realtime, + between the field not existing (NULL in databases) and the field + existing, but set to blank (override callerid to blank). + +2008-08-05 13:25 +0000 [r135597] Sean Bright <sean.bright@gmail.com> + + * main/cli.c: Use PATH_MAX for filenames + +2008-08-04 20:15 +0000 [r135536] Russell Bryant <russell@digium.com> + + * configs/chan_dahdi.conf.sample: fix a config sample typo + +2008-08-04 17:07 +0000 [r135479-135482] Tilghman Lesher <tlesher@digium.com> + + * contrib/init.d/rc.mandrake.asterisk: Define ASTSBINDIR for script + + * apps/app_voicemail.c: Memory leak on unload (closes issue #13231) + Reported by: eliel Patches: app_voicemail.leak.patch uploaded by + eliel (license 64) + +2008-08-04 16:26 +0000 [r135473] Russell Bryant <russell@digium.com> + + * configs/chan_dahdi.conf.sample: Add a minor clarification to the + documentation of mohinterpret and mohsuggest + +2008-08-01 11:43 +0000 [r135055-135058] Michiel van Baak <michiel@vanbaak.info> + + * apps/app_ices.c: make app_ices compile on OpenBSD. + + * channels/chan_skinny.c: fix some potential deadlocks in + chan_skinny (closes issue #13215) Reported by: qwell Patches: + 2008080100_bug13215.diff.txt uploaded by mvanbaak (license 7) + Tested by: mvanbaak + +2008-07-31 22:18 +0000 [r134983] Kevin P. Fleming <kpfleming@digium.com> + + * main/http.c: accomodate users who seem to lack a sense of humor + :-) + +2008-07-31 21:53 +0000 [r134976] Tilghman Lesher <tlesher@digium.com> + + * sample.call, main/manager.c, pbx/pbx_spool.c: Specify codecs in + callfiles and manager, to allow video calls to be set up from + callfiles and AMI. (closes issue #9531) Reported by: Geisj + Patches: 20080715__bug9531__1.4.diff.txt uploaded by Corydon76 + (license 14) 20080715__bug9531__1.6.0.diff.txt uploaded by + Corydon76 (license 14) Tested by: Corydon76 + +2008-07-31 19:37 +0000 [r134915] Russell Bryant <russell@digium.com> + + * apps/app_ices.c: Get app_ices working again (closes issue #12981) + Reported by: dlogan Patches: + 20080709__app_ices_v2_update_trunk.diff uploaded by bbryant + (license 36) 20080709__app_ices_v2_update_14.diff uploaded by + bbryant (license 36) Tested by: bbryant + +2008-07-31 19:23 +0000 [r134883] Steve Murphy <murf@digium.com> + + * res/res_features.c: (closes issue #11849) Reported by: greyvoip + Tested by: murf OK, a few days of debugging, a bunch of + instrumentation in chan_sip, main/channel.c, main/pbx.c, etc. and + 5 solid notebook pages of notes later, I have made the small + tweek necc. to get the start time right on the second CDR when: A + Calls B B answ. A hits Xfer button on sip phone, A dials C and + hits the OK button, A hangs up C answers ringing phone B and C + converse B and/or C hangs up But does not harm the scenario + where: A Calls B B answ. B hits xfer button on sip phone, B dials + C and hits the OK button, B hangs up C answers ringing phone A + and C converse A and/or C hangs up The difference in start times + on the second CDR is because of a Masquerade on the B channel + when the xfer number is sent. It ends up replacing the CDR on the + B channel with a duplicate, which ends up getting tossed out. We + keep a pointer to the first CDR, and update *that* after the + bridge closes. But, only if the CDR has changed. I hope this + change is specific enough not to muck up any current CDR-based + apps. In my defence, I assert that the previous information was + wrong, and this change fixes it, and possibly other similar + scenarios. I wonder if I should be doing the same thing for the + channel, as I did for the peer, but I can't think of a scenario + this might affect. I leave it, then, as an exersize for the + users, to find the scenario where the chan's CDR changes and + loses the proper start time. + +2008-07-31 16:45 +0000 [r134814] Russell Bryant <russell@digium.com> + + * channels/iax2-parser.c: In case we have some processing threads + that free more frames than they allocate, do not let the frame + cache grow forever. (closes issue #13160) Reported by: tavius + Tested by: tavius, russell + +2008-07-31 15:56 +0000 [r134758] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: Add more timeout checks into app_queue, + specifically targeting areas where an unknown and potentially + long time has just elapsed. Also added a check to try_calling() + to return early if the timeout has elapsed instead of potentially + setting a negative timeout for the call (thus making it have *no* + timeout at all). (closes issue #13186) Reported by: + miquel_cabrespina Patches: 13186.diff uploaded by putnopvut + (license 60) Tested by: miquel_cabrespina + +2008-07-30 22:39 +0000 [r134704] Tilghman Lesher <tlesher@digium.com> + + * main/sched.c, include/asterisk/sched.h: Oops, wrong define + +2008-07-30 22:02 +0000 [r134652] Steve Murphy <murf@digium.com> + + * pbx/pbx_ael.c: (closes issue #13197) Reported by: pj (closes + issue #13051) Reported by: pj This patch substitutes commas in + the expr supplied to the if () statement, as in if ( expr ) ... + This solves both the bugs above, and makes the source symmetric + with switch statements, which were earlier reported to need this + sort of treatment. I tested this using the examples, both for the + compiler and at run time. Looks good. + +2008-07-30 21:38 +0000 [r134649] Tilghman Lesher <tlesher@digium.com> + + * configure, configure.ac: Qwell pointed out, via IRC, that the + previous fix only worked when explicitly set. When nothing is + set, and the option is implied, it breaks, because configure sets + the prefix to 'NONE'. Fixing. + +2008-07-30 20:37 +0000 [r134540-134595] Russell Bryant <russell@digium.com> + + * pbx/pbx_dundi.c: Reduce stack consumption by 12.5% of the max + stack size to fix a crash when compiled with LOW_MEMORY. (closes + issue #13154) Reported by: edantie + + * funcs/func_curl.c: Fix a memory leak in func_curl. Every thread + that used this function leaked an allocation the size of a + pointer. (reported by jmls in #asterisk-dev) + +2008-07-30 19:47 +0000 [r134480-134536] Tilghman Lesher <tlesher@digium.com> + + * configure, configure.ac: Only override sysconfdir and mandir when + prefix=/usr (closes issue #13093) Reported by: pabelanger + + * res/res_agi.c: launch_netscript sometimes returns -1, which fails + to set AGISTATUS. Map failure to -1, so that AGISTATUS is always + set. (closes issue #13199) Reported by: smw1218 + +2008-07-30 18:31 +0000 [r134475] Mark Michelson <mmichelson@digium.com> + + * main/app.c: Fix a spot where a function could return without + bringing a channel out of autoservice. + +2008-07-30 15:29 +0000 [r134254-134352] Kevin P. Fleming <kpfleming@digium.com> + + * Makefile: use the proper method for building version.h + + * include/asterisk/dahdi_compat.h, apps/app_dahdibarge.c, + channels/chan_dahdi.c, apps/app_meetme.c, apps/app_flash.c, + apps/app_dahdiscan.c, apps/app_dahdiras.c, codecs/codec_dahdi.c: + build against the now-typedef-free dahdi/user.h + +2008-07-29 15:54 +0000 [r134223] Mark Michelson <mmichelson@digium.com> + + * apps/app_voicemail.c: Merging the imap_consistency branch. The + main aim of this branch was to make the IMAP code function in the + same manner as the ODBC code does, eliminating the need for so + many IMAP-specific code chunks. The focal point of all of this + work was to make the various macros (e.g. RETRIEVE, DISPOSE) + functionally equivalent. While doing the above work, I also fixed + a few bugs that I came across in my testing. Among these were 1. + Fixed message forwarding. This was completely broken when using + IMAP. 2. Fixed the inability to save new messages as old and vice + versa. 3. Fixed the "delete" options in voicemail.conf when using + IMAP storage. Even though a few bugs were fixed and the code is a + lot more consistent, the one thing that was *not* improved in + this branch was performance. The merge of this to trunk may not + come immediately due to the amount of work it will probably + involve. (closes issue #12764) Reported by: balsamcn + +2008-07-28 21:50 +0000 [r134161] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: Detect when sox fails to raise the volume, + because sox can't read the file. (closes issue #12939) Reported + by: rickbradley Patches: 20080728__bug12939.diff.txt uploaded by + Corydon76 (license 14) Tested by: rickbradley + +2008-07-26 15:31 +0000 [r133980] Russell Bryant <russell@digium.com> + + * main/asterisk.c, include/asterisk/doxyref.h: Add the licensing + section to the docs in 1.4, as well, so that we can work on + having an accurate list for each version of Asterisk that is + supported + +2008-07-25 18:00 +0000 [r133649-133709] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: Remove unnecessary mmap flag (Closes issue + #13161) + + * main/channel.c, channels/chan_agent.c, main/devicestate.c: Fix + some errant device states by making the devicestate API more + strict in terms of the device argument (only without the unique + identifier appended). (closes issue #12771) Reported by: davidw + Patches: 20080717__bug12771.diff.txt uploaded by Corydon76 + (license 14) Tested by: davidw, jvandal, murf + +2008-07-25 15:00 +0000 [r133578] Russell Bryant <russell@digium.com> + + * /, LICENSE: Merged revisions 133577 via svnmerge from + https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ + r133577 | russell | 2008-07-25 10:00:13 -0500 (Fri, 25 Jul 2008) + | 2 lines Fix the IAX2 URI for calling Digium ........ + +2008-07-25 14:40 +0000 [r133572] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: We need to make sure to null-terminate the + "name" portion of SIP URI parameters so that there are no bogus + comparisons. Thanks to bbryant for pointing this out. + +2008-07-24 21:17 +0000 [r133361-133488] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_sip.c: Fix rtautoclear and rtcachefriends (Closes + issue #12707) + + * /: Blocked revisions 133360 via svnmerge ........ r133360 | + tilghman | 2008-07-23 22:46:01 -0500 (Wed, 23 Jul 2008) | 2 lines + This part was not correctly patched for AST-2008-010. ........ + +2008-07-23 21:49 +0000 [r133295] Jason Parker <jparker@digium.com> + + * channels/chan_dahdi.c: inbandrelease is gone - it's now + inbanddisconnect + +2008-07-23 21:05 +0000 [r133226-133237] Kevin P. Fleming <kpfleming@digium.com> + + * include/asterisk/stringfields.h, main/utils.c: revert an + optimization that broke ABI... thanks russell! + + * apps/app_chanspy.c, include/asterisk/options.h, main/asterisk.c, + apps/app_dahdibarge.c, channels/chan_dahdi.c, + apps/app_dahdiras.c: make some more changes to the dahdi/zap + channel name support stuff to ensure allthe globals are 'const', + and clean up mmichelson's changes to app_chanspy to simplify the + code + +2008-07-23 19:39 +0000 [r132974-133169] Mark Michelson <mmichelson@digium.com> + + * apps/app_chanspy.c, include/asterisk/options.h, main/asterisk.c, + channels/chan_dahdi.c: As suggested by seanbright, the + PSEUDO_CHAN_LEN in app_chanspy should be set at load time, not at + compile time, since dahdi_chan_name is determined at load time. + Also changed the next_unique_id_to_use to have the static + qualifier. Also added the dahdi_chan_name_len variable so that + strlen(dahdi_chan_name) isn't necessary. Thanks to seanbright for + the suggestion. + + * apps/app_chanspy.c: Zap/pseudo is ten characters, but + DAHDI/pseudo is twelve. The strncmp call in next_channel should + account for this. + + * apps/app_chanspy.c: Update the "last" channel in next_channel in + app_chanspy so that the same pseudo channel isn't constantly + returned. related to issue #13124 + + * channels/chan_dahdi.c: Small cleanup. Move the declaration of the + DAHDI_SPANINFO variable to the block where it is used. This + allows one less #ifdef HAVE_PRI to clutter things up. Thanks to + Tzafrir for pointing this out on #asterisk-dev + + * channels/chan_dahdi.c: Fix building of chan_dahdi when HAVE_PRI + is not defined. + +2008-07-23 15:52 +0000 [r132872-132942] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_dahdi.c: ensure that after a channel is created, if + it happened to be in 'channel alarm' state, when that alarm + clears we won't generate a spurious 'alarm cleared' message + (closes issue #12160) Reported by: tzafrir + + * include/asterisk/stringfields.h, main/utils.c: minor optimization + for stringfields: when a field is being set to a larger value + than it currently contains and it happens to be the most recent + field allocated from the currentl pool, it is possible to 'grow' + it without having to waste the space it is currently using (or + potentially even allocate a new pool) + +2008-07-23 11:37 +0000 [r132826] Christian Richter <christian.richter@beronet.com> + + * channels/misdn/isdn_lib.c: another Fix because of r119585, this + commit has broken high frequented BRI Ports, there was a + possibility that a channel, that was marked as in_use would be + reused later, the corresponding port could got stuck then. So it + is recommended to upgrade for chan_misdn users. + +2008-07-22 22:14 +0000 [r132790] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Allow Spiraled INVITEs to work correctly + within Asterisk. Prior to this change, a spiraled INVITE would + cause a 482 Loop Detected to be sent to the caller. With this + change, if a potential loop is detected, the Request-URI is + inspected to see if it has changed from what was originally + received. If pedantic mode is on, then this inspection is fully + RFC 3261 compliant. If pedantic mode is not on, then a string + comparison is used to test the equality of the two R-URIs. This + has been tested by using OpenSER to rewrite the R-URI and send + the INVITE back to Asterisk. (closes issue #7403) Reported by: + stephen_dredge + +2008-07-22 22:11 +0000 [r132784-132787] Kevin P. Fleming <kpfleming@digium.com> + + * include/asterisk/options.h, main/asterisk.c, + apps/app_dahdibarge.c, channels/chan_dahdi.c, apps/app_flash.c, + apps/app_dahdiras.c: fix up namespace pollution for + dahdi_chan_mode enum correct registration of AMI actions in + chan_dahdi; in zap-only mode, only register the Zap flavors of + the actions (and use Zap prefixes for headers and acks), but in + dahdi+zap mode, register both Zap and DAHDI flavors of actions + + * Makefile.rules: add rules to create preprocessor output... useful + for debugging macros + +2008-07-22 21:19 +0000 [r132713] Tilghman Lesher <tlesher@digium.com> + + * configs/iax.conf.sample, /, channels/chan_iax2.c: Merged + revisions 132711 via svnmerge from + https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ + r132711 | tilghman | 2008-07-22 16:14:10 -0500 (Tue, 22 Jul 2008) + | 2 lines Fixes for AST-2008-010 and AST-2008-011 ........ + +2008-07-22 21:17 +0000 [r132704-132712] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_dahdi.c: ensure that if any alarms exist at channel + creation time, they are handled identically to if they occurred + later, so that later alarm clearing will work properly and 'make + sense' (closes issue #12160) Reported by: tzafrir + + * configure, configure.ac, acinclude.m4: make AST_C_COMPILE_CHECK + able to print a 'pretty' description of what it is doing + +2008-07-22 20:10 +0000 [r132645] Olle Johansson <oej@edvina.net> + + * channels/chan_sip.c, doc/sip-retransmit.txt (added): The most + common question on the #asterisk iRC channel and on mailing lists + seems to be in regards to an error message when retransmit fails. + This is frequently misunderstood as a failure of Asterisk, not a + failure of the network to reach the other party. This document + tries to assist the Asterisk user in sorting out these issues by + explaining the logic and pointing at some possible causes. + Hopefully, we will get other questions now :-) + +2008-07-22 19:57 +0000 [r132571-132642] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_dahdi.c: correct wording in comment + + * channels/chan_dahdi.c, configs/chan_dahdi.conf.sample, configure, + include/asterisk/autoconfig.h.in, configure.ac: use renamed + libpri API call for controlling this feature (was improperly + named before) + + * channels/chan_dahdi.c: teach chan_dahdi how to find the D-channel + on BRI spans, and don't attempt to use channel 24 as a D-channel + on spans of unexpected sizes + +2008-07-21 20:51 +0000 [r132506-132507] Brett Bryant <bbryant@digium.com> + + * apps/app_sendtext.c: Fix a bug where SENDTEXTSTATUS isn't set + properly when it isn't supported on a channel (yet _another_ + useful patch by eliel). (issue #13081) Reported by: eliel + Patches: app_sendtext1.4.c uploaded by eliel (license 64) Tested + by: eliel + + * channels/chan_iax2.c: Fix a bug in 1.4 branch with iax2 channels + not being removed when a call was rejected (from the calling box, + not the box that denied the registration). Related to revisions + 132466 in trunk, and 132467 in 1.6.0. Earlier I had accidently + tested 1.4 with a backport from those revisions, so I didn't see + this problem (oops). + +2008-07-19 16:45 +0000 [r132311] Kevin P. Fleming <kpfleming@digium.com> + + * LICENSE: grant a license exception to allow distribution of + Asterisk binaries that use the UW IMAP Toolkit (which is licensed + under a non-GPL-compatible license) + +2008-07-18 19:06 +0000 [r131970-132112] Tilghman Lesher <tlesher@digium.com> + + * main/say.c: Fix for Taiwanese number syntax (closes issue #12319) + Reported by: CharlesWang Patches: saynumber-tw-1.4.18.1.patch + uploaded by CharlesWang (license 444) + + * main/config.c: Textual clarification (closes issue #13106) + Reported by: flefoll Patches: + config.c.br14.120173.patch-unknown-directive uploaded by flefoll + (license 244) + + * include/asterisk/sched.h, channels/chan_iax2.c: Spinlock within + the destroy, to allow a scheduled job to continue, if it's + waiting on the mutex which the destroy thread has. + + * main/sched.c: Oops + + * main/sched.c, include/asterisk/sched.h: Preserve ABI + compatibility with last change + + * main/sched.c, include/asterisk/sched.h, channels/chan_iax2.c: + Make the ast_assert call within ast_sched_del report something + useful. + +2008-07-18 16:15 +0000 [r131921] Kevin P. Fleming <kpfleming@digium.com> + + * main/dlfcn.c (removed), main/loader.c, main/Makefile, + include/asterisk/dlfcn-compat.h (removed): remove the dlfcn + compatibility stuff, because no platforms that Asterisk currently + runs on it use it, and it doesn't build anyway + +2008-07-18 15:34 +0000 [r131915] Brett Bryant <bbryant@digium.com> + + * res/res_features.c: Fix a bug in blind transfers where the + BLINDTRANSFER variable isn't always set to the other end of the + blind transfer. (closes issue #12586) + +2008-07-17 20:35 +0000 [r131790] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_dahdi.c: Revert part of issue #5620 (revision 6965) + as it appears that it was in error. This should fix talk call + progress on analog lines. (closes issue #12178) Reported by: + michael-fig Patches: 20080717__bug12178.diff.txt uploaded by + Corydon76 (license 14) + +2008-07-16 22:17 +0000 [r131491] Brett Bryant <bbryant@digium.com> + + * channels/chan_iax2.c: Fix a bug in iax2 registration that allowed + peers to register with case-insensitive names (user_cmp_cb and + peer_cmp_cb are now both case-sensitive). (closes issue #13091) + +2008-07-16 21:46 +0000 [r131480] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_iax2.c: Apparently, in certain cases, a callno is + already destroyed when iax2_destroy is called. + +2008-07-16 20:47 +0000 [r131421] Russell Bryant <russell@digium.com> + + * channels/chan_iax2.c: Always ensure that the channel's tech_pvt + reference is NULL after calling the destroy callback. (closes + issue #13060) Reported by: jpgrayson Patches: + chan_iax2_tech_pvt_crash.patch uploaded by jpgrayson (license + 492) + +2008-07-16 20:23 +0000 [r131299-131369] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: Move the init_queue call back to where it used + to be (changed Sept 12 last year). It was moved then to prevent a + memory leak. Since then, the same memory leak recurred and was + fixed in a better way. Now it has been found that the placement + of this init_queue call can cause problems if a realtime queue + has values changed to an empty string. The problem is that the + default value for that queue parameter would not be set. (closes + issue #13084) Reported by: elbriga + + * apps/app_queue.c: Apparently, "thread safety" is important, + whatever that means. :P (Thanks Russell!) + + * apps/app_queue.c: Make absolutely certain that the transfer + datastore is removed from the calling channel once the caller is + finished in the queue. This could have weird con- sequences when + dialing local queue members when multiple transfers occur on a + single call. Also fixed a memory leak that would occur when an + attended transfer occurred from a queue member. (closes issue + #13047) Reported by: festr + +2008-07-16 17:53 +0000 [r131242] Steve Murphy <murf@digium.com> + + * pbx/pbx_ael.c: (closes issue #13090) Reported by: murf The + problem was that, esoteric as it is, because the hangerupper + context immediately preceded the std-priv-extent macro, that the + checking code accidentally would fall from traversing hangerupper + into the std-priv-exten macro, where it would hit the hangerupper + in the 'includes', and proceed into an infinite recursion. A + small fix to traverse into the statements of the context instead + of the context solves this issue. I also added some commented out + printfs for debug, which were pretty handy in the face of a dorky + gdb. This was a problem around since the package was first + written; but evidently pretty rare in turning up in the field. + +2008-07-15 17:47 +0000 [r131012] Michiel van Baak <michiel@vanbaak.info> + + * main/cdr.c: remove 4 lines of redundant code. (closes issue + #13080) Reported by: gknispel_proformatique Patches: + trunk_ast_cdr_setapp.patch uploaded by gknispel (license 261) + +2008-07-15 17:19 +0000 [r130889-130959] Tilghman Lesher <tlesher@digium.com> + + * main/manager.c, channels/chan_sip.c: astman_send_error does not + need a newline appended -- the API takes care of that for us. + (closes issue #13068) Reported by: gknispel_proformatique + Patches: asterisk_1_4_astman_send.patch uploaded by gknispel + (license 261) asterisk_trunk_astman_send.patch uploaded by + gknispel (license 261) + + * channels/chan_iax2.c: Override the callerid in all cases when the + callerid is set in the user, not just when a remote callerid is + set. Also, if not set in the user, allow the remote CallerID to + pass through. (closes issue #12875) Reported by: dimas Patches: + 20080714__bug12875.diff.txt uploaded by Corydon76 (license 14) + +2008-07-14 17:50 +0000 [r130792] Mark Michelson <mmichelson@digium.com> + + * apps/app_dial.c: Add a check to the CAN_EARLY_BRIDGE macro in + app_dial to be sure there are no audiohooks present on the + channels involved. This fixed a one-way audio situation I had in + my test setup. I couldn't find any open issues that suggested + one-way audio with regards to mixmonitor (or other audiohook) + usage, though. + +2008-07-14 17:10 +0000 [r130735] Michiel van Baak <michiel@vanbaak.info> + + * main/dnsmgr.c: notify the user that dnsmgr refresh wont work when + dnsmgr is not enabled. Previously this command would + automagically appear and disappear. This was confusing. (closes + issue #12796) Reported by: chappell Patches: + dnsmgr_refresh_3.diff uploaded by chappell (license 8) Tested by: + russell, chappell, mvanbaak + +2008-07-14 10:38 +0000 [r130634] Russell Bryant <russell@digium.com> + + * main/audiohook.c: Bump up the debug level for a message. + +2008-07-13 22:48 +0000 [r130573] Michiel van Baak <michiel@vanbaak.info> + + * main/manager.c: fix memory leak when originate from manager + cannot create a thread (closes issue #13069) Reported by: + gknispel_proformatique Patches: + asterisk_trunk_action_originate.patch uploaded by gknispel + (license 261) Tested by: gknispel_proformatique, mvanbaak + +2008-07-13 17:56 +0000 [r130514] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_iax2.c: Reverting 2 changesets, as it breaks + incoming IAX2 calls (Related to issue #12963) Reported by: + mvanbaak + +2008-07-12 10:25 +0000 [r130373] Michiel van Baak <michiel@vanbaak.info> + + * pbx/pbx_ael.c: in 1.4 the functions still have | as argument + seperator. This commit fixes the use of RAND in the ael random + function. (closes issue #13061) Reported by: danpwi + +2008-07-11 22:23 +0000 [r130298-130317] Kevin P. Fleming <kpfleming@digium.com> + + * Makefile: forcibly remove the modules that are changing names + + * include/asterisk/options.h, main/asterisk.c, cdr/cdr_csv.c, + Makefile, main/channel.c, apps/app_dahdibarge.c, + channels/chan_dahdi.c, doc/hardware.txt, apps/app_flash.c, + apps/app_dahdiras.c, main/file.c, + contrib/utils/zones2indications.c, include/asterisk/channel.h, + channels/chan_iax2.c: a whole pile of Zaptel/DAHDI compatibility + work, with lots more to come... this tree is not yet ready for + users to be easily upgrading or switching, but it needs to be :-) + +2008-07-11 20:03 +0000 [r130173-130236] Mark Michelson <mmichelson@digium.com> + + * main/audiohook.c: Remove redundant logic + + * main/audiohook.c: Fix a typo in audiohook_read_frame_both. While + this change has not been proven to fix any specific issue, it is + incorrect and could cause unforeseen problems. + +2008-07-11 18:51 +0000 [r130102-130169] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_iax2.c: Ensure that a destination callno of 0 will + not match for frames that do not start a dialog (new, lagrq, and + ping). (closes issue #12963) Reported by: russellb Patches: + chan_iax2_dup_new_fix4.patch uploaded by jpgrayson (license 492) + + * channels/chan_agent.c: Pass the devicestate from an underlying + channel up through the Agent channel. This should make the Agent + always report the correct device state, even when the underlying + channel is used for other purposes. (closes issue #12773) + Reported by: davidw Patches: 20080710__bug12773.diff.txt uploaded + by Corydon76 (license 14) Tested by: davidw + +2008-07-11 16:08 +0000 [r130039-130042] Kevin P. Fleming <kpfleming@digium.com> + + * doc/configuration.txt, configs/extensions.conf.sample, + configs/sla.conf.sample, configs/zapata.conf.sample (removed), + contrib/scripts/autosupport, README, + configs/chan_dahdi.conf.sample (added), channels/chan_dahdi.c, + include/asterisk/doxyref.h, doc/sla.tex, doc/ael.txt, + configs/extensions.ael.sample, configs/smdi.conf.sample: new + installations should be using DAHDI instead of Zaptel, so the + sample config file is now chan_dahdi.conf instead of zapata.conf + also, convert remaining references to zapata.conf in various + places + + * configs/zapata.conf.sample, channels/chan_dahdi.c, configure, + include/asterisk/autoconfig.h.in, configure.ac: add support for a + configuration parameter for 'inband audio during RELEASE', which + is currently mandatory in libpri-1.4.4 but will become + configurable in libpri-1.4.5 later today (related to issue + #13042) + +2008-07-11 14:18 +0000 [r129970] Russell Bryant <russell@digium.com> + + * include/asterisk/astobj.h: add a simple ASTOBJ_TRYWRLOCK macro + ... + +2008-07-11 14:14 +0000 [r129907-129967] Kevin P. Fleming <kpfleming@digium.com> + + * main/astmm.c: simplify calculation + + * main/astmm.c: fix a flaw found while experimenting with structure + alignment and padding; low-fence checking would not work properly + on 64-bit platforms, because the compiler was putting 4 bytes of + padding between the fence field and the allocation memory block + added a very obvious runtime warning if this condition reoccurs, + so the developer who broke it can be chastised into fixing it :-) + + * sounds/Makefile: don't attempt to set user/group ownership of + extracted sound files (reported on asterisk-users) (closes issue + #13059) + +2008-07-10 21:57 +0000 [r129741-129803] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_iax2.c: Correctly deal with duplicate NEW frames + (due to retransmission). Also, fixup the destination call number + matching to be more strict and reliable. (closes issue #12963) + Reported by: jpgrayson Patches: chan_iax2_dup_new_fix3.patch + uploaded by jpgrayson (license 492) Tested by: jpgrayson, + Corydon76 + + * res/res_config_odbc.c: Oops + +2008-07-10 16:03 +0000 [r129567] Russell Bryant <russell@digium.com> + + * sample.call: Note that pbx_spool.so is the module used for call + files (inspired by a question in #asterisk) + +2008-07-10 13:57 +0000 [r129505] Sean Bright <sean.bright@gmail.com> + + * main/editline: Update svn:ignore + +2008-07-09 19:32 +0000 [r129436] Mark Michelson <mmichelson@digium.com> + + * main/rtp.c: Fix a problem where inbound rfc2833 audio would be + sent to the core instead of being P2P bridged. When the core + regenerated the rfc2833 packet for the outbound leg, the SSRC + would be different than the RTP audio on the call leg causing + DTMF detection issues on the far end. (closes issue #12955) + Reported by: tonyredstone Patches: dynamic_rtp.patch uploaded by + tsearle (license 373) Tested by: tonyredstone + +2008-07-09 13:41 +0000 [r129343] Sean Bright <sean.bright@gmail.com> + + * main/editline/makelist (removed), main/editline/makelist.in + (added), main/editline/configure, main/editline/Makefile.in, + main/editline/configure.in: Look for the system installed awk + instead of assuming it's at /usr/bin/awk. Pointed out by jmls via + #asterisk-dev. + +2008-07-08 21:31 +0000 [r129158-129208] Mark Michelson <mmichelson@digium.com> + + * doc/imapstorage.txt: Update documentation to have the correct + option name + + * apps/app_voicemail.c, doc/imapstorage.txt: Backport TCP-related + timeouts to IMAP voicemail in 1.4 since it should solve bugs + people are experiencing. Specifically, there are times where + communication with the IMAP server causes system calls to block + forever. If this should happen when querying the mailbox so that + chan_sip's do_monitor thread can send MWI to a phone, it means + that SIP calls cannot be processed any more. The timeout options + are outlined in doc/imapstorage.txt. Defaults for the timeouts + are sixty seconds. (closes issue #12987) Reported by: mthomasslo + +2008-07-08 20:27 +0000 [r129047-129149] Tilghman Lesher <tlesher@digium.com> + + * apps/app_dial.c, channels/chan_sip.c, include/asterisk/causes.h: + Cause SIP to return a 480 instead of a 404 when a sip peer + exists, but is not registered. (closes issue #12885) Reported by: + ibc Patches: 20080701__bug12885__2.diff.txt uploaded by Corydon76 + (license 14) Tested by: ibc + + * channels/chan_iax2.c: Timestamp decoding for video mini-frames is + bogus, because the timestamp only includes 15 bits, unlike voice + frames, which contain a 16-bit timestamp. (closes issue #13013) + Reported by: jpgrayson Patches: chan_iax2_unwrap_ts.patch + uploaded by jpgrayson (license 492) + +2008-07-08 09:52 +0000 [r128912-128950] Olle Johansson <oej@edvina.net> + + * channels/chan_sip.c: Don't hangup the call if we can't resolve + the Contact if there's a proxy route set for the call. ---- This + comment was added a while ago and today it hit me badly. /* OEJ: + Possible issue that may need a check: If we have a proxy route + between us and the device, should we care about resolving the + contact or should we just send it? */ + + * channels/chan_sip.c: Fix issues where repeated messages where + ignored, but retransmitted reliably instead of unreliably. + Reported by: johan Patches: 12746.txt uploaded by oej (license + 306) Tested by: johan (issue #12746) + +2008-07-08 00:01 +0000 [r128812-128856] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: Check for non-NULL before stripping + characters. (closes issue #12954) Reported by: bfsworks Patches: + 20080701__bug12954.diff.txt uploaded by Corydon76 (license 14) + Tested by: deti + + * apps/app_voicemail.c: Stop using deprecated method, as requested + by Kevin. + +2008-07-07 22:41 +0000 [r128795] Russell Bryant <russell@digium.com> + + * channels/chan_iax2.c: Fix handling of when a pvt disappears. + Properly return the pvt locked and don't hold the pvt lock while + destroying the ast_channel. (closes issue #13014) Reported by: + jpgrayson Patches: chan_iax2_ast_iax2_new2.patch uploaded by + jpgrayson (license 492) + +2008-07-07 20:47 +0000 [r128737] Sean Bright <sean.bright@gmail.com> + + * channels/chan_iax2.c: Remove spurious trailing whitespace from + log messages and fix a spelling error in a log message. (closes + issue #13017) Reported by: jpgrayson Patches: + chan_iax2_space_after_newline.patch uploaded by jpgrayson + (license 492) chan_iax2_spelling.patch uploaded by jpgrayson + (license 492) + +2008-07-07 17:02 +0000 [r128639] Mark Michelson <mmichelson@digium.com> + + * channels/chan_iax2.c: By using the iaxdynamicthreadcount to + identify a thread, it was possible for thread identifiers to be + duplicated. By using a globally-unique monotonically- increasing + integer, this is now avoided. (closes issue #13009) Reported by: + jpgrayson Patches: chan_iax2_dyn_threadnum.patch uploaded by + jpgrayson (license 492) + +2008-07-07 16:51 +0000 [r128637] Kevin P. Fleming <kpfleming@digium.com> + + * configure, configure.ac: use tzafrir's patch to fix this problem + properly... i made the previous set of changes without thoroughly + testing them, doh! (closes issue #12911) Reported by: tzafrir + Patches: custum_dahdi_configure_2.diff uploaded by tzafrir + (license 46) Tested by: tzafrir + +2008-07-04 16:11 +0000 [r127973-128029] Tilghman Lesher <tlesher@digium.com> + + * pbx/pbx_config.c: Move the free down one + + * main/pbx.c, include/asterisk/pbx.h, pbx/pbx_config.c: Fix the + 'dialplan remove extension' logic, so that it a) works with + cidmatch, and b) completes contexts correctly when the extension + is ambiguous. (closes issue #12980) Reported by: licedey Patches: + 20080703__bug12980.diff.txt uploaded by Corydon76 (license 14) + Tested by: Corydon76 + +2008-07-03 22:20 +0000 [r127754-127895] Kevin P. Fleming <kpfleming@digium.com> + + * apps/Makefile: remove this, it has been moved to the main + Makefile + + * Makefile, main/editline/np/vis.c: a couple of small + Solaris-related fixes (closes issue #11885) Reported by: snuffy, + asgaroth + + * configure, main/Makefile, configure.ac, acinclude.m4: ensure that + DAHDI_INCLUDE and ZAPTEL_INCLUDE are added in all the places + needed improve AST_EXT_LIB_CHECK to accept (and remember) + additional CFLAGS data like it does in trunk already (closes + issue #12911) Reported by: tzafrir + +2008-07-03 00:16 +0000 [r127663] Steve Murphy <murf@digium.com> + + * main/cdr.c, main/channel.c, channels/chan_dahdi.c, main/pbx.c, + channels/chan_sip.c, res/res_features.c, include/asterisk/cdr.h: + The CDRfix4/5/6 omnibus cdr fixes. (closes issue #10927) Reported + by: murf Tested by: murf, deeperror (closes issue #12907) + Reported by: falves11 Tested by: murf, falves11 (closes issue + #11849) Reported by: greyvoip As to 11849, I think these changes + fix the core problems brought up in that bug, but perhaps not the + more global problems created by the limitations of CDR's + themselves not being oriented around transfers. Reopen if necc, + but bug reports are not the best medium for enhancement + discussions. We need to start a second-generation CDR + standardization effort to cover transfers. (closes issue #11093) + Reported by: rossbeer Tested by: greyvoip, murf + +2008-07-02 20:47 +0000 [r127560] Mark Michelson <mmichelson@digium.com> + + * channels/chan_agent.c: Fix thread-safety of some of the + pbx_builtin_getvar_helper calls + +2008-07-02 19:47 +0000 [r127501] Tilghman Lesher <tlesher@digium.com> + + * main/acl.c: Merged revisions 127466 via svnmerge from + https://origsvn.digium.com/svn/asterisk/trunk ........ r127466 | + tilghman | 2008-07-02 13:31:11 -0500 (Wed, 02 Jul 2008) | 6 lines + Solaris fix (closes issue #12949) Reported by: snuffy Patches: + bug_12949.diff uploaded by snuffy (license 35) ........ + +2008-07-01 23:36 +0000 [r127244] Mark Michelson <mmichelson@digium.com> + + * apps/app_voicemail.c: Add error message to failed open(2) calls + inside the copy() function of app_voicemail. This idea came as + part of my work in helping to resolve issue #12764. + +2008-07-01 20:25 +0000 [r126999-127133] Tilghman Lesher <tlesher@digium.com> + + * build_tools/cflags.xml, channels/chan_iax2.c: Disable the old, + slow search for matching callno in chan_iax2 (but allow it to be + reenabled for debugging) + + * channels/chan_iax2.c: Oops + + * channels/chan_iax2.c: Change around how we schedule pings and + lagrqs, and fix a reason why the jobs were not getting properly + cancelled. (closes issue #12903) Reported by: stevedavies + Patches: 20080620__bug12903__2.diff.txt uploaded by Corydon76 + (license 14) Tested by: stevedavies + + * channels/chan_iax2.c: Suppress annoying warning by finding the + remaining cases where the callno is not in the hash. + +2008-07-01 14:59 +0000 [r126735-126902] Olle Johansson <oej@edvina.net> + + * channels/chan_sip.c: Use domain part of SIP uri in register= + configuration as fromdomain. Reported by: one47 Patches: + sip-reg-fromdom2.dpatch uploaded by one47 (license 23) (closes + issue #12474) + + * channels/chan_sip.c: Handle escaped URI's in call pickups. Patch + by oej and IgorG. Reported by: IgorG Patches: + bug12299-11062-v2.patch uploaded by IgorG (license 20) Tested by: + IgorG, oej (closes issue #12299) + + * configs/sip.conf.sample: Clear up documentation on "domain=" + setting in sip.conf Reported by: davidw (closes issue #12413) + + * channels/chan_sip.c: Report 200 OK to all in-dialog OPTIONs + requests (to confirm that the dialog exist). Don't bother + checking the request URI. (closes issue #11264) Reported by: ibc + + * channels/chan_sip.c: Fix bad XML for hold notification. Reported + by: gowen72 Patches: hold.patch uploaded by gowen72 (license 432) + (closes issue #12942) + +2008-06-30 23:11 +0000 [r126680] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_dahdi.c: Load the proper channel configuration file + based on which driver was detected. + +2008-06-30 22:30 +0000 [r126674] Tilghman Lesher <tlesher@digium.com> + + * configs/zapata.conf.sample: Add note about other names for + EuroISDN + +2008-06-30 16:05 +0000 [r126573] Russell Bryant <russell@digium.com> + + * include/asterisk/lock.h: Fix a typo in the non-DEBUG_THREADS + version of the recently added DEADLOCK_AVOIDANCE() macro. This + caused the lock to not actually be released, and as a result, not + avoid deadlocks at all. This resolves the issues reported in the + last while about Asterisk locking up all over the place (and most + commonly, in chan_iax2). (closes issue #12927) (closes issue + #12940) (closes issue #12925) (potentially closes others ...) + +2008-06-30 12:50 +0000 [r126516] Olle Johansson <oej@edvina.net> + + * channels/chan_sip.c: Send all responses to an INVITE reliably, so + that we retransmit if we don't get an ACK and also fail if we + don't get the very same precious ACK. Based on patch by tsearle, + with my own additions. (closes issue #12951) Reported by: tsearle + Patches: busy_retransmit.patch uploaded by tsearle (license 373) + +2008-06-29 18:05 +0000 [r126395] Kevin P. Fleming <kpfleming@digium.com> + + * pbx/Makefile: ignore warnings for prototypes in GTK headers + +2008-06-27 22:01 +0000 [r125740-126056] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_sip.c: When we get a 408 Timeout, don't stop trying + to re-register. (closes issue #12863) Reported by: ricvil + + * include/asterisk/tonezone_compat.h: Since HAVE_DAHDI is defined + to HAVE_ZAPTEL in dahdi_compat.h, we must first check for + HAVE_ZAPTEL. (closes issue #12938) Reported by: opticron Patches: + tonezone_compat.diff uploaded by opticron (license 267) + + * main/utils.c, include/asterisk/lock.h: In this debugging + function, copy to a buffer instead of using potentially unsafe + pointers. + + * channels/chan_local.c: Add proper deadlock avoidance. (closes + issue #12914) Reported by: ozan Patches: + 20080625__bug12914.diff.txt uploaded by Corydon76 (license 14) + Tested by: ozan + +2008-06-26 23:03 +0000 [r125587] Jason Parker <jparker@digium.com> + + * main/utils.c: Make sure to unlock the lock_info lock (huh?). + Possible deadlock? + +2008-06-26 22:52 +0000 [r125476-125585] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: Add the interface of a queue member to the + output of the "queue show" command so that it can easily be + associated with a queue member's name. This helps so that the + appropriate queue member can be removed or paused since the + interface is required, not the member's name. (closes issue + #12783) Reported by: davevg Patches: app_queue.diff uploaded by + davevg (license 209) with small mod from me + + * apps/app_queue.c: Backport of attended transfer queue_log patch + from trunk. This patch allows for attended transfers to be logged + in the queue_log the same way that blind transfers have always + been. It was decided by popular opinion on the asterisk-dev + mailing list that this should be backported to 1.4. Thanks to + everyone who gave an opinion. + + * apps/app_queue.c: Prior to this patch, the "queue show" command + used cached information for realtime queues instead of giving + up-to-date info. Now realtime is queried for the latest and + greatest in queue info. (closes issue #12858) Reported by: bcnit + Patches: queue_show.patch uploaded by putnopvut (license 60) + +2008-06-26 16:32 +0000 [r125384] Olle Johansson <oej@edvina.net> + + * channels/chan_sip.c: Add support for peer realm based auth (a few + missing lines, the rest is well documented but never worked) + +2008-06-26 15:30 +0000 [r125327] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_dahdi.c: ensure that (whenever possible) if we + generate a log message because an ioctl() call to DAHDI/Zaptel + failed, that we include the reason it failed by including the + stringified error number (issue AST-80) + +2008-06-26 11:01 +0000 [r125218-125276] Tilghman Lesher <tlesher@digium.com> + + * main/rtp.c: Check for rtcp structure before trying to delete + schedule. (closes issue #12872) Reported by: destiny6628 Patches: + 20080621__bug12872.diff.txt uploaded by Corydon76 (license 14) + Tested by: destiny6628 + + * configs/agents.conf.sample: Document ackcall=always. (closes + issue #12852) Reported by: davidw + +2008-06-25 22:21 +0000 [r125132] Kevin P. Fleming <kpfleming@digium.com> + + * apps/app_rpt.c, include/asterisk/dahdi_compat.h, + channels/chan_dahdi.c, configure, + include/asterisk/tonezone_compat.h (added), configure.ac: allow + tonezone to live in a different place than DAHDI/Zaptel, since + dahdi-tools and dahdi-linux are now separate packages and can be + installed in different places don't include tonezone.h in + dahdi_compat.h, because only a couple of modules need it get + app_rpt building again after the DAHDI changes (closes issue + #12911) Reported by: tzafrir + +2008-06-25 00:46 +0000 [r124908-124965] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_dahdi.c: Pvt deadlock causes some channels to get + stuck in Reserved status. (closes issue #12621) Reported by: + fabianoheringer Patches: 20080612__bug12621.diff.txt uploaded by + Corydon76 (license 14) Tested by: fabianoheringer + + * apps/app_voicemail.c: Occasionally control characters find their + way into CallerID. These need to be stripped prior to placing + CallerID in the headers of an email. (closes issue #12759) + Reported by: RobH Patches: 20080602__bug12759__2.diff.txt + uploaded by Corydon76 (license 14) Tested by: RobH + + * channels/chan_sip.c: Don't access the pvt structure if unable to + acquire the lock. (closes issue #12162) Reported by: norman + Patches: 12162-lockfail.diff uploaded by qwell (license 4) + +2008-06-23 21:22 +0000 [r124743] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_iax2.c: emit a warning if the old IAX2 call + searching code finds a call when the new code did not... so that + we can get rid of the old code in 2-3 months + +2008-06-22 02:54 +0000 [r124540] Steve Murphy <murf@digium.com> + + * apps/app_forkcdr.c: (closes issue #12910) Reported by: chris-mac + Sorry, my testing did not contain the simple case of forkCDR(v), + I am much embarrassed to admit. If I had, I would have more + solidly initialized the opts element for varset. + +2008-06-20 23:12 +0000 [r124395-124450] Tilghman Lesher <tlesher@digium.com> + + * apps/app_rpt.c: usleep with a value over 1,000,000 is + nonportable. Changing to use sleep() instead. (closes issue + #12814) Reported by: pputman Patches: app_rtp_sleep.patch + uploaded by pputman (license 81) + + * main/app.c: If the last character in a string to be parsed is the + delimiter, then we should count that final empty string as an + additional argument. + +2008-06-20 21:14 +0000 [r124372] Jeff Gehlbach <jeffg@opennms.org> + + * doc/asterisk-mib.txt, doc/digium-mib.txt: Fix issues in + digium-mib.txt and asterisk-mib.txt to placate smilint - bug + 12905 + +2008-06-20 20:16 +0000 [r124182-124315] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_local.c: When using a Local channel, started by a + call file, with a destination of an AGI script, the AGI script + does not always get notified of a hangup if the underlying + channel hangs up early. (closes issue #11833) Reported by: IgorG + Patches: local_hangup-v1.diff uploaded by IgorG (license 20) + + * channels/chan_dahdi.c: It's possible for a hangup to be received, + even just after the initial cid spill. (closes issue #12453) + Reported by: Alex728 Patches: 20080604__bug12453.diff.txt + uploaded by Corydon76 (license 14) + +2008-06-19 20:28 +0000 [r124112] Mark Michelson <mmichelson@digium.com> + + * apps/app_voicemail.c: Fix IMAP forwarding so that messages are + sent to the proper mailbox. (closes issue #12897) Reported by: + jaroth Patches: destination_forward.patch uploaded by jaroth + (license 50) + +2008-06-19 19:55 +0000 [r124066] Brett Bryant <bbryant@digium.com> + + * main/utils.c: Merge revision 124064 from trunk. Add errors that + report any locks held by threads when they are being closed. + +2008-06-19 16:58 +0000 [r123710-123930] Tilghman Lesher <tlesher@digium.com> + + * main/channel.c: Change informative messages to use the _multiple + variant when multiple formats are possible. (Closes issue #12848) + Reported by klaus3000 + + * build_tools/strip_nonapi: Only process 40 arguments (20 files) at + once with xargs, because some older shells may force xargs to + separate on an odd boundary. (Closes issue #12883) Reported by + Nik Soggia + + * configs/sip.conf.sample: Correct description of notifyringing + option. (Closes issue #12890) Reported by gminet + + * main/asterisk.c: The RDTSC instruction was introduced on the + Pentium line of microprocessors, and is not compatible with + certain 586 clones, like Cyrix. Hence, asking for i386 + compatibility was always incorrect. See + http://en.wikipedia.org/wiki/RDTSC (Closes issue #12886) Reported + by tecnoxarxa + + * main/say.c, doc/lang (added), doc/lang/hebrew.ods (added): Add + support for saying numbers in Hebrew. (closes issue #11662) + Reported by: greenfieldtech Patches: say.c.patch-12042008 + uploaded by greenfieldtech (license 369) Hebrew-Sounds.ods + uploaded by greenfieldtech (with signficant changes to the + spreadsheet by me) + + * pbx/pbx_spool.c: Set the variables top-down, so that if a script + sets a variable more than once, the last one will take + precedence. (closes issue #12673) Reported by: phber Patches: + 20080519__bug12673.diff.txt uploaded by Corydon76 (license 14) + +2008-06-17 20:26 +0000 [r123485] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Make chan_sip build under dev mode with + compilers >= GCC 4.2 Thanks to jpeeler for alerting me of this + +2008-06-17 18:56 +0000 [r123391] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_iax2.c: Fix 3 more places where not locking the + structure could cause the wrong lock to be unlocked. (Closes + issue #12795) + +2008-06-17 18:09 +0000 [r123274-123333] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Cisco BTS sends SIP responses with a tab + between the Cseq number and SIP request method in the Cseq: + header. Asterisk did not handle this properly, but with this + patch, all is well. (closes issue #12834) Reported by: tobias_e + Patches: 12834.patch uploaded by putnopvut (license 60) Tested + by: tobias_e + + * apps/app_queue.c: davidw pointed out that the holdtime + calculation used by app_queue does not use "boxcar" filtering as + the comments say. The term "boxcar" means that the number of + samples used to calculate stays constant, with new samples + replacing the oldest ones. The queue holdtime calculation uses + all holdtime samples collected since the queue was loaded, so the + comment has been changed to be accurate. (closes issue #12781) + Reported by: davidw + +2008-06-17 15:48 +0000 [r123271] Russell Bryant <russell@digium.com> + + * main/astobj2.c: Fix a memory leak in astobj2 that was pointed out + by seanbright. When a container got destroyed, the underlying + bucket list entry for each object that was in the container at + that time did not get free'd. + +2008-06-16 19:50 +0000 [r123110-123113] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_mgcp.c, channels/chan_dahdi.c, + channels/chan_skinny.c, channels/chan_h323.c, + channels/chan_iax2.c: Port "hasvoicemail" change from SIP to + other channel drivers + + * channels/chan_sip.c: People expect that if "hasvoicemail" is set + in users.conf, even if "mailbox" isn't set, that SIP will detect + a mailbox. (closes issue #12855) Reported by: PLL Patches: + 20080614__bug12855__2.diff.txt uploaded by Corydon76 (license 14) + Tested by: PLL + +2008-06-16 12:31 +0000 [r122869-122919] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: Only compare the first 15 characters so that + even if the charset is specified we still accept it as SDP. + (closes issue #12803) Reported by: lanzaandrea Patches: + chan_sip.c.diff uploaded by lanzaandrea (license 496) + + * channels/chan_sip.c: Don't send a BYE on a dialog that is already + gone during a REFER. (closes issue #12865) Reported by: flefoll + Patches: chan_sip.c.br14.121495.patch-ALREADYGONE uploaded by + flefoll (license 244) + +2008-06-13 21:44 +0000 [r122713] Mark Michelson <mmichelson@digium.com> + + * main/autoservice.c: Short circuit the loop in autoservice_run if + there are no channels to poll. If we continued, then the result + would be calling poll() with a NULL pollfd array. While this is + fine with POSIX's poll(2) system call, those who use Asterisk's + internal poll mechanism (Darwin systems) would have a failed + assertion occur when poll is called. (related to issue #10342) + +2008-06-13 18:57 +0000 [r122663] Jeff Peeler <jpeeler@digium.com> + + * include/asterisk/dahdi_compat.h, res/res_musiconhold.c: fixed + dahdi compatability header from assuming either dahdi or zaptel + is installed (may not have either) + +2008-06-13 17:45 +0000 [r122617] Terry Wilson <twilson@digium.com> + + * apps/app_dial.c: Remove extra option from previous solution + attempt + +2008-06-13 17:36 +0000 [r122613] Jeff Peeler <jpeeler@digium.com> + + * configure, configure.ac: (closes issue #12846) Reported by: + Netview Tested by: jpeeler Use correct location to search for + tonezone. + +2008-06-13 16:29 +0000 [r122589] Terry Wilson <twilson@digium.com> + + * apps/app_dial.c, res/res_features.c: This should fix the behavior + of the 'T' dial feature being passed incorrectly to the + transferee when builtin_atxfers are used. Also, doing a + builtin_atxfer to parking was broken and is fixed here as well. + (closes issue #11898) Reported by: sergee Tested by: otherwiseguy + +2008-06-12 19:08 +0000 [r122314] Jeff Peeler <jpeeler@digium.com> + + * main/indications.c, include/asterisk/dahdi_compat.h (added), + main/loader.c, main/channel.c, channels/chan_dahdi.c (added), + configure, apps/app_zapscan.c (removed), apps/app_zapras.c + (removed), main/app.c, include/asterisk/options.h, + apps/app_rpt.c, channels/chan_mgcp.c, apps/app_read.c, + channels/chan_zap.c (removed), apps/app_page.c, + include/asterisk/indications.h, apps/app_dahdiras.c (added), + configure.ac, apps/app_disa.c, include/asterisk/channel.h, + apps/app_getcpeid.c, apps/app_queue.c, apps/app_zapbarge.c + (removed), channels/chan_misdn.c, apps/app_flash.c, + build_tools/menuselect-deps.in, funcs/func_channel.c, + main/file.c, res/snmp/agent.c, contrib/utils/zones2indications.c, + codecs/codec_dahdi.c (added), res/res_indications.c, + pbx/pbx_config.c, makeopts.in, apps/app_chanspy.c, + main/asterisk.c, apps/app_dahdibarge.c (added), + apps/app_meetme.c, include/asterisk/autoconfig.h.in, + apps/app_dahdiscan.c (added), acinclude.m4, + res/res_musiconhold.c, codecs/codec_zap.c (removed), + channels/chan_iax2.c: Adds DAHDI support alongside Zaptel. DAHDI + usage favored, but all Zap stuff should continue working. Release + announcement to follow. + +2008-06-12 18:50 +0000 [r122311] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: Properly play a holdtime message if the + announce-holdtime option is set to "once." (closes issue #12842) + Reported by: ramonpeek Patches: patch001.diff uploaded by + ramonpeek (license 266) + +2008-06-12 18:22 +0000 [r122259] Russell Bryant <russell@digium.com> + + * channels/chan_iax2.c: Fix some race conditions that cause + ast_assert() to report that chan_iax2 tried to remove an entry + that wasn't in the scheduler + +2008-06-12 15:46 +0000 [r122208] Jeff Peeler <jpeeler@digium.com> + + * apps/app_parkandannounce.c, res/res_features.c: (closes issue + #12193) Reported by: davidw Patch by: Corydon76, modified by me + to work properly with ParkAndAnnounce app + +2008-06-12 15:18 +0000 [r122130-122137] Tilghman Lesher <tlesher@digium.com> + + * apps/app_meetme.c: Flipflop the sections for two options, since + the section for 'X' (exit context) may otherwise absorb + keypresses meant for 's' (admin/user menu). (closes issue #12836) + Reported by: blitzrage Patches: 20080611__bug12836.diff.txt + uploaded by Corydon76 (license 14) Tested by: blitzrage + + * main/channel.c: Occasionally, the alertpipe loses its nonblocking + status, so detect and correct that situation before it causes a + deadlock. (Reported and tested by ctooley via #asterisk-dev) + +2008-06-12 14:51 +0000 [r122127] Steve Murphy <murf@digium.com> + + * main/cdr.c, apps/app_forkcdr.c: Arkadia tried to warn me, but the + code added to ast_cdr_busy, _failed, and _noanswer was redundant. + Didn't spot it until I was resolving conflicts in trunk. Ugh. + Redundant code removed. It wasn't harmful. Just dumb. + +2008-06-12 Russell Bryant <russell@digium.com> + + * Asterisk 1.4.21 released. + +2008-06-06 Russell Bryant <russell@digium.com> + + * Asterisk 1.4.21-rc2 released. + +2008-06-05 18:03 +0000 [r120731-120735] Russell Bryant <russell@digium.com> + + * UPGRADE-1.2.txt: fix filename + + * UPGRADE-1.2.txt (added), UPGRADE.txt: Add the UPGRADE.txt file + from Asterisk 1.2, for handy reference. + +2008-06-05 16:56 +0000 [r120675] Philippe Sultan <philippe.sultan@gmail.com> + + * res/res_jabber.c: Ignore appended resource when comparing JIDs. + +2008-06-05 16:38 +0000 [r120671] Russell Bryant <russell@digium.com> + + * doc/smdi.txt, res/res_smdi.c: It turns out that searching on the + forwarding station isn't very useful for most people, so pull in + the changes that allow searching for SMDI messages based on other + components of the SMDI message. Also, update the SMDI + documentation. + +2008-06-04 22:05 +0000 [r120513] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: Make sure that the string we set will survive + the unref of the queue member. Thanks to Russell, who pointed + this out. + +2008-06-04 18:35 +0000 [r120425] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_zap.c: If we fail to setup the PRI request channel, + don't continue, exit with an error. (closes issue #11989) + Reported by: Corydon76 Patches: 20080213__zap_memleak.diff.txt + uploaded by Corydon76 (license 14) + +2008-06-04 16:26 +0000 [r120371] Russell Bryant <russell@digium.com> + + * pbx/pbx_config.c: Make the "dialplan remove include" CLI command + actually work. Also, tweak some formatting, and make the success + message a little bit more clear. (closes AST-52) + +2008-06-04 14:11 +0000 [r120285] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: Tab completion when removing a member should + give the member's interface, not the name, since the interface is + what is expected for the command. (closes issue #12783) Reported + by: davevg + +2008-06-04 13:31 +0000 [r120282] Joshua Colp <jcolp@digium.com> + + * main/pbx.c, pbx/pbx_config.c: Fix a log message and add a message + for when the dialplan is done reloading. (closes issue #12716) + Reported by: chappell Patches: dialplan_reload_2.diff uploaded by + chappell (license 8) + +2008-06-03 22:41 +0000 [r120226] Tilghman Lesher <tlesher@digium.com> + + * pbx/pbx_loopback.c: Due to incorrect use of the + AST_LIST_INSERT_HEAD() macro the loopback switch cannot perform + any translation on the extension number before searching for it + in the target context. (closes issue #12473) Reported by: + chappell Patches: pbx_loopback.c.diff uploaded by chappell + (license 8) + +2008-06-03 22:15 +0000 [r120173] Jeff Peeler <jpeeler@digium.com> + + * main/config.c: (closes issue #11594) Reported by: yem Tested by: + yem This change decreases the buffer size allocated on the stack + substantially in config_text_file_load when LOW_MEMORY is turned + on. This change combined with the fix from revision 117462 + (making mkintf not copy the zt_chan_conf structure) was enough to + prevent the crash. + +2008-06-03 21:34 +0000 [r120168] Russell Bryant <russell@digium.com> + + * channels/chan_iax2.c: Fix another place where peer->callno could + change at a very bad time, and also fix a place where a peer was + used after the reference was released. (inspired by rev 120001) + +2008-06-03 Russell Bryant <russell@digium.com> + + * Asterisk 1.4.21-rc1 released. + +2008-06-03 18:23 +0000 [r120001-120061] Tilghman Lesher <tlesher@digium.com> + + * main/manager.c: When listing the manager users, managers in + users.conf are not shown, even though they are allowed to + connect. (closes issue #12594) Reported by: bkruse Patches: + 12594-managerusers-2.diff uploaded by qwell (license 4) Tested + by: bkruse + + * channels/chan_iax2.c: Save the callno when we're poking, because + our peer structure could change during deadlock avoidance (and + thus we unlock the wrong callno, causing a cascade failure). + (closes issue #12717) Reported by: gewfie Patches: + 20080525__bug12717.diff.txt uploaded by Corydon76 (license 14) + Tested by: gewfie + +2008-06-03 15:26 +0000 [r119929-119966] Steve Murphy <murf@digium.com> + + * pbx/ael/ael-test/ref.ael-test8, pbx/ael/ael-test/ref.ael-test18, + pbx/ael/ael-test/ref.ael-vtest13, + 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-test3, pbx/ael/ael-test/ref.ael-test5, + pbx/ael/ael-test/ref.ael-test15: Updated the regressions on AEL. + Hadn't updated this for the changes I made to preserve ${EXTEN} + in switches, which affected several tests because it adds extra + priorities, and at least one needed to be updated because of the + removal of the empty extension warning message. + + * pbx/pbx_ael.c: as per + http://lists.digium.com/pipermail/asterisk-users/2008-June/212934.html, + which is a message from Philipp Kempgen, requesting that the + WARNING that an extension is empty be reduced to a NOTICE or + less, as empty extensions are syntactically possible, and no big + deal. With which I agree, and have removed that WARNING message + entirely. I think it is not necessary to see this message. It + didn't state that a NoOp() was inserted automatically on your + behalf, and really, as users, who cares? Why freak out dialplan + writers with unnecessary warnings? The details of the + machinations a compiler goes thru to produce working assembly + code is of little interest to most programmers-- we will follow + the unix principal of doing our work silently. + +2008-06-03 14:46 +0000 [r119926] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: Treat ECONNREFUSED as an error that will + stop further retransmissions. (issue #AST-58, patch from + Switchvox) + +2008-06-02 20:08 +0000 [r119742-119838] Russell Bryant <russell@digium.com> + + * channels/chan_iax2.c: Revert a change made for issue #12479. This + change caused a regression such that a dial string such as + (IAX2/foo) did not automatically fall back to dialing the 's' + extension anymore. (closes issue #12770) Reported by: dagmoller + + * main/manager.c: Improve CLI command blacklist checking for the + command manager action. Previously, it did not handle case or + whitespace properly. This made it possible for blacklisted + commands to get executed anyway. (closes issue #12765) + +2008-06-02 14:32 +0000 [r119740] Philippe Sultan <philippe.sultan@gmail.com> + + * channels/chan_gtalk.c, res/res_jabber.c: Do not link the guest + account with any configured XMPP client (in jabber.conf). The + actual connection is made when a call comes in Asterisk. Fix the + ast_aji_get_client function that was not able to retrieve an XMPP + client from its JID. (closes issue #12085) Reported by: junky + Tested by: phsultan + +2008-06-02 12:30 +0000 [r119687] Russell Bryant <russell@digium.com> + + * channels/chan_iax2.c: Even of the first PING or LAGRQ doesn't get + sent because it comes up too soon, make sure to reschedule so it + gets sent later. + +2008-06-02 09:29 +0000 [r119585-119636] Christian Richter <christian.richter@beronet.com> + + * channels/misdn/isdn_lib.c: fixed compile issue when dev-mode is + enabled + + * channels/misdn/isdn_lib.c, channels/misdn/isdn_lib.h: Added + counter for unhandled_bmsg Print, this prevents the logs to be + flooded to fast and save CPU in this error scenario. Added + 'last_used' element to bc structure, when a bchannel changes from + used to free this exact time will be marked in last_used. When a + new channel is requested the find_free_chan function will check + if the new empty channel was used within the last second, if yes + it will search for the next channel, if no it will return this + channel. This simple mechanism has prooven to prevent race + conditions where the NT and TE tried to allocate the exact same + channel at the same time (RELEASE cause: 44). + +2008-06-02 01:06 +0000 [r119530-119533] Russell Bryant <russell@digium.com> + + * channels/chan_iax2.c: Change a debug message to an actual debug + message + + * apps/app_dial.c: Fix another typo in documentation + +2008-06-01 20:47 +0000 [r119478] Michiel van Baak <michiel@vanbaak.info> + + * apps/app_dial.c: small typo fix 'retires' => 'retries' + +2008-05-30 21:17 +0000 [r119404] Tilghman Lesher <tlesher@digium.com> + + * apps/app_queue.c: When joinempty=strict, it only failed on join + if there were busy members. If all members were logged out OR + paused, then it (incorrectly) let callers join the queue. (closes + issue #12451) Reported by: davidw + +2008-05-30 19:46 +0000 [r119354] Joshua Colp <jcolp@digium.com> + + * main/autoservice.c: Fix a bug I found while testing for another + issue. + +2008-05-30 16:44 +0000 [r119301] Michiel van Baak <michiel@vanbaak.info> + + * contrib/scripts/safe_asterisk, contrib/init.d/rc.suse.asterisk, + contrib/init.d/rc.debian.asterisk, + contrib/init.d/rc.mandrake.asterisk, + contrib/init.d/rc.redhat.asterisk, + contrib/init.d/rc.gentoo.asterisk, + contrib/init.d/rc.slackware.asterisk: dont use a bashism way to + check the $VERSION variable. The rc/init.d scripts, and + safe_asterisk work on normal sh now again. Tested on: OpenBSD 4.2 + (me) Debian etch (me) Ubuntu Hardy (me and loloski) FC9 (loloski) + (closes issue #12687) Reported by: loloski Patches: + 20080529-12687-safe_asterisk-fixversion.diff.txt uploaded by + mvanbaak (license 7) Tested by: loloski, mvanbaak + +2008-05-30 12:55 +0000 [r119076-119238] Russell Bryant <russell@digium.com> + + * /, channels/chan_iax2.c: Merged revisions 119237 via svnmerge + from https://origsvn.digium.com/svn/asterisk/branches/1.2 + ........ r119237 | russell | 2008-05-30 07:49:39 -0500 (Fri, 30 + May 2008) | 7 lines - Instead of only enforcing destination call + number checking on an ACK, check all full frames except for PING + and LAGRQ, which may be sent by older versions too quickly to + contain the destination call number. (As suggested by Tim Panton + on the asterisk-dev list) - Merge changes from + team/russell/iax2-frame-race, which prevents PING and LAGRQ from + being sent before the destination call number is known. ........ + + * main/autoservice.c: Fix a race condition in channel autoservice. + There was still a small window of opportunity for a DTMF frame, + or some other deferred frame type, to come in and get dropped. + (closes issue #12656) (closes issue #12656) Reported by: dimas + Patches: v3-12656.patch uploaded by dimas (license 88) -- with + some modifications by me + + * include/asterisk/audiohook.h: Oddly enough, all of the contents + of audiohook.h were in there twice. I have removed the second + copy. + +2008-05-29 20:24 +0000 [r119071] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_zap.c: Call waiting tone occurs too often, because + it's getting serviced by both subchannels. (closes issue #11354) + Reported by: cahen Patches: 20080512__bug11354.diff.txt uploaded + by Corydon76 (license 14) + +2008-05-29 19:04 +0000 [r118956-119012] Russell Bryant <russell@digium.com> + + * apps/app_milliwatt.c: - Fix a typo in the argument to Playtones - + use ast_safe_sleep() instead of calling the wait application + (thanks to tilghman for pointing these out!) + + * /, channels/chan_iax2.c: Merged revisions 119008 via svnmerge + from https://origsvn.digium.com/svn/asterisk/branches/1.2 + ........ r119008 | russell | 2008-05-29 13:45:21 -0500 (Thu, 29 + May 2008) | 7 lines Merge changes from + team/russell/iax2-another-fix-to-the-fix As described in the + following post to the asterisk-dev mailing list, only enforce + destination call numbers when processing an ACK. + http://lists.digium.com/pipermail/asterisk-dev/2008-May/033217.html + (closes issue #12631) ........ + + * apps/app_milliwatt.c: - Mark app_milliwatt dependent on + res_indications (thanks to jsmith) - fix a typo in a log message + (thanks to qwell) + + * apps/app_milliwatt.c: Change milliwatt to use the proper tone by + default (1004 Hz) instead of 1000 Hz. An option is there to use + 1000 Hz for anyone that might want it. + +2008-05-29 17:33 +0000 [r118953-118954] Tilghman Lesher <tlesher@digium.com> + + * include/asterisk/lock.h: Define also when not DEBUG_THREADS + + * channels/chan_mgcp.c, channels/chan_zap.c, channels/chan_sip.c, + channels/chan_agent.c, channels/chan_alsa.c, main/utils.c, + include/asterisk/lock.h, channels/chan_iax2.c: Add some debugging + code that ensures that when we do deadlock avoidance, we don't + lose the information about how a lock was originally acquired. + +2008-05-29 00:25 +0000 [r118858] Steve Murphy <murf@digium.com> + + * main/cdr.c, apps/app_forkcdr.c: (closes issue #10668) (closes + issue #11721) (closes issue #12726) Reported by: arkadia Tested + by: murf These changes: 1. revert the changes made via bug 10668; + I should have known that such changes, even tho they made sense + at the time, seemed like an omission, etc, were actually integral + to the CDR system via forkCDR. It makes sense to me now that + forkCDR didn't natively end any CDR's, but rather depended on + natively closing them all at hangup time via traversing and + closing them all, whether locked or not. I still don't completely + understand the benefits of setvar and answer operating on locked + cdrs, but I've seen enough to revert those changes also, and stop + messing up users who depended on that behavior. bug 12726 found + reverting the changes fixed his changes, and after a long review + and working on forkCDR, I can see why. 2. Apply the suggested + enhancements proposed in 10668, but in a completely compatible + way. ForkCDR will behave exactly as before, but now has new + options that will allow some actions to be taken that will + slightly modify the outcome and side-effects of forkCDR. Based on + conversations I've had with various people, these small tweaks + will allow some users to get the behavior they need. For + instance, users executing forkCDR in an AGI script will find the + answer time set, and DISPOSITION set, a situation not covered + when the routines were first written. 3. A small problem in the + cdr serializer would output answer and end times even when they + were not set. This is now fixed. + +2008-05-28 16:10 +0000 [r118716] Brett Bryant <bbryant@digium.com> + + * channels/chan_iax2.c: merge revision 118702 from trunk to 1.4 -- + Fixes a bug in chan_iax that uses send_command to poke a peer + while a channel is unlocked in some cases, and because it can + cause seemingly random failures could be related to some bugs in + the tracker... + +2008-05-28 14:23 +0000 [r118558-118646] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c, configs/sip.conf.sample, CHANGES: Add an + option to use the source IP address of RTP as the destination IP + address of UDPTL when a specific option is enabled. If the remote + side is properly configured (ports forwarded) then UDPTL will + flow. (closes issue #10417) Reported by: cstadlmann + + * channels/chan_sip.c: Fix an issue where codec preferences were + not set on dialogs that were not authenticated via a user or peer + and allow framing to work without rtpmap in the SDP. (closes + issue #12501) Reported by: slimey + +2008-05-27 19:15 +0000 [r118551] Tilghman Lesher <tlesher@digium.com> + + * main/cli.c: When showing an error message for a command, don't + shorten the command output, as it tends to confuse the user (it's + fine for suggesting other commands, however). Reported by: + seanbright (on #asterisk-dev) Fixed by: me + +2008-05-27 19:07 +0000 [r118509] Mark Michelson <mmichelson@digium.com> + + * apps/app_chanspy.c: Russell noted to me that in the case that + separate threads use their own addressing system, the fix I made + for issue 12376 does not guarantee uniqueness to the datastores' + uids. Though I know of no system that works this way, I am going + to change this right now to prevent trying to track down some + future bug that may occur and cause untold hours of debugging + time to track down. The change involves using a global counter + which increases with each new chanspy_ds which is created. This + guarantees uniqueness. + +2008-05-27 18:58 +0000 [r118465] Tilghman Lesher <tlesher@digium.com> + + * main/asterisk.c: NULL character should terminate only commands + back to the core, not log messages to the console. (closes issue + #12731) Reported by: seanbright Patches: + 20080527__bug12731.diff.txt uploaded by Corydon76 (license 14) + Tested by: seanbright + +2008-05-27 17:17 +0000 [r118416] Michiel van Baak <michiel@vanbaak.info> + + * apps/app_voicemail.c: small update to the g() option of + app_voicemail to note that gain changes only work on zap channels + right now. issue #12578 shows it's not clear right now. + +2008-05-27 16:38 +0000 [r118365] Mark Michelson <mmichelson@digium.com> + + * apps/app_chanspy.c: Add a unique id to the datastore allocated in + app_chanspy since it is possible that multiple spies may be + listening to the same channel. (closes issue #12376) Reported by: + DougUDI Patches: 12376_chanspy_uid.diff uploaded by putnopvut + (license 60) Tested by: destiny6628 (closes issue #12243) + Reported by: atis + +2008-05-27 15:45 +0000 [r118358] Tilghman Lesher <tlesher@digium.com> + + * configs/queues.conf.sample: Add a note that pbx_config.so is + needed for Local channels. (Closes issue #12671) + +2008-05-25 16:02 +0000 [r118251] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_sip.c: Realtime flag affects construction in + multiple ways, so consulting whether rtcachefriends was set was + done too soon (needed to be done inside build_peer, not just as a + flag to build_peer). Also, fullcontact needed to be + reconstructed, because realtime separates the embedded ';' into + multiple fields. (closes issue #12722) Reported by: barthpbx + Patches: 20080525__bug12722.diff.txt uploaded by Corydon76 + (license 14) Tested by: barthpbx (Much of the discussion happened + on #asterisk-dev for diagnosing this issue) + +2008-05-23 21:21 +0000 [r118163] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_zap.c: Fix a few things I missed to ensure + zt_chan_conf structure is not modified in mkintf + +2008-05-23 13:18 +0000 [r118052-118055] Tilghman Lesher <tlesher@digium.com> + + * include/asterisk/utils.h: Add format type checking for recently + de-inlined function + + * doc/cli.txt (added), doc/00README.1st: Add information on using + the Asterisk console, including tab command line completion. + (Closes issue #12681) + +2008-05-23 12:30 +0000 [r118048] Russell Bryant <russell@digium.com> + + * include/asterisk/utils.h, main/utils.c: Don't declare a function + that takes variable arguments as inline, because it's not valid, + and on some compilers, will emit a warning. + http://gcc.gnu.org/onlinedocs/gcc/Inline.html#Inline (closes + issue #12289) Reported by: francesco_r Patches by Tilghman, final + patch by me + +2008-05-22 18:53 +0000 [r117809-117899] Tilghman Lesher <tlesher@digium.com> + + * main/asterisk.c: Also remove preamble from asynchronous events + (reported by jsmith on #asterisk-dev) + + * funcs/func_realtime.c: Take into account the length of delimiters + when calculating result string length. (closes issue #12696) + Reported by: adomjan Patches: func_realtime.c-longdelimiter.patch + uploaded by adomjan (license 487) + +2008-05-21 20:11 +0000 [r117582] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_zap.c: Ensure that passed in zt_chan_conf structure + is not modified in mkintf. + +2008-05-21 19:38 +0000 [r117574] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: Apply the autoframing setting to dialogs + that do not get matched against a user or peer. + +2008-05-21 18:44 +0000 [r117519-117523] Tilghman Lesher <tlesher@digium.com> + + * pbx/pbx_spool.c: Revert accidental commit of the last change + + * main/asterisk.c, pbx/pbx_spool.c: Strip the preamble from the + output also when -rx is not being used (Related to issue #12702) + +2008-05-21 18:28 +0000 [r117479-117514] Russell Bryant <russell@digium.com> + + * main/asterisk.c: Don't filter the magic character in the network + verboser. It gets filtered once it reaches the client. (related + to issue #12702, pointed out by tilghman) + + * main/asterisk.c, pbx/pbx_gtkconsole.c: 1) Don't print the verbose + marker in front of every message from ast_verbose() being sent to + remote consoles. 2) Fix pbx_gtkconsole to filter out the verbose + marker. (related to issue #12702) + + * main/asterisk.c: Don't display the verbose marker for calls to + ast_verbose() that do not include a VERBOSE_PREFIX in front of + the message. (closes issue #12702) Reported by: johnlange Patched + by me + +2008-05-21 16:58 +0000 [r117462] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_zap.c: Pass a pointer for the conf parameter to the + function mkintf rather than the whole zt_chan_conf structure. + +2008-05-20 Russell Bryant <russell@digium.com> + + * Asterisk 1.4.20 released. + +2008-05-14 Russell Bryant <russell@digium.com> + + * Asterisk 1.4.20-rc3 released. + +2008-05-14 12:51 +0000 [r116230] Olle Johansson <oej@edvina.net> + + * channels/chan_sip.c: Accept text messages even with Content-Type: + text/plain;charset=Södermanländska + +2008-05-13 23:47 +0000 [r116088] Mark Michelson <mmichelson@digium.com> + + * main/channel.c, include/asterisk/lock.h: A change to the way + channel locks are handled when DEBUG_CHANNEL_LOCKS is defined. + After debugging a deadlock, it was noticed that when + DEBUG_CHANNEL_LOCKS is enabled in menuselect, the actual origin + of channel locks is obscured by the fact that all channel locks + appear to happen in the function ast_channel_lock(). This code + change redefines ast_channel_lock to be a macro which maps to + __ast_channel_lock(), which then relays the proper file name, + line number, and function name information to the core lock + functions so that this information will be displayed in the case + that there is some sort of locking error or core show locks is + issued. + +2008-05-13 21:17 +0000 [r115990-116038] Russell Bryant <russell@digium.com> + + * channels/chan_local.c: Fix a deadlock involving channel + autoservice and chan_local that was debugged and fixed by + mmichelson and me. We observed a system that had a bunch of + threads stuck in ast_autoservice_stop(). The reason these threads + were waiting around is because this function waits to ensure that + the channel list in the autoservice thread gets rebuilt before + the stop() function returns. However, the autoservice thread was + also locked, so the autoservice channel list was never getting + rebuilt. The autoservice thread was stuck waiting for the channel + lock on a local channel. However, the local channel was locked by + a thread that was stuck in the autoservice stop function. It + turned out that the issue came down to the local_queue_frame() + function in chan_local. This function assumed that one of the + channels passed in as an argument was locked when called. + However, that was not always the case. There were multiple cases + in which this channel was not locked when the function was + called. We fixed up chan_local to indicate to this function + whether this channel was locked or not. The previous assumption + had caused local_queue_frame() to improperly return with the + channel locked, where it would then never get unlocked. (closes + issue #12584) (related to issue #12603) + + * main/autoservice.c: Fix an issue that I noticed in autoservice + while mmichelson and I were debugging a different problem. I + noticed that it was theoretically possible for two threads to + attempt to start the autoservice thread at the same time. This + change makes the process of starting the autoservice thread, + thread-safe. + +2008-05-13 20:28 +0000 [r115944] Joshua Colp <jcolp@digium.com> + + * channels/chan_alsa.c: Use the right flag to open the audio in + non-blocking. (closes issue #12616) Reported by: + nicklewisdigiumuser + +2008-05-13 18:36 +0000 [r115884] Tilghman Lesher <tlesher@digium.com> + + * main/asterisk.c: If the socket dies (read returns 0=EOF), return + immediately. (Closes issue #12637) + +2008-05-12 17:51 +0000 [r115735] Mark Michelson <mmichelson@digium.com> + + * main/utils.c: If a thread holds no locks, do not print any + information on the thread when issuing a core show locks command. + This will help to de-clutter output somewhat. Russell said it + would be fine to place this improvement in the 1.4 branch, so + that's why it's going here too. + +2008-05-09 16:34 +0000 [r115579] Joshua Colp <jcolp@digium.com> + + * configure, include/asterisk/autoconfig.h.in, configure.ac: + Improve res_ninit and res_ndestroy autoconf logic on the Darwin + platform. + +2008-05-08 19:19 +0000 [r115545-115568] Russell Bryant <russell@digium.com> + + * channels/chan_iax2.c: Remove debug output. + + * /, channels/chan_iax2.c: Merged revisions 115564 via svnmerge + from https://origsvn.digium.com/svn/asterisk/branches/1.2 + ........ r115564 | russell | 2008-05-08 14:14:04 -0500 (Thu, 08 + May 2008) | 25 lines Fix a race condition that bbryant just found + while doing some IAX2 testing. He was running Asterisk trunk + running IAX2 calls through a few Asterisk boxes, however, the + audio was extremely choppy. We looked at a packet trace and saw a + storm of INVAL and VNAK frames being sent from one box to + another. It turned out that what had happened was that one box + tried to send a CONTROL frame before the 3 way handshake had + completed. So, that frame did not include the destination call + number, because it didn't have it yet. Part of our recent work + for security issues included an additional check to ensure that + frames that are supposed to include the destination call number + have the correct one. This caused the frame to be rejected with + an INVAL. The frame would get retransmitted for forever, rejected + every time ... This race condition exists in all versions that + got the security changes, in theory. However, it is really only + likely that this would cause a problem in Asterisk trunk. There + was a control frame being sent (SRCUPDATE) at the _very_ + beginning of the call, which does not exist in 1.2 or 1.4. + However, I am fixing all versions that could potentially be + affected by the introduced race condition. These changes are what + bbryant and I came up with to fix the issue. Instead of simply + dropping control frames that get sent before the handshake is + complete, the code attempts to wait a little while, since in most + cases, the handshake will complete very quickly. If it doesn't + complete after yielding for a little while, then the frame gets + dropped. ........ + + * channels/chan_sip.c: Don't give up on attempting an outbound + registration if we receive a 408 Timeout. (closes issue #12323) + + * contrib/scripts/postgres_cdr.sql (removed): remove + postgres_cdr.sql, as the CDR schema is in realtime_pgsql.sql, as + well (closes issue #9676) + + * contrib/init.d/rc.debian.asterisk: Don't exit the script if + Asterisk is not running. (closes issue #12611) + + * main/pbx.c: Don't use a channel before checking for channel + allocation failure. (closes issue #12609) Reported by: edantie + + * contrib/init.d/rc.debian.asterisk: Use the same method for + executing Asterisk as the rest of the script. (closes issue + #12611) Reported by: b_plessis + +2008-05-07 Russell Bryant <russell@digium.com> + + * Asterisk 1.4.20-rc2 released. + +2008-05-07 18:17 +0000 [r115512-115517] Russell Bryant <russell@digium.com> + + * channels/chan_sip.c: Track peer references when stored in the + sip_pvt struct as the peer related to a qualify ping or a + subscription. This fixes some realtime related crashes. (closes + issue #12588) (closes issue #12555) + +2008-05-06 19:55 +0000 [r115418-115422] Jason Parker <jparker@digium.com> + + * /, contrib/scripts/get_ilbc_source.sh: Merged revisions 115421 + via svnmerge from + https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ + r115421 | qwell | 2008-05-06 14:54:57 -0500 (Tue, 06 May 2008) | + 7 lines read requires an argument on some non-bash shells (closes + issue #12593) Reported by: bkruse Patches: + getilbc.sh_12593_v1.diff uploaded by bkruse (license 132) + ........ + + * res/res_musiconhold.c: Switch to using ast_random() rather than + just rand(). This does not fix the bug reported, but I believe it + is correct. (from issue #12446) Patches: bug_12446.diff uploaded + by snuffy (license 35) + +2008-05-06 19:31 +0000 [r115415] Tilghman Lesher <tlesher@digium.com> + + * main/asterisk.c: Don't print the terminating NUL. (Closes issue + #12589) + +2008-05-06 13:54 +0000 [r115341] Joshua Colp <jcolp@digium.com> + + * configure, configure.ac: Add in missing argument. + +2008-05-05 22:50 +0000 [r115333] Tilghman Lesher <tlesher@digium.com> + + * main/asterisk.c, main/logger.c: Separate verbose output from CLI + output, by using a preamble. (closes issue #12402) Reported by: + Corydon76 Patches: 20080410__no_verbose_in_rx_output.diff.txt + uploaded by Corydon76 (license 14) + 20080501__no_verbose_in_rx_output__1.4.diff.txt uploaded by + Corydon76 (license 14) + +2008-05-05 22:10 +0000 [r115327] Joshua Colp <jcolp@digium.com> + + * build_tools/menuselect-deps.in, configure, + include/asterisk/autoconfig.h.in, codecs/codec_speex.c, + configure.ac: Make sure that either the main speex library + contains preprocess functions or that speexdsp does. If both fail + then speex stuff can not be built. + +2008-05-05 21:41 +0000 [r115320] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: Don't consider a caller "handled" until the + caller is bridged with a queue member. There was too much of an + opportunity for the member to hang up (either during a delay, + announcement, or overly long agi) between the time that he + answered the phone and the time when he actually was bridged with + the caller. The consequence of this was that if the member hung + up in that interval, then proper abandonment details would not be + noted in the queue log if the caller were to hang up at any point + after the member hangup. (closes issue #12561) Reported by: + ablackthorn + +2008-05-05 20:17 +0000 [r115308-115312] Tilghman Lesher <tlesher@digium.com> + + * Makefile: Reverse order, such that user configs override default + selections + + * include/asterisk/res_odbc.h: Err, the documentation on the return + value of ast_odbc_backslash_is_escape is exactly backwards. + +2008-05-05 19:49 +0000 [r115297-115304] Russell Bryant <russell@digium.com> + + * channels/chan_sip.c: Avoid putting opaque="" in Digest + authentication. This patch came from switchvox. It fixes + authentication with Primus in Canada, and has been in use for a + very long time without causing problems with any other providers. + (closes issue AST-36) + +2008-05-05 03:22 +0000 [r115285] Tilghman Lesher <tlesher@digium.com> + + * contrib/scripts/safe_asterisk, contrib/init.d/rc.suse.asterisk, + contrib/init.d/rc.debian.asterisk, + contrib/init.d/rc.mandrake.asterisk, + contrib/init.d/rc.redhat.asterisk, + contrib/init.d/rc.gentoo.asterisk, + contrib/init.d/rc.slackware.asterisk: When starting Asterisk, bug + out if Asterisk is already running. (closes issue #12525) + Reported by: explidous Patches: 20080428__bug12525.diff.txt + uploaded by Corydon76 (license 14) Tested by: mvanbaak + +2008-05-04 02:09 +0000 [r115276-115282] Joshua Colp <jcolp@digium.com> + + * configure, acinclude.m4: Expand the test function for GCC + attributes so that more complex attributes are properly + recognized. + + * include/asterisk/compiler.h: For my next trick I will make these + work with what our autoconf header file gives us. + + * configure, acinclude.m4: Treat warnings as errors when checking + if a GCC attribute exists. We have to do this as GCC will just + ignore the attribute and pop up a warning, it won't actually fail + to compile. + +2008-05-02 20:25 +0000 [r115257] Brett Bryant <bbryant@digium.com> + + * channels/chan_zap.c, configure, include/asterisk/autoconfig.h.in, + configure.ac, CHANGES: Add new "pri show version" command to show + the libpri version for support reasons. + +2008-05-02 14:28 +0000 [r115196] Mark Michelson <mmichelson@digium.com> + + * include/asterisk/sched.h: Clarify a comment that was, well, just + wrong. It turns out that ignoring the way that macros expand. + Instead, I have clarified in the comment why the macro will work + even if the scheduler id for the task to be deleted changes + during the execution of the macro. + +2008-05-01 23:20 +0000 [r115017-115102] Tilghman Lesher <tlesher@digium.com> + + * include/asterisk/res_odbc.h: Change the comment of deprecated to + an actual compiler deprecation + + * main/utils.c: '#' is another reserved character for URIs that + also needs to be escaped. (closes issue #10543) Reported by: + blitzrage Patches: 20080418__bug10543.diff.txt uploaded by + Corydon76 (license 14) + +2008-05-01 Russell Bryant <russell@digium.com> + + * Asterisk 1.4.20-rc1 released. + +2008-04-30 16:30 +0000 [r114891] Russell Bryant <russell@digium.com> + + * include/asterisk/dlinkedlists.h (added), channels/chan_iax2.c: + Merge changes from team/russell/iax2_find_callno and + iax2_find_callno_1.4 These changes address a critical performance + issue introduced in the latest release. The fix for the latest + security issue included a change that made Asterisk randomly + choose call numbers to make them more difficult to guess by + attackers. However, due to some inefficient (this is by far, an + understatement) code, when Asterisk chose high call numbers, + chan_iax2 became unusable after just a small number of calls. On + a small embedded platform, it would not be able to handle a + single call. On my Intel Core 2 Duo @ 2.33 GHz, I couldn't run + more than about 16 IAX2 channels. Ouch. These changes address + some performance issues of the find_callno() function that have + bothered me for a very long time. On every incoming media frame, + it iterated through every possible call number trying to find a + matching active call. This involved a mutex lock and unlock for + each call number checked. So, if the random call number chosen + was 20000, then every media frame would cause 20000 locks and + unlocks. Previously, this problem was not as obvious since + Asterisk always chose the lowest call number it could. A second + container for IAX2 pvt structs has been added. It is an astobj2 + hash table. When we know the remote side's call number, the pvt + goes into the hash table with a hash value of the remote side's + call number. Then, lookups for incoming media frames are a very + fast hash lookup instead of an absolutely insane array traversal. + In a quick test, I was able to get more than 3600% more IAX2 + channels on my machine with these changes. + +2008-04-30 16:23 +0000 [r114890] Olle Johansson <oej@edvina.net> + + * channels/chan_sip.c: Don't crash on bad SIP replys. Fix created + in Huntsville together with Mark M (putnopvut) (closes issue + #12363) Reported by: jvandal Tested by: putnopvut, oej + +2008-04-30 14:46 +0000 [r114875-114880] Kevin P. Fleming <kpfleming@digium.com> + + * channels/iax2.h, channels/chan_iax2.c: use the ARRAY_LEN macro + for indexing through the iaxs/iaxsl arrays so that the size of + the arrays can be adjusted in one place, and change the size of + the arrays from 32768 calls to 2048 calls when LOW_MEMORY is + defined + + * Makefile.rules: pay attention to *all* header files for + dependency tracking, not just the local ones (inspired by r578 of + asterisk-addons by tilghman) + +2008-04-29 19:40 +0000 [r114848] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: Use the MACRO_CONTEXT and MACRO_EXTEN channel + variables instead of the channel's macrocontext and macroexten + fields. This is needed because if macros are daisy-chained, the + incorrect context and extension are placed on the new channel. I + also added locking to the channel prior to accessing these + variables as noted in trunk's janitor project file. (closes issue + #12549) Reported by: darren1713 Patches: + app_queue.c.macroextenpatch uploaded by darren1713 (license 116) + (with modifications from me) Tested by: putnopvut + +2008-04-29 17:08 +0000 [r114829] Jason Parker <jparker@digium.com> + + * res/res_config_pgsql.c: Change warning message to debug, since + there are cases where 0 results is perfectly fine. + +2008-04-29 12:53 +0000 [r114823] Kevin P. Fleming <kpfleming@digium.com> + + * /, contrib/scripts/get_ilbc_source.sh: Merged revisions 114822 + via svnmerge from + https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ + r114822 | kpfleming | 2008-04-29 07:52:32 -0500 (Tue, 29 Apr + 2008) | 2 lines stop script from appending source code if run + multiple times ........ + +2008-04-28 04:47 +0000 [r114708] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c, channels/chan_gtalk.c: When modules are + embedded, they take on a different name, without the ".so" + extension. Specifically check for this name, when we're checking + if a module is loaded. (Closes issue #12534) + +2008-04-27 01:26 +0000 [r114695] Sean Bright <sean.bright@gmail.com> + + * configure, configure.ac: When we don't explicitly pass a path to + the --with-tds configure option, we may end up finding tds.h in + /usr/local/include instead of /usr/include. If this happens, the + grep that looks for the version (from tdsver.h) will fail and + we'll have some problems during the build. + +2008-04-26 13:15 +0000 [r114689] Tilghman Lesher <tlesher@digium.com> + + * contrib/scripts/vmail.cgi: Clicking forward without selecting a + message leaves an errant .lock file. (closes issue #12528) + Reported by: pukepail Patches: patch.diff uploaded by pukepail + (license 431) + +2008-04-25 21:54 +0000 [r114673] Russell Bryant <russell@digium.com> + + * channels/chan_iax2.c: Use consistent logic for checking to see if + a call number has been chosen yet. Also, remove some redundant + logic I recently added in a fix. + +2008-04-25 19:32 +0000 [r114662] Mark Michelson <mmichelson@digium.com> + + * apps/app_chanspy.c: Move the unlock of the spyee channel to + outside the start_spying() function so that the channel is not + unlocked twice when using whisper mode. + +2008-04-25 15:53 +0000 [r114649] Tilghman Lesher <tlesher@digium.com> + + * configs/zapata.conf.sample, configs/iax.conf.sample, + configs/iaxprov.conf.sample, configs/sip.conf.sample: Reference + documentation files that actually exist. (closes issue #12516) + Reported by: linuxmaniac Patches: diff_rev114611.patch uploaded + by linuxmaniac (license 472) + +2008-04-24 21:35 +0000 [r114624-114632] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Re-invite RTP during a masquerade so that, + for instance, an AMI redirect of two channels which are natively + bridged will preserve audio on both channels. This prevents a + problem with Asterisk not re-inviting due to one of the channels + having being a zombie. (closes issue #12513) Reported by: + mneuhauser Patches: + asterisk-1.4-114602_restore-RTP-on-fixup.patch uploaded by + mneuhauser (license 425) + + * apps/app_queue.c: Output of channel variables when + eventwhencalled=vars was set was being truncated two characters. + This patch corrects the problem. (closes issue #12493) Reported + by: davidw + + * channels/chan_local.c: Resolve a deadlock in chan_local by + releasing the channel lock temporarily. (closes issue #11712) + Reported by: callguy Patches: 11712.patch uploaded by putnopvut + (license 60) Tested by: acunningham + +2008-04-24 19:53 +0000 [r114621] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_local.c: Ensure that when we set the accountcode, + it actually shows up in the CDR. (Fix for AMI Originate) (Closes + issue #12007) + +2008-04-24 15:55 +0000 [r114608] Russell Bryant <russell@digium.com> + + * channels/chan_iax2.c: Fix a silly mistake in a change I made + yesterday that caused chan_iax2 to blow up very quickly. (issue + #12515) + +2008-04-24 14:55 +0000 [r114603] Olle Johansson <oej@edvina.net> + + * channels/chan_sip.c: Only have one max-forwards header in + outbound REFERs. Discovered in the Asterisk SIP Masterclass in + Orlando. Thanks Joe! + +2008-04-23 22:18 +0000 [r114597-114600] Russell Bryant <russell@digium.com> + + * main/http.c: Improve some broken cookie parsing code. Previously, + manager login over HTTP would only work if the mansession_id + cookie was first. Now, the code builds a list of all of the + cookies in the Cookie header. This fixes a problem observed by + users of the Asterisk GUI. (closes AST-20) + + * apps/app_chanspy.c, main/http.c: Fix an issue that caused getting + the correct next channel to not always work. Also, remove setting + the amount of time to wait for a digit from 5 seconds back down + to 1/10 of a second. I believe this was so the beep didn't get + played over and over really fast, but a while back I put in + another fix for that issue. (closes issue #12498) Reported by: + jsmith Patches: app_chanspy_channel_walk.trunk.patch uploaded by + jsmith (license 15) + +2008-04-23 18:28 +0000 [r114594] Jason Parker <jparker@digium.com> + + * res/res_musiconhold.c: Fix reload/unload for res_musiconhold + module. (closes issue #11575) Reported by: sunder Patches: + M11575_14_rev3.diff uploaded by junky (license 177) + bug11575_trunk.diff.txt uploaded by jamesgolovich (license 176) + +2008-04-23 17:55 +0000 [r114587-114591] Russell Bryant <russell@digium.com> + + * main/manager.c, include/asterisk/manager.h: Store the manager + session ID explicitly as 4 byte ID instead of a ulong. The + mansession_id cookie is coded to be limited to 8 characters of + hex, and this could break logins from 64-bit machines in some + cases. (inspired by AST-20) + + * channels/chan_iax2.c: Fix find_callno_locked() to actually return + the callno locked in some more cases. + +2008-04-23 16:51 +0000 [r114584] Olle Johansson <oej@edvina.net> + + * channels/chan_sip.c: Add 502 support for both directions, not + only one... (see r114571) + +2008-04-23 14:54 +0000 [r114579] Joshua Colp <jcolp@digium.com> + + * main/pbx.c: Instead of stopping dialplan execution when SayNumber + attempts to say a large number that it can not print out a + message informing the user and continue on. (closes issue #12502) + Reported by: bcnit + +2008-04-22 23:51 +0000 [r114571] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_sip.c: Treat a 502 just like a 503, when it comes + to processing a response code + +2008-04-22 22:15 +0000 [r114522-114558] Russell Bryant <russell@digium.com> + + * channels/chan_iax2.c: When we receive a full frame that is + supposed to contain our call number, ensure that it has the + correct one. (closes issue #10078) (AST-2008-006) + + * main/rtp.c, main/channel.c, formats/format_pcm.c, main/file.c: I + thought I was going to be able to leave 1.4 alone, but that was + not the case. I ran into some problems with G.722 in 1.4, so I + have merged in all of the fixes in this area that I have made in + trunk/1.6.0, and things are happy again. + + * res/res_musiconhold.c: Trivial change to read the number of + samples from a frame before calling ast_write() + + * res/res_features.c: After a parked call times out, allow the call + back to the parker to time out. (closes issue #10890) + + * channels/chan_iax2.c: If the dial string passed to the call + channel callback does not indicate an extension, then consider + the extension on the channel before falling back to the default. + (closes issue #12479) Reported by: darren1713 Patches: + exten_dial_fix_chan_iax2.c.patch uploaded by darren1713 (license + 116) + + * channels/chan_sip.c, include/asterisk/sched.h: Merge changes from + team/russell/issue_9520 These changes make sure that the + reference count for sip_peer objects properly reflects the fact + that the peer is sitting in the scheduler for a scheduled + callback for qualifying peers or for expiring registrations. + Without this, it was possible for these callbacks to happen at + the same time that the peer was being destroyed. This was + especially likely to happen with realtime peers, and for people + making use of the realtime prune CLI command. (closes issue + #9520) Reported by: kryptolus Committed patch by me + +2008-04-21 14:39 +0000 [r114322] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: Only drop audio if we receive it without a + progress indication. We allow other frames through such as DTMF + because they may be needed to complete the call. (closes issue + #12440) Reported by: aragon + +2008-04-19 13:57 +0000 [r114297-114299] Tilghman Lesher <tlesher@digium.com> + + * apps/app_playback.c: Ensure that help text terminates with a + newline + + * res/res_musiconhold.c: MOH usage information needs a terminating + newline, or else "asterisk -rx 'help moh reload'" will hang. + Reported via -dev list, fixed by me. + +2008-04-18 21:48 +0000 [r114275-114284] Russell Bryant <russell@digium.com> + + * main/manager.c: Don't destroy a manager session if poll() returns + an error of EAGAIN. + + * Makefile: ensure directories are created before we try to install + stuff into them + + * Makefile: SUBDIRS_INSTALL is already listed as a subtarget for + bininstall + +2008-04-18 17:44 +0000 [r114257] Mark Michelson <mmichelson@digium.com> + + * channels/chan_zap.c, main/callerid.c: Clearing up error messages + so they make a bit more sense. Also removing a redundant error + message. Issue AST-15 + +2008-04-18 15:24 +0000 [r114248] Russell Bryant <russell@digium.com> + + * channels/chan_agent.c: Ensure that we don't ast_strdupa(NULL) + (closes issue #12476) Reported by: davidw Patch by me + +2008-04-18 13:33 +0000 [r114245] Sean Bright <sean.bright@gmail.com> + + * channels/chan_sip.c: Only complete the SIP channel name once for + 'sip show channel <channel>' + +2008-04-18 06:49 +0000 [r114242] Tilghman Lesher <tlesher@digium.com> + + * apps/app_setcallerid.c: For consistency sake, ensure that the + values that ${CALLINGPRES} returns are valid as an input to + SetCallingPres. (Closes issue #12472) + +2008-04-17 22:15 +0000 [r114230] Russell Bryant <russell@digium.com> + + * main/autoservice.c: Remove redundant safety net. The check for + the autoservice channel list state accomplishes the same goal in + a better way. (issue #12470) Reported By: atis + +2008-04-17 21:03 +0000 [r114207-114226] Mark Michelson <mmichelson@digium.com> + + * apps/app_chanspy.c: Declaration of the peer channel in this scope + was making it so the peer variable defined in the outer scope was + never set properly, therefore making iterating through the + channel list always restart from the beginning. This bug would + have affected anyone who called chanspy without specifying a + first argument. (closes issue #12461) Reported by: stever28 + + * main/frame.c, include/asterisk/dsp.h: Add prototype for + ast_dsp_frame_freed. I'm not sure how this was compiling + before... + + * main/dsp.c, main/frame.c, include/asterisk/frame.h: It was + possible for a reference to a frame which was part of a freed DSP + to still be referenced, leading to memory corruption and eventual + crashes. This code change ensures that the dsp is freed when we + are finished with the frame. This change is very similar to a + change Russell made with translators back a month or so ago. + (closes issue #11999) Reported by: destiny6628 Patches: + 11999.patch uploaded by putnopvut (license 60) Tested by: + destiny6628, victoryure + +2008-04-17 16:23 +0000 [r114204] Russell Bryant <russell@digium.com> + + * Makefile: Fix the bininstall target to install from subdirs, as + well. (closes issue AST-8, patch from bmd at switchvox) + +2008-04-17 13:42 +0000 [r114198] Philippe Sultan <philippe.sultan@gmail.com> + + * res/res_jabber.c: Use keepalives effectively in order diagnose + bug #12432. + +2008-04-17 12:56 +0000 [r114195] Tilghman Lesher <tlesher@digium.com> + + * res/res_agi.c: Add special case for when the agi cannot be + executed, to comply with the documentation that we return failure + in that case. (closes issue #12462) Reported by: fmueller + Patches: 20080416__bug12462.diff.txt uploaded by Corydon76 + (license 14) Tested by: fmueller + +2008-04-17 10:51 +0000 [r114191] Sean Bright <sean.bright@gmail.com> + + * apps/app_chanspy.c: Make sure we have enough room for the + recording's filename. + +2008-04-16 20:46 +0000 [r114184] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_zap.c: use the ZT_SET_DIALPARAMS ioctl properly by + initializing the structure to all zeroes in case it contains + fields that we don't write values into (which it does as of + Zaptel 1.4.10) (closes issue #12456) Reported by: fnordian + +2008-04-16 19:59 +0000 [r114180] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_vpb.cc: Backport revisions for latest vpb drivers + to 1.4 (Closes issue #12457) + +2008-04-16 17:30 +0000 [r114173] Jason Parker <jparker@digium.com> + + * channels/chan_zap.c: Fix "fallthrough" behavior here, so config + options in a previously configured user don't override settings + in general. (closes issue #12458) Reported by: tzafrir Patches: + chanzap_users_sections.diff uploaded by tzafrir (license 46) + +2008-04-16 14:10 +0000 [r114167] Joshua Colp <jcolp@digium.com> + + * apps/app_meetme.c: Include the proper headers for using mkdir on + FreeBSD. (closes issue #12430) Reported by: ys Patches: + app_meetme.c.diff uploaded by ys (license 281) + +2008-04-15 20:26 +0000 [r114148] Olle Johansson <oej@edvina.net> + + * channels/chan_sip.c: Handle subscribe queues in all situations... + Thanks to festr_ on irc for telling me about this bug. + +2008-04-15 17:17 +0000 [r114120-114138] Jason Parker <jparker@digium.com> + + * contrib/scripts/autosupport: Update Digium autosupport script, + for more useful information. (closes issue #12452) Reported by: + angler Patches: autosupport.diff uploaded by angler (license 106) + + * apps/app_queue.c: Allow autofill to work in the general section + of queues.conf. Additionally, don't try to (re)set options when + they have empty values in realtime (all unset columns would have + an empty value). (closes issue #12445) Reported by: atis Patches: + 12445-autofill.diff uploaded by qwell (license 4) + + * channels/chan_h323.c: The call_token on the pvt can occasionally + be NULL, causing a crash. If it is NULL, we can skip this + channel, since it can't the one we're looking for. (closes issue + #9299) Reported by: vazir + +2008-04-14 17:41 +0000 [r114106-114117] Mark Michelson <mmichelson@digium.com> + + * main/channel.c: Increase the retry count when attempting to show + channels. This apparently cleared an issue someone was seeing + when attempting to show channels when the load was high. (closes + issue #11667) Reported by: falves11 Patches: 11677.txt uploaded + by russell (license 2) Tested by: falves11 + + * apps/app_dial.c, apps/app_queue.c: If the datastore has been + moved to another channel due to a masquerade, then freeing the + datastore here causes an eventual double free when the new + channel hangs up. We should only free the datastore if we were + able to successfully remove it from the channel we are + referencing (i.e. the datastore was not moved). (closes issue + #12359) Reported by: pguido + + * main/channel.c: Save a local copy of the generate callback prior + to unlocking the channel in case the generate callback goes NULL + on us after the channel is unlocked. Thanks to Russell for + pointing this need out to me. + +2008-04-14 14:52 +0000 [r114100-114103] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: It is possible for the remote side to say + they want T38 but not give any capabilities. (closes issue + #12414) Reported by: MVF + + * main/rtp.c: Don't change the SSRC when a new source comes into + play, this might happen quite often and depending on the remote + side... they might not like this. (closes issue #12353) Reported + by: dimas + +2008-04-11 22:32 +0000 [r114083] Terry Wilson <twilson@digium.com> + + * channels/chan_iax2.c: Several places in the code called + find_callno() (which releases the lock on the pvt structure) and + then immediately locked the call and did things with it. + Unfortunately, the call can disappear between the find_callno and + the lock, causing Bad Stuff(tm) to happen. Added + find_callno_locked() function to return the callno withtout + unlocking for instances that it is needed. (issue #12400) + Reported by: ztel + +2008-04-11 21:35 +0000 [r114072] Jason Parker <jparker@digium.com> + + * main/pbx.c: It's possible that a channel can have an async goto + on the successful execution of an application as well. Closes + issue #12172. + +2008-04-11 15:44 +0000 [r114045-114063] Mark Michelson <mmichelson@digium.com> + + * res/res_features.c: Fix a race condition that may happen between + a sip hangup and a "core show channel" command. This patch adds + locking to prevent the resulting crash. (closes issue #12155) + Reported by: tsearle Patches: show_channels_crash2.patch uploaded + by tsearle (license 373) Tested by: tsearle + + * main/utils.c, include/asterisk/lock.h: Fix 1.4 build when + LOW_MEMORY is enabled. + + * channels/chan_sip.c: Be sure that we're not about to set + bridgepvt NULL prior to dereferencing it. (closes issue #11775) + Reported by: fujin + +2008-04-10 17:26 +0000 [r114035] Jason Parker <jparker@digium.com> + + * main/file.c: Only try to prefix language if we are not using an + absolute path (suffix it otherwise). + en/var/lib/asterisk/sounds/blah.gsm is a very silly path. (closes + issue #12379) Reported by: kuj Patches: 12379-absolutepath.diff + uploaded by qwell (license 4) Tested by: kuj, qwell + +2008-04-10 15:58 +0000 [r114021-114032] Joshua Colp <jcolp@digium.com> + + * apps/app_voicemail.c: Forgot the 1.4 branch for russian language + fix. (closes issue #12404) Reported by: IgorG Patches: + voicemail_ru_hardcoded-v1.patch uploaded by IgorG (license 20) + + * apps/app_meetme.c: Create the directory where name recordings + will go if it does not exist. (closes issue #12311) Reported by: + rkeene Patches: 12311-mkdir.diff uploaded by qwell (license 4) + + * channels/chan_sip.c: Don't add custom URI options if they don't + exist OR they are empty. (closes issue #12407) Reported by: + homesick Patches: uri_options-1.4.diff uploaded by homesick + (license 91) + +2008-04-09 20:54 +0000 [r113927] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: We need to set the persistant_route [sic] + parameter for the sip_pvt during the initial INVITE, no matter if + we're building the route set from an INVITE request or response. + (closes issue #12391) Reported by: benjaminbohlmann Tested by: + benjaminbohlmann + +2008-04-09 18:57 +0000 [r113874] Tilghman Lesher <tlesher@digium.com> + + * cdr/cdr_csv.c, configs/cdr.conf.sample: If the [csv] section does + not exist in cdr.conf, then an unload/load sequence is needed to + correct the problem. Track whether the load succeeded with a + variable, so we can fix this with a simple reload event, instead. + +2008-04-09 16:50 +0000 [r113784] Joshua Colp <jcolp@digium.com> + + * channels/chan_iax2.c: If we receive an AUTHREQ from the remote + server and we are unable to reply (for example they have a secret + configured, but we do not) then queue a hangup frame on the + Asterisk channel. This will cause the channel to hangup and a + HANGUP to be sent via IAX2 to the remote side which is the proper + thing to do in this scenario. (closes issue #12385) Reported by: + viraptor + +2008-04-09 14:40 +0000 [r113681] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: If Asterisk receives a 488 on an INVITE (not + a reinvite), then we should not send a BYE. (closes issue #12392) + Reported by: fnordian Patches: chan_sip.patch uploaded by + fnordian (license 110) with small modification from me + +2008-04-09 01:34 +0000 [r113596] Terry Wilson <twilson@digium.com> + + * channels/chan_iax2.c: Initialize fr->cacheable to make valgrind + happy + +2008-04-08 19:07 +0000 [r113507] Mark Michelson <mmichelson@digium.com> + + * apps/app_parkandannounce.c: Fix potential buffer overflow that + could happen if more than 100 announce files were specified when + calling ParkAndAnnounce. This overflow is not exploitable + remotely and so there is no need for a security advisory. (closes + issue #12386) Reported by: davidw + +2008-04-08 18:48 +0000 [r113402-113504] Jason Parker <jparker@digium.com> + + * channels/chan_skinny.c: Add a little more that is required for + previously added devices. + + * channels/chan_skinny.c: Add support for several new(ish) devices + - most notably, 7942/7945, 7962/7965, 7975. Thanks to Greg Oliver + for providing me the required information. + + * main/asterisk.c: Work around some silliness caused by + sys/capability.h - this should fix compile errors a number of + users have been experiencing. + +2008-04-08 16:51 +0000 [r113348-113399] Tilghman Lesher <tlesher@digium.com> + + * contrib/scripts/astgenkey.8: Add security note on astgenkey's + manpage. (closes issue #12373) Reported by: lmamane Patches: + 20080406__bug12373.diff.txt uploaded by Corydon76 (license 14) + + * channels/chan_sip.c: Move check for still-bridged channels out a + little further, to avoid possible deadlocks. (Closes issue + #12252) Reported by: callguy Patches: 20080319__bug12252.diff.txt + uploaded by Corydon76 (license 14) Tested by: callguy + +2008-04-08 15:03 +0000 [r113296] Joshua Colp <jcolp@digium.com> + + * include/asterisk/slinfactory.h, main/slinfactory.c, + main/audiohook.c: If audio suddenly gets fed into one side of a + channel after a lapse of frames flush the other factory so that + old audio does not remain in the factory causing the sync code to + not execute. (closes issue #12296) Reported by: jvandal + +2008-04-07 21:34 +0000 [r113240] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_sip.c: (closes issue #12362) [redo of 113012] This + fixes a for loop (in realtime_peer) to check all the + ast_variables the loop was intending to test rather than just the + first one. The change exposed the problem of calling memcpy on a + NULL pointer, in this case the passed in sockaddr_in struct which + is now checked. + +2008-04-07 18:00 +0000 [r113118] Jason Parker <jparker@digium.com> + + * channels/chan_skinny.c, configs/skinny.conf.sample: Allow + playback with noanswer (and add earlyrtp option). (closes issue + #9077) Reported by: pj Patches: earlyrtp.diff uploaded by wedhorn + (license 30) Tested by: pj, qwell, DEA, wedhorn + +2008-04-07 17:51 +0000 [r113117] Tilghman Lesher <tlesher@digium.com> + + * funcs/func_strings.c: Force ast_mktime() to check for DST, since + strptime(3) does not. (Closes issue #12374) + +2008-04-07 16:08 +0000 [r113065] Mark Michelson <mmichelson@digium.com> + + * main/channel.c: This fix prevents a deadlock that was experienced + in chan_local. There was deadlock prevention in place in + chan_local, but it would not work in a specific case because the + channel was recursively locked. By unlocking the channel prior to + calling the generator's generate callback in + ast_read_generator_actions(), we prevent the recursive locking, + and therefore the deadlock. (closes issue #12307) Reported by: + callguy Patches: 12307.patch uploaded by putnopvut (license 60) + Tested by: callguy + +2008-04-07 15:16 +0000 [r113012] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_sip.c: (closes issue #12362) (closes issue #12372) + Reported by: vinsik Tested by: tecnoxarxa This one line change + makes an if inside a for loop (in realtime_peer) check all the + ast_variables the loop was intending to test rather than just the + first one. + +2008-04-04 19:26 +0000 [r112766-112820] Philippe Sultan <philippe.sultan@gmail.com> + + * channels/chan_gtalk.c: Free newly allocated channel before + returning + + * channels/chan_gtalk.c: Prevent call connections when codecs don't + match. (closes issue #10604) Reported by: keepitcool Patches: + branch-1.4-10604-2.diff uploaded by phsultan (license 73) Tested + by: phsultan + +2008-04-04 00:52 +0000 [r112709-112711] Joshua Colp <jcolp@digium.com> + + * main/Makefile: Pass in the path to Zaptel for systems that + install Zaptel headers in a separate location. + + * main/asterisk.c: One thing at a time... let's get 1.4 building. + +2008-04-03 23:57 +0000 [r112689] Dwayne M. Hubbard <dhubbard@digium.com> + + * main/asterisk.c: add a Zaptel timer check to verify the timer is + responding when Zaptel support is compiled into Asterisk and + Zaptel drivers are loaded. This will help people not waste their + valuable time debugging side effects. + +2008-04-03 14:32 +0000 [r112393-112599] Mark Michelson <mmichelson@digium.com> + + * channels/chan_zap.c: Fix the testing of the "res" variable so + that it is more logically correct and makes the correct warning + and debug messages print. (closes issue #12361) Reported by: + one47 Patches: chan_zap_deferred_digit.patch uploaded by one47 + (license 23) + + * main/manager.c: Fix a race condition in the manager. It is + possible that a new manager event could be appended during a + brief time when the manager is not waiting for input. If an event + comes during this period, we need to set an indicator that there + is an event pending so that the manager doesn't attempt to wait + forever for an event that already happened. (closes issue #12354) + Reported by: bamby Patches: manager_race_condition.diff uploaded + by bamby (license 430) (comments added by me) + + * apps/app_queue.c: Ensure that there is no timeout if none is + specified. (closes issue #12349) Reported by: johnlange + +2008-04-01 Russell Bryant <russell@digium.com> + + * Asterisk 1.4.19 released. + +2008-03-28 Russell Bryant <russell@digium.com> + + * Asterisk 1.4.19-rc4 released. + +2008-03-28 16:19 +0000 [r111658] Jason Parker <jparker@digium.com> + + * formats/format_wav_gsm.c: The file size of WAV49 does not need to + be an even number. (closes issue #12128) Reported by: mdu113 + Patches: 12128-noevenlength.diff uploaded by qwell (license 4) + Tested by: qwell, mdu113 + +2008-03-28 14:35 +0000 [r111442-111605] Tilghman Lesher <tlesher@digium.com> + + * doc/valgrind.txt: Update debugging text, since Valgrind + eliminated the --log-file-exactly option. (Closes issue #12320) + + * main/acl.c: For FreeBSD, at least, the ifa_addr element could be + NULL. (closes issue #12300) Reported by: festr Patches: + acl.c.patch uploaded by festr (license 443) + +2008-03-27 13:03 +0000 [r111341-111391] Steve Murphy <murf@digium.com> + + * apps/app_playback.c, main/pbx.c: These small documentation + updates made in response to a query in asterisk-users, where a + user was using Playback, but needed the features of Background, + and had no idea that Background existed, or that it might provide + the features he needed. I thought the best way to avert these + kinds of queries was to provide "See Also" references in all + three of "Background", "Playback", "WaitExten". Perhaps a project + to do this with all related apps is in order. + + * pbx/pbx_ael.c, include/asterisk/ael_structs.h: (closes issue + #12302) Reported by: pj Tested by: murf These changes will set a + channel variable ~~EXTEN~~ just before generating code for a + switch, with the value of ${EXTEN}. The exten is marked as having + a switch, and ever after that, till the end of the exten, we + substitute any ${EXTEN} with ${~~EXTEN~~} instead in application + arguments; (and the ${EXTEN: also). The reason for this, is that + because switches are coded using separate extensions to provide + pattern matching, and jumping to/from these switch extensions + messes up the ${EXTEN} value, which blows the minds of users. + +2008-03-27 00:25 +0000 [r111245-111280] Jason Parker <jparker@digium.com> + + * main/frame.c: Put this flag back so we don't change the API. + + * main/frame.c: Remove excessive smoother optimization that was + causing audio glitches (small "pops") after (about 200ms later) + an "incorrectly" sized frame was received. While it would be very + nice to keep this as optimized as possible, it makes no sense for + the smoother to be dropping random bits of audio like this. Isn't + that the whole point of a smoother? Closes issue #12093. + +2008-03-26 19:55 +0000 [r111129] Joshua Colp <jcolp@digium.com> + + * contrib/scripts/autosupport: Update autosupport script. (closes + issue #12310) Reported by: angler Patches: autosupport.diff + uploaded by angler (license 106) + +2008-03-26 19:51 +0000 [r111126] Kevin P. Fleming <kpfleming@digium.com> + + * /, UPGRADE.txt: Merged revisions 111125 via svnmerge from + https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ + r111125 | kpfleming | 2008-03-26 14:49:30 -0500 (Wed, 26 Mar + 2008) | 2 lines update UPGRADE notes to document usage of the + script ........ + +2008-03-26 19:37 +0000 [r111049-111121] Mark Michelson <mmichelson@digium.com> + + * apps/app_voicemail.c: This code change is made just for + clarification. It does exactly the same thing as before. It just + doesn't look as wrong. + + * apps/app_voicemail.c: Add a lock to the vm_state structure and + use the lock around mail_open calls to prevent concurrent access + of the same mailstream. This, along with trunk's ability to + configure TCP timeouts for IMAP storage will help to prevent + crashes and hangs when using voicemail with IMAP storage. (closes + issue #10487) Reported by: ewilhelmsen + +2008-03-26 19:06 +0000 [r111024] Kevin P. Fleming <kpfleming@digium.com> + + * codecs/ilbc, /, contrib/scripts/get_ilbc_source.sh (added): + Merged revisions 111019 via svnmerge from + https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ + r111019 | kpfleming | 2008-03-26 13:58:37 -0500 (Wed, 26 Mar + 2008) | 2 lines add a script to make getting the iLBC source code + simple for end users ........ + +2008-03-26 19:04 +0000 [r111014-111020] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: If we are requested to authenticate a + reinvite make sure that it contains T38 SDP if need be. (closes + issue #11995) Reported by: fall + + * channels/chan_iax2.c: Make sure that full video frames are sent + whenever the 15 bit timestamp rolls over. (closes issue #11923) + Reported by: mihai Patches: asterisk-fullvideo.patch uploaded by + mihai (license 94) + +2008-03-26 17:43 +0000 [r110880-110962] Kevin P. Fleming <kpfleming@digium.com> + + * UPGRADE.txt: add note that the user will need to enable + codec_ilbc to get it to build + + * codecs/ilbc/StateConstructW.h (removed), + codecs/ilbc/libilbc.vcproj (removed), codecs/ilbc/packing.h + (removed), codecs/ilbc/getCBvec.c (removed), + codecs/ilbc/LPCdecode.c (removed), codecs/ilbc/enhancer.c + (removed), codecs/ilbc/lsf.c (removed), codecs/ilbc/iLBC_encode.c + (removed), codecs/ilbc/getCBvec.h (removed), + codecs/ilbc/LPCdecode.h (removed), codecs/ilbc/enhancer.h + (removed), codecs/ilbc/FrameClassify.c (removed), + codecs/ilbc/iLBC_define.h (removed), codecs/ilbc/lsf.h (removed), + codecs/ilbc/iLBC_encode.h (removed), codecs/ilbc/FrameClassify.h + (removed), codecs/ilbc/helpfun.c (removed), codecs/ilbc/doCPLC.c + (removed), codecs/ilbc/anaFilter.c (removed), + codecs/ilbc/helpfun.h (removed), codecs/ilbc/createCB.c + (removed), codecs/ilbc/doCPLC.h (removed), + codecs/ilbc/anaFilter.h (removed), UPGRADE.txt, + codecs/ilbc/iLBC_decode.c (removed), codecs/ilbc/constants.c + (removed), codecs/ilbc/createCB.h (removed), CHANGES, + codecs/ilbc/iLBC_decode.h (removed), codecs/ilbc/constants.h + (removed), codecs/Makefile, codecs/ilbc/iCBSearch.c (removed), + codecs/ilbc/filter.c (removed), codecs/ilbc/hpInput.c (removed), + codecs/ilbc/gainquant.c (removed), codecs/ilbc/hpOutput.c + (removed), codecs/ilbc/iCBSearch.h (removed), + codecs/ilbc/filter.h (removed), codecs/ilbc/hpInput.h (removed), + codecs/ilbc/gainquant.h (removed), codecs/ilbc/LPCencode.c + (removed), codecs/ilbc/hpOutput.h (removed), + codecs/ilbc/StateSearchW.c (removed), codecs/codec_ilbc.c, + codecs/ilbc/LPCencode.h (removed), codecs/ilbc/StateSearchW.h + (removed), codecs/ilbc/iCBConstruct.c (removed), + codecs/ilbc/syntFilter.c (removed), /, codecs/ilbc/iCBConstruct.h + (removed), codecs/ilbc/syntFilter.h (removed), + codecs/ilbc/StateConstructW.c (removed), codecs/ilbc/packing.c + (removed): Merged revisions 110869 via svnmerge from + https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ + r110869 | kpfleming | 2008-03-26 08:53:46 -0700 (Wed, 26 Mar + 2008) | 2 lines due to licensing restrictions, we cannot + distribute the source code for iLBC encoding and decoding... so + remove it, and add instructions on how the user can obtain it + themselves ........ + +2008-03-25 22:51 +0000 [r110779] Jason Parker <jparker@digium.com> + + * cdr/cdr_custom.c: Make file access in cdr_custom similar to + cdr_csv. Fixes issue #12268. Patch borrowed from r82344 + +2008-03-25 20:03 +0000 [r110727] Jeff Peeler <jpeeler@digium.com> + + * channels/chan_sip.c: This one line change makes an if inside a + for loop (in realtime_peer) check all the ast_variables the loop + was intending to test rather than just the first one. + +2008-03-25 15:40 +0000 [r110635] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: When reverting a commit, I accidentally left + in this bit which was an experiment to see what would happen. It + passed the compile test, and I didn't notice I had left this + change in too. So this is a revert of a revert...sort of. + +2008-03-25 14:37 +0000 [r110628] Joshua Colp <jcolp@digium.com> + + * include/asterisk/options.h, main/asterisk.c, Makefile, + main/app.c: Add an option (transmit_silence) which transmits + silence during both Record() and DTMF generation. The reason this + is an option is that in order to transmit silence we have to + setup a translation path. This may not be needed/wanted in all + cases. (closes issue #10058) Reported by: tracinet + +2008-03-24 19:17 +0000 [r110618] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: This is a revert for revision 108288. The + reason is that that revision was not for an actual bug fix per + se, and so it really should not have been in 1.4 in the first + place. Plus, people who compile with DO_CRASH are more likely to + encounter a crash due to this change. While I think the usage of + DO_CRASH in ast_sched_del is a bit absurd, this sort of change is + beyond the scope of 1.4 and should be done instead in a developer + branch based on trunk so that all scheduler functions are fixed + at once. I also am reverting the change to trunk and 1.6 since + they also suffer from the DO_CRASH potential. (closes issue + #12272) Reported by: qq12345 + +2008-03-24 17:34 +0000 [r110614] Russell Bryant <russell@digium.com> + + * channels/chan_iax2.c: Turn a NOTICE into a DEBUG message. + +2008-03-21 14:32 +0000 [r110474] Jason Parker <jparker@digium.com> + + * codecs/gsm/Makefile: Don't attempt to do optimizations of gsm on + mips platforms either. (closes issue #12270) Reported by: + zandbelt Patches: 026-gsm-mips.patch uploaded by zandbelt + (license 33) + +2008-03-20 23:13 +0000 [r110163-110395] Russell Bryant <russell@digium.com> + + * main/autoservice.c: Shorten the ast_waitfor() timeout from 500 ms + to 50 ms in the autoservice thread. This really should not make a + difference except in very rare cases. That case would be that all + of the channels in autoservice are not generating any frames. In + that case, this change reduces the potential amount of time that + a thread waits in ast_autoservice_stop() for the autoservice + thread to wrap back around to the beginning of its loop. (closes + issue #12266, reported by dimas) + + * /, channels/chan_sip.c, channels/chan_iax2.c: Merged revisions + 110335 via svnmerge from + https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ + r110335 | russell | 2008-03-20 16:53:27 -0500 (Thu, 20 Mar 2008) + | 6 lines Fix some very broken code that was introduced in 1.2.26 + as a part of the security fix. The dnsmgr is not appropriate + here. The dnsmgr takes a pointer to an address structure that a + background thread continuously updates. However, in these cases, + a stack variable was passed. That means that the dnsmgr thread + would be continuously writing to bogus memory. ........ + + * apps/app_meetme.c: Fix a bug where when calls on the trunk side + hang up while on hold, the state is not properly reflected. + (closes issue #11990, reported by anakaoka, patched by me) + +2008-03-19 20:33 +0000 [r110083] Mark Michelson <mmichelson@digium.com> + + * apps/app_chanspy.c: Add a missing unlock in the case that memory + allocation fails in app_chanspy. Thanks to Russell for confirming + that this was an issue. + +2008-03-19 19:11 +0000 [r110019-110035] Joshua Colp <jcolp@digium.com> + + * res/res_musiconhold.c: Add sanity checking for position resuming. + We *have* to make sure that the position does not exceed the + total number of files present, and we have to make sure that the + position's filename is the same as previous. These values can + change if a music class is reloaded and give unpredictable + behavior. (closes issue #11663) Reported by: junky + + * main/rtp.c: Make sure that the mark bit does not incorrectly + cause video frame timestamps to be calculated as if they are + audio frames. (closes issue #11429) Reported by: sperreault + Patches: 11429-frametype.diff uploaded by qwell (license 4) + +2008-03-19 17:12 +0000 [r109973] Jason Parker <jparker@digium.com> + + * Makefile, build_tools/cflags.xml, build_tools/cflags-devmode.xml + (added): People report bugs about Asterisk crashing with DO_CRASH + enabled was getting a little silly... Now we only show certain + cflags when you run configure with --enable-dev-mode + (corresponding menuselect change to follow) + +2008-03-19 15:41 +0000 [r109908] Steve Murphy <murf@digium.com> + + * main/config.c: (closes issue #11442) Reported by: tzafrir + Patches: 11442.patch uploaded by murf (license 17) Tested by: + murf I didn't give tzafrir very much time to test this, but if he + does still have remaining issues, he is welcome to re-open this + bug, and we'll do what is called for. I reproduced the problem, + and tested the fix, so I hope I am not jumping by just going + ahead and committing the fix. The problem was with what file_save + does with templates; firstly, it tended to print out multiple + options: [my_category](!)(templateref) instead of + [my_category](!,templateref) which is fixed by this patch. + Nextly, the code to suppress output of duplicate declarations + that would occur because the reader copies inherited declarations + down the hierarchy, was not working. Thus: [master-template](!) + mastervar = bar [template](!,master-template) tvar = value + [cat](template) catvar = val would be rewritten as: ;! ;! + Automatically generated configuration file ;! Filename: + experiment.conf (/etc/asterisk/experiment.conf) ;! Generator: + Manager ;! Creation Date: Tue Mar 18 23:17:46 2008 ;! + [master-template](!) mastervar = bar + [template](!,master-template) mastervar = bar tvar = value + [cat](template) mastervar = bar tvar = value catvar = val This + has been fixed. Since the config reader 'explodes' inherited vars + into the category, users may, in certain circumstances, see + output different from what they originally entered, but it should + be both correct and equivalent. + +2008-03-19 04:06 +0000 [r109763-109838] Russell Bryant <russell@digium.com> + + * main/utils.c: Tweak spacing in a recent change because I'm very + picky. + + * apps/app_chanspy.c: Fix one place where the chanspy datastore + isn't removed from a channel. (issue #12243, reported by atis, + patch by me) + +2008-03-18 20:52 +0000 [r109713] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: This patch makes it so that all queue member + status changes are handled through device state code. This + removes several problems people were seeing where their queue + members would get into an "unknown" state. Huge props go to atis + on this one since he was the one who found the code section that + was causing the problem and proposed the solution. I just wrote + what he suggested :) (closes issue #12127) Reported by: atis + Patches: 12127v3.patch uploaded by putnopvut (license 60) Tested + by: atis, jvandal + +2008-03-18 19:23 +0000 [r109648] Jason Parker <jparker@digium.com> + + * codecs/log2comp.h: Allow codecs that use log2comp (g726) to + compile correctly on x86 with gcc4 optimizations. (closes issue + #12253) Reported by: fossil Patches: log2comp.patch uploaded by + fossil (license 140) + +2008-03-18 17:58 +0000 [r109575] Mark Michelson <mmichelson@digium.com> + + * channels/chan_agent.c: Make sure an agent doesn't try to send + dtmf to a NULL channel closes issue #12242 Reported by Yourname + +2008-03-18 Russell Bryant <russell@digium.com> + + * Asterisk 1.4.19-rc3 released. + +2008-03-18 16:25 +0000 [r109482] Terry Wilson <twilson@digium.com> + + * include/asterisk/astobj.h: Fix character string being treated ad + format string + +2008-03-18 15:10 +0000 [r109393] Jason Parker <jparker@digium.com> + + * /, channels/chan_sip.c: Merged revisions 109391 via svnmerge from + https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ + r109391 | qwell | 2008-03-18 10:08:41 -0500 (Tue, 18 Mar 2008) | + 3 lines Do not return with a successful authentication if the + From header ends up empty. (AST-2008-003) ........ + +2008-03-18 14:58 +0000 [r109386] Joshua Colp <jcolp@digium.com> + + * main/rtp.c, channels/chan_sip.c: Put a maximum limit on the + number of payloads accepted, and also make sure a given payload + does not exceed our maximum value. (AST-2008-002) + +2008-03-18 06:37 +0000 [r109309] Steve Murphy <murf@digium.com> + + * pbx/ael/ael-test/ael-ntest23 (added), + pbx/ael/ael-test/ael-ntest23/t1/a.ael (added), + pbx/ael/ael-test/ael-ntest23/t1/b.ael (added), + pbx/ael/ael-test/ael-ntest23/t1/c.ael (added), + pbx/ael/ael-test/ael-ntest23/t2/d.ael (added), + pbx/ael/ael-test/ael-ntest23/t2/e.ael (added), + pbx/ael/ael-test/ael-ntest23/t2/f.ael (added), + pbx/ael/ael-test/ref.ael-ntest23 (added), pbx/ael/ael_lex.c, + pbx/ael/ael-test/ael-ntest23/t3/g.ael (added), + pbx/ael/ael-test/ael-ntest23/t3/h.ael (added), + pbx/ael/ael-test/ael-ntest23/t3/i.ael (added), pbx/ael/ael.flex, + pbx/ael/ael-test/ael-ntest23/t3/j.ael (added), + pbx/ael/ael-test/ael-ntest23/qq.ael (added), + pbx/ael/ael-test/ael-ntest23/t1 (added), + pbx/ael/ael-test/ael-ntest23/t2 (added), + pbx/ael/ael-test/ael-ntest23/t3 (added), + pbx/ael/ael-test/ael-ntest23/extensions.ael (added): (closes + issue #11903) Reported by: atis Many thanks to atis for spotting + this problem and reporting it. The fix was to straighten out how + items are placed on and removed from the file stack. Regressions + as well as the provided test case helped to straighten out all + code paths. valgrind was used to make sure all memory allocated + was freed. Sorry for not solving this earlier. I got distracted. + Added the ntest23 regression test, which is mainly a copy of + ntest22, but with a few juicy errors thrown in, to replicate the + kind of error that atis spotted. + +2008-03-17 22:05 +0000 [r109226] Mark Michelson <mmichelson@digium.com> + + * main/utils.c: Fix a logic flaw in the code that stores lock info + which is displayed via the "core show locks" command. The idea + behind this section of code was to remove the previous lock from + the list if it was a trylock that had failed. Unfortunately, + instead of checking the status of the previous lock, we were + referencing the index immediately following the previous lock in + the lock_info->locks array. The result of this problem, under the + right circumstances, was that the lock which we currently in the + process of attempting to acquire could "overwrite" the previous + lock which was acquired. While this does not in any way affect + typical operation, it *could* lead to misleading "core show + locks" output. + +2008-03-17 17:55 +0000 [r109171] Michiel van Baak <michiel@vanbaak.info> + + * channels/chan_skinny.c: Update the directory of placed calls on + skinny phones when dialing a channel that does not provide + progress (analog ZAP lines) The phone does handle the double + update on calls to channels that do provide progress and wont + insert duplicate items (closes issue #12239) Reported by: DEA + Patches: chan_skinny-call-log.txt uploaded by DEA (license 3) + +2008-03-17 16:24 +0000 [r109107] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: 200 OKs in response to a reinvite need to be + sent reliably. If the remote side does not receive one the dialog + will be torn down. (closes issue #12208) Reported by: atrash + +2008-03-17 15:15 +0000 [r109057] Jason Parker <jparker@digium.com> + + * main/file.c: Backport revision 106439 from trunk. I didn't + realize this was broken in 1.4 as well. Closes issue #12222. + +2008-03-17 14:18 +0000 [r109012] Mark Michelson <mmichelson@digium.com> + + * apps/app_chanspy.c: Make sure that we release the lock on the + spyee channel if the spyee or spy has hung up (closes issue + #12232) Reported by: atis + +2008-03-16 21:47 +0000 [r108961] Michiel van Baak <michiel@vanbaak.info> + + * main/dial.c: add missing break to case AST_CONTROL_SRCUPDATE + (closes issue #12228) Reported by: andrew Patches: SRC.patch + uploaded by andrew (license 240) + +2008-03-14 20:09 +0000 [r108792-108796] Russell Bryant <russell@digium.com> + + * channels/chan_oss.c: Fix a channel name issue. chan_oss registers + the "Console" channel type, but it created channels with an "OSS" + prefix. (closes issue #12194, reported by davidw, patched by me) + + * contrib/init.d/rc.suse.asterisk: Update the SuSE init script to + start networking before asterisk, as well. (closes issue #12200, + reported by and change suggested by reinerotto) + +2008-03-14 16:44 +0000 [r108737] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Fix a race condition in the SIP packet + scheduler which could cause a crash. chan_sip uses the scheduler + API in order to schedule retransmission of reliable packets (such + as INVITES). If a retransmission of a packet is occurring, then + the packet is removed from the scheduler and retrans_pkt is + called. Meanwhile, if a response is received from the packet as + previously transmitted, then when we ACK the response, we will + remove the packet from the scheduler and free the packet. The + problem is that both the ACK function and retrans_pkt attempt to + acquire the same lock at the beginning of the function call. This + means that if the ACK function acquires the lock first, then it + will free the packet which retrans_pkt is about to read from and + write to. The result is a crash. The solution: 1. If the ACK + function fails to remove the packet from the scheduler and the + retransmit id of the packet is not -1 (meaning that we have not + reached the maximum number of retransmissions) then release the + lock and yield so that retrans_pkt may acquire the lock and + operate. 2. Make absolutely certain that the ACK function does + not recursively lock the lock in question. If it does, then + releasing the lock will do no good, since retrans_pkt will still + be unable to acquire the lock. (closes issue #12098) Reported by: + wegbert (closes issue #12089) Reported by: PTorres Patches: + 12098-putnopvutv3.patch uploaded by putnopvut (license 60) Tested + by: jvandal + +2008-03-14 14:29 +0000 [r108682] Jason Parker <jparker@digium.com> + + * res/res_musiconhold.c: Fix a potential segfault if chan (or + chan->music_state) is NULL. Closes issue #12210, credit to + edantie for pointing this out. + +2008-03-13 21:38 +0000 [r108469-108583] Russell Bryant <russell@digium.com> + + * apps/app_chanspy.c, main/channel.c, include/asterisk/channel.h: + Fix another issue that was causing crashes in chanspy. This + introduces a new datastore callback, called chan_fixup(). The + concept is exactly like the fixup callback that is used in the + channel technology interface. This callback gets called when the + owning channel changes due to a masquerade. Before this was + introduced, if a masquerade happened on a channel being spyed on, + the channel pointer in the datastore became invalid. (closes + issue #12187) (reported by, and lots of testing from atis) (props + to file for the help with ideas) + + * channels/chan_sip.c: Make a tweak that gets the LEDs on polycom + phones to blink when an extension that has been subscribed to + goes on hold. Otherwise, they just stay on like it does when an + extension is in use. (closes issue #11263) Reported by: russell + Patches: notify_hold.rev1.txt uploaded by russell (license 2) + Tested by: russell + + * apps/app_followme.c: Fix a couple uses of sprintf. The second one + could actually cause an overflow of a stack buffer. It's not a + security issue though, it only depends on your configuration. + +2008-03-12 21:53 +0000 [r108227-108288] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: Change AST_SCHED_DEL use to ast_sched_del + for autocongestion in chan_sip. The scheduler callback will + always return 0. This means that this id is never rescheduled, so + it makes no sense to loop trying to delete the id from the + scheduler queue. If we fail to remove the item from the queue + once, it will fail every single time. (Yes I realize that in this + case, the macro would exit early because the id is set to -1 in + the callback, but it still makes no sense to use that macro in + favor of calling ast_sched_del once and being done with it) This + is the first of potentially several such fixes. + + * include/asterisk/sched.h: Added a large comment before the + AST_SCHED_DEL macro to explain its purpose as well as when it is + appropriate and when it is not appropriate to use it. I also + removed the part of the debug message that mentions that this is + probably a bug because there are some perfectly legitimate places + where ast_sched_del may fail to delete an entry (e.g. when the + scheduler callback manually reschedules with a new id instead of + returning non-zero to tell the scheduler to reschedule with the + same idea). I also raised the debug level of the debug message in + AST_SCHED_DEL since it seems like it could come up quite + frequently since the macro is probably being used in several + places where it shouldn't be. Also removed the redundant line, + file, and function information since that is provided by ast_log. + +2008-03-12 19:57 +0000 [r108135] Russell Bryant <russell@digium.com> + + * apps/app_chanspy.c, main/channel.c: (closes issue #12187, + reported by atis, fixed by me after some brainstorming on the + issue with mmichelson) - Update copyright info on app_chanspy. - + Fix a race condition that caused app_chanspy to crash. The issue + was that the chanspy datastore magic that was used to ensure that + spyee channels did not disappear out from under the code did not + completely solve the problem. It was actually possible for + chanspy to acquire a channel reference out of its datastore to a + channel that was in the middle of being destroyed. That was + because datastore destruction in ast_channel_free() was done near + the end. So, this left the code in app_chanspy accessing a + channel that was partially, or completely invalid because it was + in the process of being free'd by another thread. The following + sort of shows the code path where the race occurred: + ============================================================================= + Thread 1 (PBX thread for spyee chan) || Thread 2 (chanspy) + --------------------------------------||------------------------------------- + ast_channel_free() || - remove channel from channel list || - + lock/unlock the channel to ensure || that no references retrieved + from || the channel list exist. || + --------------------------------------||------------------------------------- + || channel_spy() - destroy some channel data || - Lock chanspy + datastore || - Retrieve reference to channel || - lock channel || + - Unlock chanspy datastore + --------------------------------------||------------------------------------- + - destroy channel datastores || - call chanspy datastore d'tor || + which NULL's out the ds' || - Operate on the channel ... + reference to the channel || || - free the channel || || || - + unlock the channel + --------------------------------------||------------------------------------- + ============================================================================= + +2008-03-12 19:16 +0000 [r108086] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_sip.c: if we receive an INVITE with a + Content-Length that is not a valid number, or is zero, then don't + process the rest of the message body looking for an SDP closes + issue #11475 Reported by: andrebarbosa + +2008-03-12 18:26 +0000 [r108083] Joshua Colp <jcolp@digium.com> + + * apps/app_mixmonitor.c, include/asterisk/audiohook.h, + main/audiohook.c: Add a trigger mode that triggers on both read + and write. The actual function that returns the combined audio + frame though will wait until both sides have fed in audio, or + until one side stops (such as the case when you call Wait). + (closes issue #11945) Reported by: xheliox + +2008-03-12 16:59 +0000 [r108031] Russell Bryant <russell@digium.com> + + * main/channel.c: Destroy the channel lock after the channel + datastores. (inspired by issue #12187) + +2008-03-12 01:52 +0000 [r107877] Tilghman Lesher <tlesher@digium.com> + + * contrib/scripts/iax-friends.sql, contrib/scripts/sip-friends.sql: + Document all of the possible realtime fields + +2008-03-11 23:37 +0000 [r107714-107826] Jason Parker <jparker@digium.com> + + * doc/voicemail_odbc_postgresql.txt: Update documentation for pgsql + ODBC voicemail. (closes issue #12186) Reported by: jsmith + Patches: vm_pgsql_doc_update.patch uploaded by jsmith (license + 15) + + * channels/chan_gtalk.c: Copy voicemail dependency logic for + res_adsi to chan_gtalk (for jabber). (closes issue #12014) + Reported by: junky + +2008-03-11 20:48 +0000 [r107713] Kevin P. Fleming <kpfleming@digium.com> + + * Makefile.rules, channels/Makefile: get chan_vpb to build properly + in dev mode + +2008-03-11 20:47 +0000 [r107712] Jason Parker <jparker@digium.com> + + * apps/app_voicemail.c: Add a newline on a log + +2008-03-11 19:20 +0000 [r107582-107646] Joshua Colp <jcolp@digium.com> + + * res/res_features.c: Make sure the visible indication is on the + right channel so when the masquerade happens the proper + indication is enacted. (closes issue #11707) Reported by: iam + + * apps/app_meetme.c: Add an additional check for setting conference + parameter when using the marked user options. It was possible for + it to return to a no listen/no talk state if a masquerade + happened. (closes issue #12136) Reported by: aragon + + * apps/app_exec.c: Fix a minor spelling error. (closes issue + #12183) Reported by: darrylc + +2008-03-11 Russell Bryant <russell@digium.com> + + * Asterisk 1.4.19-rc2 released. + +2008-03-11 15:18 +0000 [r107352-107472] Kevin P. Fleming <kpfleming@digium.com> + + * apps/app_rpt.c: backport a fix from trunk + + * channels/misdn/isdn_lib.c, codecs/Makefile, + channels/chan_misdn.c: fix various other problems found by gcc + 4.3 + + * configure, include/asterisk/autoconfig.h.in, configure.ac, + apps/app_sms.c: stop checking for mktime() in the configure + script... we don't use it, and the test is buggy under gcc 4.3 + + * configure, main/Makefile, configure.ac, makeopts.in: check for + compiler support for -fno-strict-overflow before using it (tested + with Debian's gcc 4.3, 4.1 and 3.4) (closes issue #12179) + Reported by: Netview + + * configure, configure.ac: fix small bug in IMAP toolkit testing + + * main/udptl.c, utils/Makefile, main/Makefile, + main/editline/readline.c, pbx/Makefile: fix up various compiler + warnings found with gcc-4.3: - the output of flex includes a + static function called 'input' that is not used, so for the + moment we'll stop having the compiler tell us about unused + variables in the flex source files (a better fix would be to + improve our flex post-processing to remove the unused function) - + main/stdtime/localtime.c makes assumptions about signed integer + overflow, and gcc-4.3's improved optimizer tries to take + advantage of handling potential overflow conditions at compile + time; for now, suppress these optimizations until we can fiure + out if the code needs improvement - main/udptl.c has some + references to uninitialized variables; in one case there was no + bug, but in the other it was certainly possibly for unexpected + behavior to occur - main/editline/readline.c had an unused + variable + +2008-03-11 00:59 +0000 [r107290] Terry Wilson <twilson@digium.com> + + * channels/chan_sip.c: If we fail to alloc a channel, we should + re-lock the pvt structure before returning. + +2008-03-10 21:32 +0000 [r107230] Tilghman Lesher <tlesher@digium.com> + + * main/pbx.c: Use non-global storage for eswitch + +2008-03-10 20:27 +0000 [r107173] Jason Parker <jparker@digium.com> + + * channels/chan_zap.c: Make sure to reenable echo can after a + "failed" (canceled, etc) three-way call. (closes issue #11335) + Reported by: rebuild + +2008-03-10 20:17 +0000 [r107099-107161] Russell Bryant <russell@digium.com> + + * main/pbx.c: Fix another bug specifically related to asynchronous + call origination. Once the PBX is started on the channel using + ast_pbx_start(), then the ownership of the channel has been + passed on to another thread. We can no longer access it in this + code. If the channel gets hung up very quickly, it is possible + that we could access a channel that has been free'd. (inspired by + BE-386) + + * main/pbx.c: Fix some bugs related to originating calls. If the + code failed to start a PBX on the channel (such as if you set a + call limit based on the system's load average), then there were + cases where a channel that has already been free'd using + ast_hangup() got accessed. This caused weird memory corruption + and crashes to occur. (fixes issue BE-386) (much debugging credit + goes to twilson, final patch written by me) + + * main/channel.c: Resolve a compiler warning. + + * main/channel.c: Fix a race condition where the generator can go + away (closes issue #12175, reported by edantie, patched by me) + +2008-03-10 14:33 +0000 [r107016] Joshua Colp <jcolp@digium.com> + + * apps/app_dial.c, main/cdr.c, include/asterisk/cdr.h: Move where + unanswered CDRs are dropped to the CDR core, not everything uses + app_dial. (closes issue #11516) Reported by: ys Patches: + branch_1.4_cdr.diff uploaded by ys (license 281) Tested by: + anest, jcapp, dartvader + +2008-03-08 15:59 +0000 [r106945] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_zap.c: don't generate D-Channel "up" and "down" + messages unless the channel state is actually changing; also, + generate the "up" message when an implicit "up" occurs due to + reception of a normal event when we thought the channel was + "down" + +2008-03-07 22:51 +0000 [r106895] Russell Bryant <russell@digium.com> + + * apps/app_meetme.c: Only start the SLA thread if SLA has actually + been configured. + +2008-03-07 22:14 +0000 [r106842] Jason Parker <jparker@digium.com> + + * main/editline/Makefile.in: Fix hardcoded grep in editline, were + GNU grep is required. (closes issue #12124) Reported by: dmartin + +2008-03-07 19:32 +0000 [r106788] Joshua Colp <jcolp@digium.com> + + * main/channel.c: Ignore source update control frame. (closes issue + #12168) Reported by: plack + +2008-03-07 17:16 +0000 [r106704] Russell Bryant <russell@digium.com> + + * include/asterisk/sched.h: Change a warning message to a debug + message. This is happening quite frequently, and it is not worth + spamming users with these messages unless we are pretty confident + that it should never happen. As it stands today, it _will_ and + _does_ happen and until that gets cleaned up a reasonable amount + on the development side, let's not spam the logs of everyone + else. (closes issue #12154) + +2008-03-07 16:22 +0000 [r106552-106635] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: Warn the user when a temporary greeting + exists (Closes issue #11409) + + * main/rtp.c: Properly initialize rtp->schedid (Closes issue + #12154) + + * apps/app_chanspy.c, apps/app_rpt.c, main/asterisk.c, + apps/app_speech_utils.c, apps/app_voicemail.c, main/channel.c, + funcs/func_enum.c, channels/chan_misdn.c, main/frame.c, + main/manager.c: Safely use the strncat() function. (closes issue + #11958) Reported by: norman Patches: 20080209__bug11958.diff.txt + uploaded by Corydon76 (license 14) + +2008-03-06 22:10 +0000 [r106437] Mark Michelson <mmichelson@digium.com> + + * main/pbx.c: Quell an annoying message that is likely to print + every single time that ast_pbx_outgoing_app is called. The reason + is that __ast_request_and_dial allocates the cdr for the channel, + so it should be expected that the channel will have a cdr on it. + Thanks to joetester on IRC for pointing this out + +2008-03-06 04:40 +0000 [r106328] Tilghman Lesher <tlesher@digium.com> + + * sounds/Makefile: Upgrade to the next release of sounds + +2008-03-05 22:37 +0000 [r106237] Russell Bryant <russell@digium.com> + + * channels/chan_iax2.c: Fix a potential deadlock and a few + different potential crashes. (closes issue #12145, reported by + thiagarcia, patched by me) + +2008-03-05 22:32 +0000 [r106235] Joshua Colp <jcolp@digium.com> + + * channels/chan_oss.c, main/rtp.c, channels/chan_mgcp.c, + apps/app_dial.c, main/channel.c, channels/chan_phone.c, + main/dial.c, channels/chan_zap.c, channels/chan_sip.c, + channels/chan_skinny.c, channels/chan_h323.c, main/file.c, + channels/chan_alsa.c, apps/app_followme.c, + include/asterisk/frame.h: Add a control frame to indicate the + source of media has changed. Depending on the underlying + technology it may need to change some things. (closes issue + #12148) Reported by: jcomellas + +2008-03-05 21:12 +0000 [r106178] Michiel van Baak <michiel@vanbaak.info> + + * doc/realtime.txt: document var_metric so no bugreports will come + in when it's actually a configuration issue. (issue #12151) + Reported and patched by: caio1982 1.4 patch by me + +2008-03-05 15:32 +0000 [r106038] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_zap.c: when a PRI call must be moved to a different + B channel at the request of the other endpoint, ensure that any + DSP active on the original channel is moved to the new one + (closes issue #11917) Reported by: mavetju Tested by: mavetju + +2008-03-05 15:17 +0000 [r106015] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_sip.c, include/asterisk/sched.h: Correctly + initialize retransid in SIP, and ensure that the warning when + failing to delete a schedule entry can actually hit the log. + (closes issue #12140) Reported by: slavon Patches: sch2.patch + uploaded by slavon (license 288) (Patch slightly modified by me) + +2008-03-05 01:52 +0000 [r105932] Russell Bryant <russell@digium.com> + + * main/rtp.c, main/translate.c, include/asterisk/frame.h: Fix a bug + that I just noticed in the RTP code. The calculation for setting + the len field in an ast_frame of audio was wrong when G.722 is in + use. The len field represents the number of ms of audio that the + frame contains. It would have set the value to be twice what it + should be. + +2008-03-04 18:10 +0000 [r105674-105676] Joshua Colp <jcolp@digium.com> + + * main/rtp.c: In addition to setting the marker bit let's change + our ssrc so they know for sure it is a different source. + + * main/rtp.c, channels/chan_sip.c, include/asterisk/rtp.h: When a + new source of audio comes in (such as music on hold) make sure + the marker bit gets set. (closes issue #10355) Reported by: + wdecarne Patches: 10355.diff uploaded by file (license 11) + (closes issue #11491) Reported by: kanderson + +2008-03-04 Russell Bryant <russell@digium.com> + + * Asterisk 1.4.19-rc1 released. + +2008-03-04 04:31 +0000 [r105591] Russell Bryant <russell@digium.com> + + * main/pbx.c: Backport a minor bug fix from trunk that I found + while doing random code cleanup. Properly break out of the loop + when a context isn't found when verify that includes are valid. + +2008-03-03 18:06 +0000 [r105572] Jason Parker <jparker@digium.com> + + * res/snmp/agent.c: Fix type for astNumChannels. (closes issue + #12114) Reported by: jeffg Patches: 12114.patch uploaded by jeffg + (license 192) + +2008-03-03 17:16 +0000 [r105563-105570] Russell Bryant <russell@digium.com> + + * channels/chan_local.c: In the case of an ast_channel allocation + failure, take the local_pvt out of the pvt list before destroying + it. + + * channels/chan_local.c: Fix a potential memory leak of the + local_pvt struct when ast_channel allocation fails. Also, in + passing, centralize the code necessary to destroy a local_pvt. + + * main/autoservice.c: Update the copyright information for + autoservice. Most of the code in this file now is stuff that I + have written recently ... + + * main/asterisk.c, main/channel.c, include/asterisk.h, + main/autoservice.c: Merge in some changes from + team/russell/autoservice-nochans-1.4 These changes fix up some + dubious code that I came across while auditing what happens in + the autoservice thread when there are no channels currently in + autoservice. 1) Change it so that autoservice thread doesn't keep + looping around calling ast_waitfor_n() on 0 channels twice a + second. Instead, use a thread condition so that the thread + properly goes to sleep and does not wake up until a channel is + put into autoservice. This actually fixes an interesting bug, as + well. If the autoservice thread is already running (almost always + is the case), then when the thread goes from having 0 channels to + have 1 channel to autoservice, that channel would have to wait + for up to 1/2 of a second to have the first frame read from it. + 2) Fix up the code in ast_waitfor_nandfds() for when it gets + called with no channels and no fds to poll() on, such as was the + case with the previous code for the autoservice thread. In this + case, the code would call alloca(0), and pass the result as the + first argument to poll(). In this case, the 2nd argument to + poll() specified that there were no fds, so this invalid pointer + shouldn't actually get dereferenced, but, this code makes it + explicit and ensures the pointers are NULL unless we have valid + data to put there. (related to issue #12116) + +2008-03-03 15:28 +0000 [r105557-105560] Joshua Colp <jcolp@digium.com> + + * main/channel.c: It is possible for no audio to pass between the + current digit and next digit so expand logic that clears + emulation to AST_FRAME_NULL. (closes issue #11911) Reported by: + edgreenberg Patches: v1-11911.patch uploaded by dimas (license + 88) Tested by: tbsky + + * channels/chan_sip.c: Add a comment to describe some logic. + (closes issue #12120) Reported by: flefoll Patches: + chan_sip.c.br14.patch-just-a-comment uploaded by flefoll (license + 244) + +2008-02-29 23:34 +0000 [r105409] Russell Bryant <russell@digium.com> + + * main/autoservice.c: Fix a major bug in autoservice. There was a + race condition in the handling of the list of channels in + autoservice. The problem was that it was possible for a channel + to get removed from autoservice and destroyed, while the + autoservice thread was still messing with the channel. This led + to memory corruption, and caused crashes. This explains multiple + backtraces I have seen that have references to autoservice, but + do to the nature of the issue (memory corruption), could cause + crashes in a number of areas. (fixes the crash in BE-386) (closes + issue #11694) (closes issue #11940) The following issues could be + related. If you are the reporter of one of these, please update + to include this fix and try again. (potentially fixes issue + #11189) (potentially fixes issue #12107) (potentially fixes issue + #11573) (potentially fixes issue #12008) (potentially fixes issue + #11189) (potentially fixes issue #11993) (potentially fixes issue + #11791) + +2008-02-29 14:47 +0000 [r105326] Philippe Sultan <philippe.sultan@gmail.com> + + * res/res_jabber.c: Fix a potential memory leak + +2008-02-29 14:34 +0000 [r105296] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: If the message file does not exist, just + return harmlessly, instead of crashing. (Closes issue #12108) + +2008-02-29 13:48 +0000 [r105261] Joshua Colp <jcolp@digium.com> + + * apps/app_voicemail.c: Bump up the size of the uniqueid variable. + (closes issue #12107) Reported by: asgaroth + +2008-02-29 13:05 +0000 [r105209] Philippe Sultan <philippe.sultan@gmail.com> + + * res/res_jabber.c: Automatically create new buddy upon reception + of a presence stanza of type subscribed. (closes issue #12066) + Reported by: ffadaie Patches: branch-1.4-12066-1.diff uploaded by + phsultan (license 73) trunk-12066-1.diff uploaded by phsultan + (license 73) Tested by: ffadaie, phsultan + +2008-02-28 22:23 +0000 [r105116] Russell Bryant <russell@digium.com> + + * main/utils.c, include/asterisk/lock.h: Fix a bug in the lock + tracking code that was discovered by mmichelson. The issue is + that if the lock history array was full, then the functions to + mark a lock as acquired or not would adjust the stats for + whatever lock is at the end of the array, which may not be + itself. So, do a sanity check to make sure that we're updating + lock info for the proper lock. (This explains the bizarre stats + on lock #63 in BE-396, thanks Mark!) + +2008-02-28 21:56 +0000 [r105113] Tilghman Lesher <tlesher@digium.com> + + * contrib/init.d/rc.debian.asterisk: Update init script for LSB + compat (closes issue #9843) Reported by: ibc Patches: + rc.debian.asterisk.patch uploaded by ibc (license 211) Tested by: + paravoid + +2008-02-28 20:11 +0000 [r105059] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: When using autofill, members who are in use + should be counted towards the number of available members to call + if ringinuse is set to yes. Thanks to jmls who brought this issue + up on IRC + +2008-02-28 19:20 +0000 [r104920-105005] Jason Parker <jparker@digium.com> + + * main/cdr.c, main/pbx.c: Make pbx_exec pass an empty string into + applications, if we get NULL. This protects against possible + segfaults in applications that may try to use data before + checking length (ast_strdupa'ing it, for example) (closes issue + #12100) Reported by: foxfire Patches: 12100-nullappargs.diff + uploaded by qwell (license 4) + + * channels/chan_skinny.c: According to a video at www.cisco.com, + the 7921G supports 6 line appearances. + +2008-02-28 00:05 +0000 [r104868] Tilghman Lesher <tlesher@digium.com> + + * main/Makefile, build_tools/strip_nonapi: Compatibility fix for + PPC64 (closes issue #12081) Reported by: jcollie Patches: + asterisk-1.4.18-funcdesc.patch uploaded by jcollie (license 412) + Tested by: jcollie, Corydon76 + +2008-02-27 21:49 +0000 [r104841] Mark Michelson <mmichelson@digium.com> + + * main/dial.c: Two fixes: 1. Make the list of ast_dial_channels a + lockable list. This is because in some cases, the ast_dial may + exist in multiple threads due to asynchronous execution of its + application, and I found some cases where race conditions could + exist. 2. Check in ast_dial_join to be sure that the channel + still exists before attempting to lock it, since it could have + gotten hung up but the is_running_app flag on the + ast_dial_channel may not have been cleared yet. (closes issue + #12038) Reported by: jvandal Patches: 12038v2.patch uploaded by + putnopvut (license 60) Tested by: jvandal + +2008-02-27 20:56 +0000 [r104787] Joshua Colp <jcolp@digium.com> + + * apps/app_chanspy.c: Don't loop around infinitely trying to spy on + our own channel, and don't forget to free/detach the datastore + upon hangup of the spy. + +2008-02-27 20:36 +0000 [r104783] Mark Michelson <mmichelson@digium.com> + + * main/file.c: Bump a couple of more buffers up by 2 so that + annoying warnings aren't generated like crazy on every + fileexists_core call. + +2008-02-27 18:15 +0000 [r104704] Tilghman Lesher <tlesher@digium.com> + + * main/manager.c: Ensure the session ID can't be 0. + +2008-02-27 17:41 +0000 [r104665] Joshua Colp <jcolp@digium.com> + + * main/file.c: Bump up the buffer by 2. + +2008-02-27 17:33 +0000 [r104625] Russell Bryant <russell@digium.com> + + * apps/app_chanspy.c: Fix a problem in ChanSpy where it could get + stuck in an infinite loop without being able to detect that the + calling channel hung up. (closes issue #12076, reported by junky, + patched by me) + +2008-02-27 17:26 +0000 [r104598] Jason Parker <jparker@digium.com> + + * res/res_features.c: Inherit language from the transfering channel + on a blind transfer. (closes issue #11682) Reported by: caio1982 + Patches: local_atxfer_lang3-1.4.diff uploaded by caio1982 + (license 22) Tested by: caio1982, victoryure + +2008-02-27 17:07 +0000 [r104596] Joshua Colp <jcolp@digium.com> + + * main/loader.c: Use the lock (which already existed, it just + wasn't used) on the updaters list to protect the contents instead + of the overall module list lock. (closes issue #12080) Reported + by: ChaseVenters + +2008-02-27 16:53 +0000 [r104593] Kevin P. Fleming <kpfleming@digium.com> + + * main/file.c: fallback to standard English prompts properly when + using new prompt directory layout (closes issue #11831) Reported + by: IgorG Patches: fallbacken.v1.diff uploaded by IgorG (license + 20) (modified by me to improve code and conform rest of function + to coding guidelines) + +2008-02-27 16:45 +0000 [r104591] Russell Bryant <russell@digium.com> + + * channels/chan_zap.c: When we receive a known alarm, make sure + that the unknown alarm flag is not still set to make sure that + when we come back out of alarm, it gets reported in the log and + manager interface (after discussion with tzafrir on the -dev + list) + +2008-02-27 15:52 +0000 [r104536] Joshua Colp <jcolp@digium.com> + + * res/res_smdi.c: Only stop the MWI monitor thread if it was + actually started. (closes issue #12086) Reported by: francesco_r + +2008-02-27 01:15 +0000 [r104332-104334] Russell Bryant <russell@digium.com> + + * apps/app_chanspy.c: Avoid some recursion in the cleanup code for + the chanspy datastore (closes issue #12076, reported by junky, + patched by me) + + * channels/chan_zap.c: Zaptel 1.4 now exposes FXO battery state as + an alarm. However, Asterisk 1.4 does not know what to do with + these alarms. Only Asterisk 1.6 cares about it. So, if we get an + unknown alarm in chan_zap, don't generate confusing log messages + about it. + +2008-02-26 18:26 +0000 [r104132-104141] Jason Parker <jparker@digium.com> + + * Makefile: Add badshell to .PHONY target (thanks Kevin) + + * Makefile: Since all shells aren't as awesome as bash, we have to + fail if somebody tries to use a literal "~" in DESTDIR. + + * sounds/Makefile: Revert previous abspath change. ...abspath is + new in GNU make 3.81. I feel so...defeated. Must find new fix! + + * sounds/Makefile: Fix a very bizarre issue we were seeing with our + buildbot when using a DESTDIR that wasn't an absolute path (such + as DESTDIR=~/asterisk-1.4). Apparently what was happening, was + that some of the targets were being expanded to the full path, so + $@ ended up being /root/asterisk-1.4/[...]/ rather than + ~/asterisk-1.4/[...]/ It appears that this may be a new "feature" + in GNU make. (*cough* + http://en.wikipedia.org/wiki/Principle_of_least_surprise *cough*) + +2008-02-26 00:25 +0000 [r104119] Russell Bryant <russell@digium.com> + + * include/asterisk/smdi.h, apps/app_voicemail.c, + channels/chan_zap.c, res/res_smdi.c, configs/smdi.conf.sample: + Merge changes from team/russell/smdi-1.4 This commit brings in a + significant set of changes to the SMDI support in Asterisk. There + were a number of bugs in the current implementation, most notably + being that it was very likely on busy systems to pop off the + wrong message from the SMDI message queue. So, this set of + changes fixes the issues discovered as well as introducing some + new ways to use the SMDI support which are required to avoid the + bugs with grabbing the wrong message off of the queue. This code + introduces a new interface to SMDI, with two dialplan functions. + First, you get an SMDI message in the dialplan using + SMDI_MSG_RETRIEVE() and then you access details in the message + using the SMDI_MSG() function. A side benefit of this is that it + now supports more than just chan_zap. For example, with this + implementation, you can have some FXO lines being terminated on a + SIP gateway, but the SMDI link in Asterisk. Another issue with + the current implementation is that it is quite common that the + station ID that comes in on the SMDI link is not necessarily the + same as the Asterisk voicemail box. There are now additional + directives in the smdi.conf configuration file which let you map + SMDI station IDs to Asterisk voicemail boxes. Yet another issue + with the current SMDI support was related to MWI reporting over + the SMDI link. The current code could only report a MWI change + when the change was made by someone calling into voicemail. If + the change was made by some other entity (such as with IMAP + storage, or with a web interface of some kind), then the MWI + change would never be sent. The SMDI module can now poll for MWI + changes if configured to do so. This work was inspired by and + primarily done for the University of Pennsylvania. (also related + to issue #9260) + +2008-02-26 00:03 +0000 [r104111] Jason Parker <jparker@digium.com> + + * channels/chan_h323.c: IPTOS_MINCOST is not defined on Solaris. + (closes issue #12050) Reported by: asgaroth Patches: 12050.patch + uploaded by putnopvut (license 60) + +2008-02-25 23:42 +0000 [r104102-104106] Russell Bryant <russell@digium.com> + + * apps/app_chanspy.c: This patch fixes some pretty significant + problems with how app_chanspy handles pointers to channels that + are being spied upon. It was very likely that a crash would occur + if the channel being spied upon hung up. This was because the + current ast_channel handling _requires_ that the object is locked + or else it could disappear at any time (except in the owning + channel thread). So, this patch uses some channel datastore magic + on the spied upon channel to be able to detect if and when the + channel goes away. (closes issue #11877) (patch written by me, + but thanks to kpfleming for the idea, and to file for review) + + * main/utils.c: Improve the lock tracking code a bit so that a + bunch of old locks that threads failed to lock don't sit around + in the history. When a lock is first locked, this checks to see + if the last lock in the list was one that was failed to be + locked. If it is, then that was a lock that we're no longer + sitting in a trylock loop trying to lock, so just remove it. + (inspired by issue #11712) + +2008-02-25 21:37 +0000 [r104095] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: Make it so a users.conf user creates both a + SIP peer and a SIP user. The user will be used for inbound + authentication for the device, and peer will be used for placing + calls to the device. (closes issue #9044) Reported by: queuetue + Patches: sip-gui-friend.diff uploaded by qwell (license 4) + +2008-02-25 21:31 +0000 [r104094] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: If the destination folder is full, don't + delete a message when exiting. (closes issue #12065) Reported by: + selsky Patch by: (myself) + +2008-02-25 20:49 +0000 [r104092] Jason Parker <jparker@digium.com> + + * main/config.c: Allow the use of #include and #exec in situations + where the max include depth was only 1. Specifically, this fixes + using #include and #exec in extconfig.conf. This was basically + caused because the config file itself raises the include level to + 1. I opted not to raise the include limit, because recursion here + could cause very bizarre behavior. Pointed out, and tested by + jmls (closes issue #12064) + +2008-02-25 18:38 +0000 [r104086] Russell Bryant <russell@digium.com> + + * channels/chan_agent.c: Ensure that the channel doesn't disappear + in agent_logoff(). If it does, it could cause a crash. (fixes the + crash reported in BE-396) + +2008-02-25 16:16 +0000 [r104082-104084] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: If a resubscription comes in for a dialog we + no longer know about tell the remote side that the dialog does + not exist so they subscribe again using a new dialog. (closes + issue #10727) Reported by: s0l4rb03 Patches: 10727-2.diff + uploaded by file (license 11) + + * channels/chan_sip.c: Due to recent changes tag will no longer be + NULL if not present so we have to use ast_strlen_zero to see if + it's actually blank. (closes issue #12061) Reported by: flefoll + Patches: chan_sip.c.br14.patch_pedantic_no_totag uploaded by + flefoll (license 244) + +2008-02-22 22:45 +0000 [r104037] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_sip.c: Backwards debug message. (closes issue + #12052) Reported by: flefoll Patches: + chan_sip.c.br14.patch_found-notfound uploaded by flefoll (license + 244) + +2008-02-21 21:05 +0000 [r104026-104027] Mark Michelson <mmichelson@digium.com> + + * channels/chan_zap.c: And as a followup to revision 104026, + completely remove event-related calls from a section of code + where we know there was no event to handle or get. + + * channels/chan_zap.c: Remove an incorrect debug message. It + reported that it had received a specific event and tried to + report which event was received. What actually was happening was + that it was reporting the number of bytes returned from a call to + read(). Thanks to Jared Smith for bringing the issue up on IRC + +2008-02-21 14:33 +0000 [r104015] Kevin P. Fleming <kpfleming@digium.com> + + * main/manager.c: reduce the likelihood that HTTP Manager session + ids will consist of primarily '1' bits + +2008-02-20 22:32 +0000 [r103956] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: Clear up confusion when viewing the + QUEUE_WAITING_COUNT of a "dead" realtime queue. Since from the + user's perspective, the queue does exist, we shouldn't tell them + we couldn't find the queue. Instead since it is a dead queue, + report a 0 waiting count This issue was brought up on IRC by jmls + +2008-02-20 22:06 +0000 [r103953] Joshua Colp <jcolp@digium.com> + + * channels/chan_zap.c: Don't wait for additional digits when + overlap dialing is enabled if the setup message contains the + sending_complete information element. (closes issue #11785) + Reported by: klaus3000 Patches: + sending_complete_overlap_asterisk-1.4.17.patch.txt uploaded by + klaus3000 (license 65) + +2008-02-20 21:40 +0000 [r103904] Mark Michelson <mmichelson@digium.com> + + * channels/chan_local.c: Fix a crash if the channel becomes NULL + while attempting to lock it. (closes issue #12039) Reported by: + danpwi + +2008-02-20 17:53 +0000 [r103845] Tilghman Lesher <tlesher@digium.com> + + * main/stdtime/localtime.c: Compat fix for Solaris (closes issue + #12022) Reported by: asgaroth Patches: + 20080219__bug12022.diff.txt uploaded by Corydon76 (license 14) + Tested by: asgaroth + +2008-02-19 20:28 +0000 [r103823] Joshua Colp <jcolp@digium.com> + + * channels/h323/ast_h323.cxx: Send CallerID Name in setup message. + (closes issue #11241) Reported by: tusar Patches: + h323id_as_callerid_name.patch uploaded by tusar (license 344) + +2008-02-19 20:02 +0000 [r103821] Russell Bryant <russell@digium.com> + + * channels/chan_local.c: Account for the fact that the "other" + channel can disappear while the local pvt is not locked. (fixes a + problem introduced in rev 100581) (closes issue #12012) Reported + by: stevedavies Patch by me + +2008-02-19 17:31 +0000 [r103807-103812] Joshua Colp <jcolp@digium.com> + + * configure, configure.ac: Don't look for launchd when cross + compiling. (closes issue #12029) Reported by: ovi + + * channels/chan_sip.c: Fix building of chan_sip. + +2008-02-19 10:27 +0000 [r103806] Olle Johansson <oej@edvina.net> + + * channels/chan_sip.c: Make sure we send error replies correctly by + checking the via header. + +2008-02-18 23:56 +0000 [r103801] Joshua Colp <jcolp@digium.com> + + * main/channel.c: Ensure that emulated DTMFs do not get interrupted + by another begin frame. (closes issue #11740) Reported by: gserra + Patches: v1-11740.patch uploaded by dimas (license 88) (closes + issue #11955) Reported by: tsearle (closes issue #10530) Reported + by: xmarksthespot + +2008-02-18 22:28 +0000 [r103790-103795] Jason Parker <jparker@digium.com> + + * channels/chan_zap.c: Fix previous commit so that we actually + disable echocanbridged if echocancel is off. + + * channels/chan_zap.c: Correct a message when echocancelwhenbridged + is on, but echocancel is not. Issue #12019 + +2008-02-18 20:52 +0000 [r103786] Mark Michelson <mmichelson@digium.com> + + * main/app.c: There was an invalid assumption when calculating the + duration of a file that the filestream in question was created + properly. Unfortunately this led to a segfault in the situation + where an unknown format was specified in voicemail.conf and a + voicemail was recorded. Now, we first check to be sure that the + stream was written correctly or else assume a zero duration. + (closes issue #12021) Reported by: jakep Tested by: putnopvut + +2008-02-18 17:31 +0000 [r103780] Tilghman Lesher <tlesher@digium.com> + + * main/rtp.c, channels/chan_sip.c: When a SIP channel is being + auto-destroyed, it's possible for it to still be in bridge code. + When that happens, we crash. Delay the RTP destruction until the + bridge is ended. (closes issue #11960) Reported by: norman + Patches: 20080215__bug11960__2.diff.txt uploaded by Corydon76 + (license 14) Tested by: norman + +2008-02-18 16:37 +0000 [r103770] Mark Michelson <mmichelson@digium.com> + + * channels/chan_zap.c: Fix a linked list corruption that under the + right circumstances could lead to a looped list, meaning it will + traverse forever. (closes issue #11818) Reported by: michael-fig + Patches: 11818.patch uploaded by putnopvut (license 60) Tested + by: michael-fig + +2008-02-18 16:11 +0000 [r103763-103768] Joshua Colp <jcolp@digium.com> + + * main/asterisk.c: Backport fix from issue #9325. (closes issue + #11980) Reported by: rbrunka + + * channels/chan_sip.c: Don't care if the extension given doesn't + exist for subscription based MWI. + +2008-02-15 23:31 +0000 [r103726-103741] Russell Bryant <russell@digium.com> + + * channels/chan_iax2.c: Fix a crash in chan_iax2 due to a race + condition (closes issue #11780) Reported by: guillecabeza + Patches: bug_iax2_jb_1.4.patch uploaded by guillecabeza (license + 380) bug_iax2_jb_trunk.patch uploaded by guillecabeza (license + 380) + + * main/loader.c: In the case that you try to directly reload a + module has returned AST_MODULE_LOAD_DECLINE, log a message + indicating that the module is not fully initialized and must be + initialized using "module load". + + * main/loader.c: Don't attempt to execute the reload callback for a + module that returned AST_MODULE_LOAD_DECLINE. This fixes a crash + that was reported against chan_console in trunk. (closes issue + #11953, reported by junky, fixed by me) + +2008-02-15 17:26 +0000 [r103688-103722] Mark Michelson <mmichelson@digium.com> + + * doc/imapstorage.txt, configure, configure.ac: Final round of + changes for configure script logic for IMAP Now if a directory is + specified, then we will search that directory for a source + installation of the IMAP toolkit. If none is found, then we will + use that directory as the basis for detecting a package + installation of the IMAP c-client. If that check fails, then + configure will fail. + + * configure, configure.ac: Fix a bit of wrong logic in the + configure script that caused problems when trying to configure + without IMAP. Patch suggestion from phsultan, but I modified it + slightly. (closes issue #12003) Reported by: pj Tested by: + putnopvut + + * doc/imapstorage.txt, configure, configure.ac: I apparently + misunderstood one of the requirements of this configure change. + Now, if a source directory is specified with the --with-imap + option, and a valid source installation is not detected there, + then configure will fail and will not check for a package + installation. + + * doc/imapstorage.txt: Make a small clarification in the + documentation + + * doc/imapstorage.txt: Update documentation regarding configuration + of IMAP + + * apps/app_voicemail.c, configure, + include/asterisk/autoconfig.h.in, configure.ac: Change to the + configure logic regarding IMAP. Prior to this commit, if you + wished to configure Asterisk with IMAP support, you would use the + --with-imap configure switch in one of the following two ways: + --with-imap=/some/directory would look in the directory specified + for a UW IMAP source installation --with-imap would assume that + you had imap-2004g installed in .. relative to the Asterisk + source With this set of changes the two above options still work + the same, but there are two new behaviors, too. + --with-imap=system will assume that you have -libc-client.so + where you store your shared objects and will attempt to find + c-client headers in your include path either in the imap or + c-client directory. If either of the two original methods of + specifying the imap option should fail, then the check for + --with-imap =system will be performed in addition. It is only + after this "system" check that failure can happen. + + * apps/app_voicemail.c: Fix build for non-IMAP builds + + * apps/app_voicemail.c: Fix the new message count if delete=yes + when using IMAP storage. (closes issue #11406) Reported by: + jaroth Patches: deleteflag_v2.patch uploaded by jaroth (license + 50) Tested by: jaroth + +2008-02-14 19:51 +0000 [r103683-103684] Jason Parker <jparker@digium.com> + + * funcs/func_cdr.c: swap location for this.. + + * funcs/func_cdr.c: Document the 'l' option to the CDR() function. + (Thanks voipgate for pointing out the option, and Leif for + providing text for it.) Closes issue #11695. + +2008-02-13 06:25 +0000 [r103556-103607] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_agent.c: We aren't talking to ourselves; we're + talking to someone else. (closes issue #11771) Reported by: + msetim Patches: ami_agent_talkingto-1.4.diff uploaded by caio1982 + (license 22) Tested by: caio1982, msetim + + * apps/app_voicemail.c: Refuse to load app_voicemail if res_adsi is + not loaded (which is a symbol dependency) (closes issue #11760) + Reported by: non-poster Patches: 20080114__bug11760.diff.txt + uploaded by Corydon76 (license 14) Tested by: Corydon76, + non-poster, jamesgolovich + +2008-02-12 22:24 +0000 [r103503-103504] Jason Parker <jparker@digium.com> + + * main/asterisk.c: revert accidental change from last commit. oops + + * contrib/scripts/safe_asterisk, main/asterisk.c: Remove condition + that was impossible. + +2008-02-12 15:09 +0000 [r103324-103385] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: Even if no CallerID name or number has been + provided by the remote party still use the configured sip.conf + ones. (closes issue #11977) Reported by: pj + + * apps/app_meetme.c: If entering a conference with the 'w' option + ensure that we can't listen or speak until the marked user + appears. (closes issue #11835) Reported by: alanmcmillan + +2008-02-11 17:05 +0000 [r103315] Kevin P. Fleming <kpfleming@digium.com> + + * configs/zapata.conf.sample: improve 2BCT documentation a bit + (thanks Jared) + +2008-02-09 06:23 +0000 [r103197] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: Commit fix for being unable to send + voicemail from VoiceMailMain Reported by: William F Acker (via + the -users mailing list) Patch by: Corydon76 (license 14) + +2008-02-08 18:48 +0000 [r103070-103120] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: Prevent a potential three-thread deadlock. Also + added a comment block to explicitly state the locking order + necessary inside app_queue. (closes issue #11862) Reported by: + flujan Patches: 11862.patch uploaded by putnopvut (license 60) + Tested by: flujan + + * channels/chan_iax2.c: Yield the thread and return -1 if the ioctl + fails for Zaptel timing device. (closes issue #11891) Reported + by: tzafrir + +2008-02-08 15:08 +0000 [r102968] Joshua Colp <jcolp@digium.com> + + * channels/chan_iax2.c: Make sure the presence of dbsecret is + factored into user scoring. (closes issue #11952) Reported by: + bbhoss + +2008-02-07 19:53 +0000 [r102858] Jason Parker <jparker@digium.com> + + * res/res_features.c: Specify which digit string was matched in + debug message. (closes issue #11949) Reported by: dimas Patches: + v1-feature-debug.patch uploaded by dimas (license 88) + +2008-02-07 16:41 +0000 [r102807] Kevin P. Fleming <kpfleming@digium.com> + + * configs/zapata.conf.sample: document usage of 'transfer' + configuration option for ISDN PRI switch-side transfers + +2008-02-06 17:59 +0000 [r102653-102725] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: Only consider a T.38-only INVITE compatible + if we have both a joint capability between us and them and if + they provided T.38. + + * main/global_datastores.c: Add missing header file and + ASTERISK_FILE_VERSION usage. (closes issue #11936) Reported by: + snuffy + +2008-02-06 15:19 +0000 [r102651] Russell Bryant <russell@digium.com> + + * configs/features.conf.sample: Clarify setting DYNAMIC_FEATURES so + that it gets inherited by outbound channels. (due to a discussion + between me and a user via email) + +2008-02-06 11:48 +0000 [r102627] Kevin P. Fleming <kpfleming@digium.com> + + * pbx/Makefile, res/Makefile: ensure that all remaining + multi-object modules are built using their proper CFLAGS and + include directory paths + +2008-02-06 00:26 +0000 [r102576] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: Move around some defines to unbreak ODBC + storage. (closes issue #11932) Reported by: snuffy + +2008-02-05 20:02 +0000 [r102453] Mark Michelson <mmichelson@digium.com> + + * channels/chan_mgcp.c: Clear the DTMF buffer on hangup. (closes + issue #11919) Reported by: eferro Patches: + mgcp_dtmfclean_on_hangup.diff uploaded by eferro (license 337) + Tested by: eferro + +2008-02-05 19:52 +0000 [r102450] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: If a REGISTER attempt comes in that is a + retransmission of a previous REGISTER do not create a new nonce + value. (issue #BE-381) + +2008-02-05 17:15 +0000 [r102425] Kevin P. Fleming <kpfleming@digium.com> + + * channels/Makefile: ensure that components of chan_misdn.so are + built using any special build options that the configure script + generated (reported by Philipp Kempgen on asterisk-dev) + +2008-02-05 15:09 +0000 [r102378] Joshua Colp <jcolp@digium.com> + + * res/res_clioriginate.c: Perform dialing asynchronously when using + the originate CLI command so the CLI does not appear to block. + (closes issue #11927) Reported by: bbhoss + +2008-02-04 21:06 +0000 [r102214-102323] Tilghman Lesher <tlesher@digium.com> + + * main/asterisk.c, utils/muted.c, configure, + include/asterisk/autoconfig.h.in, configure.ac: Cross-platform + fix: OS X now deprecates the use of the daemon(3) API. (closes + issue #11908) Reported by: oej Patches: + 20080204__bug11908.diff.txt uploaded by Corydon76 (license 14) + Tested by: Corydon76 + + * funcs/func_strings.c: Missing braces. (closes issue #11912) + Reported by: dimas Patches: sprintf.patch uploaded by dimas + (license 88) + +2008-02-03 16:38 +0000 [r102090-102142] Olle Johansson <oej@edvina.net> + + * channels/chan_sip.c: Use the same CSEQ on CANCEL as on INVITE + (according to RFC 3261) (closes issue #9492) Reported by: + kryptolus Patches: bug9492.txt uploaded by oej (license 306) + Tested by: oej + + * channels/chan_sip.c: Handle ACK and CANCEL in an invite + transaction - even if we get INFO transactions during the actual + call setup. (closes issue #10567) Reported by: jacksch Tested by: + oej Patch by: oej inspired by suggestions from neutrino88 in the + bug tracker + +2008-02-01 23:06 +0000 [r101989] Russell Bryant <russell@digium.com> + + * channels/chan_sip.c: Change the SDP_SAMPLE_RATE macro. It turns + out that even though G.722 is 16 kHz, it is supposed to specified + as 8 kHz in the RTP, and RTP timestamps are supposed to be + calculated based on 8 kHz. (Apparently this is due to a bug in a + spec, but people follow it anyway, because it's the spec ...) + +2008-02-01 21:54 +0000 [r101894-101942] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: Fix the VM_DUR variable for forwarded + voicemail, and fixed several other bugs while I'm in the area. + (closes issue #11615) Reported by: jamessan Patches: + 20071226__bug11615__2.diff.txt uploaded by Corydon76 (license 14) + Tested by: Corydon76, jamessan + + * configure, include/asterisk/autoconfig.h.in, configure.ac, + acinclude.m4: Change detection of getifaddrs to use + AST_C_COMPILE_CHECK, backported from trunk (as suggested by + kpfleming) + +2008-02-01 17:41 +0000 [r101822] Jason Parker <jparker@digium.com> + + * apps/app_authenticate.c: Remove a needless (and incorrect) call + to feof() after fgets(). This would have exited the loop early if + you had an authentication file with no newline at the end. + +2008-02-01 17:27 +0000 [r101818-101820] Russell Bryant <russell@digium.com> + + * apps/app_authenticate.c: off by one error + + * apps/app_authenticate.c: Don't overwrite the last character of a + line if it's not a newline. This would happen if the last line in + the file doesn't have a newline. (pointed out by Qwell) + +2008-02-01 15:55 +0000 [r101772] Tilghman Lesher <tlesher@digium.com> + + * configure, include/asterisk/autoconfig.h.in, configure.ac, + main/acl.c: Compatibility fix for OpenWRT (reported by Brian + Capouch via the mailing list) + +2008-02-01 00:32 +0000 [r101693] Russell Bryant <russell@digium.com> + + * channels/chan_iax2.c: Add some more sanity checking on IAX2 dial + strings for the case that no peer or hostname was provided, which + is the one part of the dial string that is absolutely required. + If it's not there, bail out. (closes issue #11897) Reported by + sokhapkin Patch by me + +2008-02-01 00:06 +0000 [r101649] Mark Michelson <mmichelson@digium.com> + + * apps/app_amd.c: From bugtracker: "fix totalAnalysisTime to handle + periods of no channel activity" (closes issue #9256) Reported by: + cmaj Patches: amd-dont-wait-too-long-for-frames-take3.diff.txt + uploaded by cmaj (license 111) Tested by: cmaj, skygreg, ZX81, + rjain + +2008-01-31 Russell Bryant <russell@digium.com> + + * Asterisk 1.4.18 released. + +2008-01-31 23:10 +0000 [r101601] Russell Bryant <russell@digium.com> + + * main/translate.c, main/file.c: Fix a couple of places where + ast_frfree() was not called on a frame that came from a + translator. This showed itself by g729 decoders not getting + released. Since the flag inside the translator frame never got + unset by freeing the frame to indicate it was no longer in use, + the translators never got destroyed, and thus the g729 licenses + were not released. (closes issue #11892) Reported by: xrg + Patches: 11892.diff uploaded by russell (license 2) Tested by: + xrg, russell + +2008-01-31 21:00 +0000 [r101531] Mark Michelson <mmichelson@digium.com> + + * res/res_monitor.c: 1. Prevent the addition of an extra '/' to the + beginning of an absolute pathname. 2. If ast_monitor_change_fname + is called and the new filename is the same as the old, then exit + early and don't set the filename_changed field in the monitor + structure. Setting it in this case was causing ast_monitor_stop + to erroneously delete them. (closes issue #11741) Reported by: + garlew Tested by: putnopvut + +2008-01-31 19:52 +0000 [r101482] Jason Parker <jparker@digium.com> + + * channels/chan_sip.c, channels/chan_iax2.c: Solaris compat fixes + for struct in_addr funkiness. Issue #11885, patch by snuffy. + +2008-01-31 19:30 +0000 [r101480] Steve Murphy <murf@digium.com> + + * main/pbx.c: closes issue #11845; that's the one where there's a + 1004 byte cdr leak with every AMI Redirect to a zap channel + +2008-01-31 19:17 +0000 [r101413-101433] Russell Bryant <russell@digium.com> + + * channels/chan_agent.c: Add more missing locking of the agents + list ... + + * channels/chan_agent.c: Move the locking from find_agent() into + the agent dialplan function handler to ensure that the agent + doesn't disappear while we're looking at it. + + * channels/chan_agent.c: Add missing locking to the find_agent() + function. + +2008-01-30 15:41 +0000 [r101222] Joshua Colp <jcolp@digium.com> + + * main/slinfactory.c: Fix an issue where if a frame of higher + sample size preceeded a frame of lower sample size and + ast_slinfactory_read was called with a sample size of the + combined values or higher a crash would happen. (closes issue + #11878) Reported by: stuarth + +2008-01-30 15:34 +0000 [r101219] Jason Parker <jparker@digium.com> + + * configs/extensions.conf.sample: Change default config to use + descending channel order of groups, rather than ascending. Fixes + a potential source of confusion in glare-type situations. Issue + 11875, reported by JimVanM. + +2008-01-30 15:23 +0000 [r101216] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: Fix a logic error with regards to autofill. + Prior to this change, it was possible for a caller to go out of + turn if autofill were enabled and callers ahead in the queue were + attempting to call a member. This change fixes this. + +2008-01-30 11:20 +0000 [r101152] Olle Johansson <oej@edvina.net> + + * channels/chan_sip.c: Stop musiconhold on attended transfer. + (closes issue #11872) Reported by: gareth Patches: + svn-101018.patch uploaded by gareth (license 208) + +2008-01-29 23:50 +0000 [r101080] Dwayne M. Hubbard <dhubbard@digium.com> + + * build_tools/make_version: updated build_tools to handle the + autotag directory structure changes; changes related to BE-353. + Patch by The Russell and reviewed by The Me. + +2008-01-29 23:02 +0000 [r100973-101035] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: Remove a memory leak from updating realtime + queues + + * apps/app_queue.c: Fixing an erroneous return value returned when + attempting to pause or unpause a queue member fails. Fixes + BE-366, thanks to John Bigelow for writing the patch. + +2008-01-29 17:57 +0000 [r100934] Joshua Colp <jcolp@digium.com> + + * apps/app_mixmonitor.c: Don't forget to record the channel so we + know whether it is bridged or not later. (closes issue #11811) + Reported by: slavon + +2008-01-29 17:43 +0000 [r100932] Russell Bryant <russell@digium.com> + + * main/Makefile: Fix the last couple of issues related to building + from a path that contains spaces. (closes issue #11834) + +2008-01-29 17:41 +0000 [r100930] Jason Parker <jparker@digium.com> + + * channels/misdn_config.c: Initialize an array to 0s if config + option not specified. (closes issue #11860) Patches: + misdn_get_config.v1.diff uploaded by IgorG (license 20) + +2008-01-29 17:21 +0000 [r100882-100922] Russell Bryant <russell@digium.com> + + * Makefile: Use GNU make magic instead of shell magic to escape + spaces in the working directory. (related to issue #11834) + + * Makefile: Fix building Asterisk when the working path has spaces + in it. (closes issue #11834) Reported by: spendergrass Patched + by: me + +2008-01-29 16:10 +0000 [r100835] Jason Parker <jparker@digium.com> + + * channels/chan_zap.c: Allow zap groups above 30 to work properly. + (closes issue #11590) Reported by: tbsky + +2008-01-29 10:36 +0000 [r100793] Christian Richter <christian.richter@beronet.com> + + * channels/chan_misdn.c: fixed potential segfault in misdn show + channels CLI command + +2008-01-29 08:26 +0000 [r100740] Olle Johansson <oej@edvina.net> + + * channels/chan_sip.c: (closes issue #11736) Reported by: MVF + Patches: bug11736-2.diff uploaded by oej (license 306) Tested by: + oej, MVF, revolution (russellb: This was the showstopper for the + release.) + +2008-01-28 21:02 +0000 [r100675] Tilghman Lesher <tlesher@digium.com> + + * main/pbx.c: WaitExten didn't handle AbsoluteTimeout properly + (went to 't' instead of 'T') + +2008-01-28 20:55 +0000 [r100673] Mark Michelson <mmichelson@digium.com> + + * channels/chan_vpb.cc, UPGRADE.txt: Undoing the deprecation of + chan_vpb. It is alive and well. + +2008-01-28 20:42 +0000 [r100672] Jason Parker <jparker@digium.com> + + * apps/app_voicemail.c: When using ODBC_STORAGE, make sure we put + greeting files into the database like we do with the others. + Issue #11795 Reported by: dimas Patches: vmgreet.patch uploaded + by dimas (license 88) + +2008-01-28 18:34 +0000 [r100626-100629] Russell Bryant <russell@digium.com> + + * channels/chan_sip.c: For some reason, the use of this strdupa() + is leading to memory corruption on freebsd sparc64. This trivial + workaround fixes it. (closes issue #10300, closes issue #11857, + reported by mattias04 and Home-of-the-Brave) + + * res/res_features.c: Fix a crash in ast_masq_park_call() (issue + #11342) Reported by: DEA Patches: res_features-park.txt uploaded + by DEA (license 3) + +2008-01-28 18:23 +0000 [r100624] Jason Parker <jparker@digium.com> + + * channels/chan_zap.c: Correct a comment which made little/no + sense. + +2008-01-28 17:15 +0000 [r100581] Russell Bryant <russell@digium.com> + + * main/channel.c, channels/chan_local.c, + include/asterisk/channel.h: Make some deadlock related fixes. + These bugs were discovered and reported internally at Digium by + Steve Pitts. - Fix up chan_local to ensure that the channel lock + is held before the local pvt lock. - Don't hold the channel lock + when executing the timing function, as it can cause a deadlock + when using chan_local. This actually changes the code back to be + how it was before the change for issue #10765. But, I added some + other locking that I think will prevent the problem reported + there, as well. + +2008-01-27 21:59 +0000 [r100465] Tilghman Lesher <tlesher@digium.com> + + * main/rtp.c, channels/chan_mgcp.c, main/cdr.c, + channels/chan_misdn.c, main/dnsmgr.c, channels/chan_sip.c, + channels/chan_h323.c, include/asterisk/sched.h, main/file.c, + pbx/pbx_dundi.c, channels/chan_iax2.c: When deleting a task from + the scheduler, ignoring the return value could possibly cause + memory to be accessed after it is freed, which causes all sorts + of random memory corruption. Instead, if a deletion fails, wait a + bit and try again (noting that another thread could change our + taskid value). (closes issue #11386) Reported by: flujan Patches: + 20080124__bug11386.diff.txt uploaded by Corydon76 (license 14) + Tested by: Corydon76, flujan, stuarth` + +2008-01-25 22:32 +0000 [r100418] Mark Michelson <mmichelson@digium.com> + + * channels/chan_vpb.cc, UPGRADE.txt: Deprecating chan_vpb. It is + now preferred that users of Voicetronix products use chan_zap in + combination with their zaptel drivers. + +2008-01-25 21:24 +0000 [r100378] Jason Parker <jparker@digium.com> + + * channels/chan_sip.c: This would have never been true, since we're + passing (sizeof(req.data) - 1) as the len to recvfrom(). + +2008-01-24 21:57 +0000 [r100264] Kevin P. Fleming <kpfleming@digium.com> + + * include/asterisk/app.h: make these macros not assume that the + only other field in the structure is 'argc'... this is true when + someone uses AST_DECLARE_APP_ARGS, but it's perfectly reasonable + to define your own structure as long as it has the right fields + +2008-01-24 17:22 +0000 [r100164] Russell Bryant <russell@digium.com> + + * main/asterisk.c: Update main Asterisk copyright info to 2008 + +2008-01-24 16:41 +0000 [r100138] Jason Parker <jparker@digium.com> + + * main/acl.c: Fix compilation on Solaris. (closes issue #11832) + Patches: bug-11832.diff uploaded by snuffy (license 35) + +2008-01-23 21:07 +0000 [r99977-99978] Olle Johansson <oej@edvina.net> + + * channels/chan_sip.c: Second attempt. Don't change invitestate + when receiving 18x messages in CANCEL state. (issue #11736) + Reported by: MVF Patch by oej. + + * channels/chan_sip.c: Make sure we don't cancel destruction on + calls in CANCEL state, even if we get 183 while waiting for + answer on our CANCEL. (issue #11736) Reported by: MVF Patches: + bug11736.txt uploaded by oej (license 306) Tested by: MVF + +2008-01-23 20:25 +0000 [r99975] Mark Michelson <mmichelson@digium.com> + + * apps/app_externalivr.c: Fixing a typo. + +2008-01-23 17:46 +0000 [r99923] Russell Bryant <russell@digium.com> + + * apps/app_chanspy.c: ChanSpy issues a beep when it starts at the + beginning of a list of channels to potentially spy on. However, + if there were no matching channels, it would beep at you over and + over, which is pretty annoying. Now, it will only beep once in + the case that there are no channels to spy on, but it will still + beep again once it reaches the beginning of the channel list + again. (closes issue #11738, patched by me) + +2008-01-23 16:18 +0000 [r99878] Mark Michelson <mmichelson@digium.com> + + * channels/chan_sip.c: These flag tests were illogical. They were + testing sip_peer flags on a sip_pvt. Thanks to Russell for + helping to get this odd problem figured out. + +2008-01-23 04:31 +0000 [r99718-99777] Tilghman Lesher <tlesher@digium.com> + + * apps/app_voicemail.c: When we reset the password via an external + command, we should also reset the password stored in the + in-memory list, too (otherwise it doesn't really take effect). + (closes issue #11809) Reported by: davetroy Patches: + fix_externpass.diff uploaded by davetroy (license 384) + + * res/res_odbc.c: Oops, should have checked for a NULL obj, here, + too + + * main/acl.c: Just confirmed that all current platforms need this + header file + +2008-01-22 20:56 +0000 [r99652] Olle Johansson <oej@edvina.net> + + * channels/chan_sip.c: Thanks to Russell's education I realize that + BUFSIZ has changed since I learned the C language over 20 years + ago... Resetting chan_sip to the size of BUFSIZ that I expected + in my old head to avoid to heavy memory allocations on some + systems. + +2008-01-22 20:34 +0000 [r99643] Tilghman Lesher <tlesher@digium.com> + + * main/acl.c: Fix the defines for OS X (and Solaris, too) + +2008-01-22 17:41 +0000 [r99592-99594] Olle Johansson <oej@edvina.net> + + * channels/chan_local.c, res/res_features.c, channels/chan_agent.c, + apps/app_followme.c: Add more dependencies on chan_local and add + a note to the description of chan_local so that people don't + disable it in menuselect just to clean up. + + * apps/app_dial.c: Add dependency on chan_local to app_dial. Dial + still runs without chan_local, but will be missing forwarding + functionality. + +2008-01-22 16:54 +0000 [r99540] Tilghman Lesher <tlesher@digium.com> + + * main/acl.c: Ensure that we can get an address even when we don't + have a default route. (closes issue #9225) Reported by: junky + Patches: 20080122__bug9225.diff.txt uploaded by Corydon76 + (license 14) Tested by: oej, loloski, sergee + +2008-01-22 15:08 +0000 [r99501] Olle Johansson <oej@edvina.net> + + * channels/chan_sip.c: Cleaning up some documentation that led to + confusion in a bug report + +2008-01-21 23:55 +0000 [r99426] Mark Michelson <mmichelson@digium.com> + + * channels/chan_local.c: Fixing an issue wherein monitoring local + channels was not possible. During a channel masquerade, the + monitors on the two channels involved are swapped. In 99% of the + cases this results in the desired effect. However, if monitoring + a local channel, this caused the monitor which was on the local + channel to get moved onto a channel which is immediately hung up + after the masquerade has completed. By swapping the monitors + prior to the masquerade, we avoid the problem by tricking the + masquerade into placing the monitor back onto the channel where + we want it. During the investigation of the issue, the channel's + monitor was the only thing that was swapped in such a manner + which did not make sense to have done. All other variable + swapping made sense. + +2008-01-21 18:11 +0000 [r99341] Tilghman Lesher <tlesher@digium.com> + + * res/res_odbc.c, configs/res_odbc.conf.sample, + include/asterisk/res_odbc.h: Permit the user to specify number of + seconds that a connection may remain idle, which fixes a crash on + reconnect with the MyODBC driver. (closes issue #11798) Reported + by: Corydon76 Patches: 20080119__res_odbc__idlecheck.diff.txt + uploaded by Corydon76 (license 14) Tested by: mvanbaak + +2008-01-21 16:01 +0000 [r99301] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: Bump the buffer size for Via headers up to + 512. There are some exceptionally large Via headers out there. + (closes issue #11783) Reported by: ofirroval + +2008-01-19 10:05 +0000 [r99187] Russell Bryant <russell@digium.com> + + * main/slinfactory.c: Fix a couple of memory leaks with frame + handling. Specifically, ast_frame_free() needed to be called on + the frame that came from the translator to signed linear. + +2008-01-18 22:57 +0000 [r99127] Joshua Colp <jcolp@digium.com> + + * include/asterisk/channel.h: Remove the __ in front of the unused + variable. This causes some compilers to freak out. + +2008-01-18 21:37 +0000 [r99079-99081] Russell Bryant <russell@digium.com> + + * include/asterisk/translate.h, main/frame.c: Revert adding the + packed attribute, as it really doesn't make sense why that would + do any good. Fix the real bug, which is to do the check to see if + the frame came from a translator at the beginning of + ast_frame_free(), instead of at the end. This ensures that it + always gets checked, even if none of the parts of the frame are + malloc'd, and also ensures that we aren't looking at free'd + memory in the case that it is a malloc'd frame. (closes issue + #11792, reported by explidous, patched by me) + + * include/asterisk/translate.h: Since we're relying on the offset + between the frame and the beginning of the translator pvt struct, + set the packed attribute to make sure we get to the right place. + (potential fix for issue #11792) + +2008-01-18 17:13 +0000 [r99032] Terry Wilson <twilson@digium.com> + + * res/res_features.c: This should at least temporarily fix a + problem where the 't' Dial option is incorrectly passed to the + transferee when built-in attended transfers are used. There is + still a problem with 'T', but better to fix some problems than no + problems while we work on it. (closes issue #7904) Reported by: + k-egg Patches: transfer-fix-b14-r97657.diff uploaded by sergee + (license 138) Tested by: sergee, otherwiseguy + +2008-01-17 23:42 +0000 [r99007-99014] Pari Nannapaneni <paripurnachand@digium.com> + + * configs/cdr.conf.sample: doh! revert a revert of a revert + (changed by mistake in 99010) + + * main/manager.c, configs/cdr.conf.sample: missed that one while + reverting + + * main/manager.c: reverting 99001 - We need the Max-Age for + extending the life of cookie mansession_id + +2008-01-17 22:37 +0000 [r99004] Russell Bryant <russell@digium.com> + + * main/frame.c, channels/chan_iax2.c, include/asterisk/frame.h: + Have IAX2 optimize the codec translation path just like chan_sip + does it. If the caller's codec is in our codec list, move it to + the top to avoid transcoding. (closes issue #10500) Reported by: + stevedavies Patches: iax-prefer-current-codec.patch uploaded by + stevedavies (license 184) iax-prefer-current-codec.1.4.patch + uploaded by stevedavies (license 184) Tested by: stevedavies, pj, + sheldonh + +2008-01-17 21:31 +0000 [r99001] Kevin P. Fleming <kpfleming@digium.com> + + * main/manager.c: we should only send the Set-Cookie header to the + browser on the first response after creating a manager session, + not on every response (doing so causes the browser to clear any + local cookies it may have associated with the session) + +2008-01-17 16:19 +0000 [r98991] Jason Parker <jparker@digium.com> + + * configs/zapata.conf.sample: Add a clarification about the + immediate= option of zapata.conf Issue 11784, patch by klaus3000. + +2008-01-16 22:36 +0000 [r98982] Russell Bryant <russell@digium.com> + + * .cleancount, include/asterisk/channel.h: Add an unused pointer to + the ast_channel struct. This makes the ast_channel structure + retain the same size as it had in previous 1.4 releases. Also, + all of the offsets for members in the structure are still the + same (except for the two pointers that got replaced for the new + spy/whisper architecture.) + +2008-01-16 20:34 +0000 [r98966-98973] Joshua Colp <jcolp@digium.com> + + * .cleancount: Bump up cleancount due to previous commit that + changed the channel structure. + + * apps/app_chanspy.c, apps/app_mixmonitor.c, main/rtp.c, + main/channel.c, apps/app_meetme.c, include/asterisk/audiohook.h + (added), main/Makefile, include/asterisk/chanspy.h (removed), + include/asterisk/channel.h, main/audiohook.c (added): Replace + current spy architecture with backport of audiohooks. This should + take care of current known spy issues. + + * channels/chan_iax2.c: Add missing NULLs at end of two + ast_load_realtimes. (closes issue #11769) Reported by: tequ + Patches: chaniax.patch uploaded by dimas (license 88) + +2008-01-16 17:20 +0000 [r98964] Mark Michelson <mmichelson@digium.com> + + * channels/chan_local.c: Fix a deadlock in chan_local in + local_hangup. There was contention because the local_pvt was held + and it was attempting to lock a channel, which is the incorrect + locking order. (closes issue #11730) Reported by: UDI-Doug + Patches: 11730.patch uploaded by putnopvut (license 60) Tested + by: UDI-Doug + +2008-01-16 15:08 +0000 [r98951-98960] Joshua Colp <jcolp@digium.com> + + * main/dial.c: Introduce a lock into the dialing API that protects + it when destroying the structure. (closes issue #11687) Reported + by: callguy Patches: 11687.diff uploaded by file (license 11) + + * main/rtp.c: Add two more SDP names for ulaw and alaw. (closes + issue #11777) Reported by: tootai + + * channels/chan_sip.c: Don't drop the old record route information + when dealing with packets related to a reinvite. (closes issue + #11545) Reported by: kebl0155 Patches: reinvite-patch.txt + uploaded by kebl0155 (license 356) + + * build_tools/menuselect-deps.in, configure, + include/asterisk/autoconfig.h.in, codecs/codec_speex.c, + configure.ac, makeopts.in: Add autoconf logic for speexdsp. Later + versions use a separate library for some things so we need to use + it if present in codec_speex. (closes issue #11693) Reported by: + yzg + +2008-01-15 23:50 +0000 [r98943-98946] Russell Bryant <russell@digium.com> + + * channels/chan_sip.c: Change a buffer in check_auth() to be a + thread local dynamically allocated buffer, instead of a massive + buffer on the stack. This fixes a crash reported by Qwell due to + running out of stack space when building with LOW_MEMORY defined. + On a very related note, the usage of BUFSIZ in various places in + chan_sip is arbitrary and careless. BUFSIZ is a system specific + define. On my machine, it is 8192, but by definition (according + to google) could be as small as 256. So, this buffer in + check_auth was 16 kB. We don't even support SIP messages larger + than 4 kB! Further usage of this define should be avoided, unless + it is used in the proper context. + + * main/rtp.c, include/asterisk/translate.h, main/frame.c, + main/translate.c, main/abstract_jb.c, channels/chan_iax2.c, + codecs/codec_zap.c, include/asterisk/frame.h: Commit a fix for + some memory access errors pointed out by the valgrind2.txt output + on issue #11698. The issue here is that it is possible for an + instance of a translator to get destroyed while the frame + allocated as a part of the translator is still being processed. + Specifically, this is possible anywhere between a call to + ast_read() and ast_frame_free(), which is _a lot_ of places in + the code. The reason this happens is that the channel might get + masqueraded during this time. During a masquerade, existing + translation paths get destroyed. So, this patch fixes the issue + in an API and ABI compatible way. (This one is for you, + paravoid!) It changes an int in ast_frame to be used as flag + bits. The 1 bit is still used to indicate that the frame contains + timing information. Also, a second flag has been added to + indicate that the frame came from a translator. When a frame with + this flag gets released and has this flag, a function is called + in translate.c to let it know that this frame is doing being + processed. At this point, the flag gets cleared. Also, if the + translator was requested to be destroyed while its internal frame + still had this flag set, its destruction has been deffered until + it finds out that the frame is no longer being processed. + Admittedly, this feels like a hack. But, it does fix the issue, + and I was not able to think of a better solution ... + +2008-01-15 20:08 +0000 [r98894-98934] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: Based on the boundary found move over the + correct amount. (closes issue #11750) Reported by: tasker + + * channels/chan_sip.c: Accept "; boundary=" not just ";boundary=" + in the multipart mixed content type. (closes issue #11750) + Reported by: tasker + +2008-01-14 20:59 +0000 [r98849] Mark Michelson <mmichelson@digium.com> + + * apps/app_voicemail.c: Adding in appropriate unlocks for the locks + I added. Thanks to joetester on IRC for pointing this out. + +2008-01-14 17:38 +0000 [r98774] Russell Bryant <russell@digium.com> + + * main/translate.c: Revert a change that introduces an unacceptable + performance hit and is causing memory leaks ... (from rev 97973) + +2008-01-14 16:35 +0000 [r98733-98737] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: Fixing another compilation error. I'm a bit off + today :( + + * apps/app_queue.c: Oops. Last commit had compilation error. + + * apps/app_queue.c: Adding explicit defaults for missing options to + init_queue. This is necessary because if a user either removes or + comments one of these options and reloads their queues, the + option will not reset to its default, instead maintaining the + value from prior to the reload. Thanks to John Bigelow for + pointing this error out to me. + +2008-01-12 00:05 +0000 [r98467] Tilghman Lesher <tlesher@digium.com> + + * res/res_odbc.c: Add a connection timeout attribute, as that was + what was intended with the login timeout, but ODBC divides it up + into 2 different timeouts. (Closes issue #11745) + +2008-01-11 22:46 +0000 [r98390] Russell Bryant <russell@digium.com> + + * pbx/pbx_dundi.c: Fix up setting the EID on BSD based systems. + (closes issue #11646) Reported by: caio1982 Patches: + dundi_osx_eid6.diff.txt uploaded by caio1982 (license 22) + dundi_osx_eid6-1.4.diff uploaded by caio1982 (license 22) Tested + by: caio1982, mvanbaak + +2008-01-11 21:28 +0000 [r98372] Pari Nannapaneni <paripurnachand@digium.com> + + * main/http.c: Comment explaining how to force browser to always + read some html files from server. + +2008-01-11 19:51 +0000 [r98317-98325] Joshua Colp <jcolp@digium.com> + + * main/rtp.c: If the incoming RTP stream changes codec force the + bridge to break if the other side does not support it. (closes + issue #11729) Reported by: tsearle Patches: + new_codec_patch_udiff.patch uploaded by tsearle (license 373) + + * res/res_agi.c: If the channel is hungup during RECORD FILE send a + result code of -1 to be uniform with everything else. (closes + issue #11743) Reported by: davevg Patches: res_agi.diff uploaded + by davevg (license 209) + +2008-01-11 19:10 +0000 [r98315] Mark Michelson <mmichelson@digium.com> + + * main/channel.c: Properly report the hangup cause as no answer + when someone does not answer (closes issue #10574, reported by + boch, patched by moy) + +2008-01-11 18:25 +0000 [r98266] Tilghman Lesher <tlesher@digium.com> + + * codecs/gsm/Makefile: Add another exception (which doesn't work) + for -march optimization flag. Reported by: thomasmebes Patch by: + tilghman (Closes issue #11563) + +2008-01-11 18:25 +0000 [r98265] Russell Bryant <russell@digium.com> + + * doc/security.txt, main/asterisk.c, configure, + include/asterisk/autoconfig.h.in, main/Makefile, configure.ac, + makeopts.in: Backport the ability to set the ToS bits on Linux + when not running as root. Normally, we would not backport + features into 1.4, but, I was convinced by the justification + supplied by the supplier of this patch. He pointed out that this + patch removes a requirement for running as root, thus reducing + the potential impacts of security issues. (closes issue #11742) + Reported by: paravoid Patches: libcap.diff uploaded by paravoid + (license 200) + +2008-01-11 17:22 +0000 [r98219] Joshua Colp <jcolp@digium.com> + + * apps/app_followme.c: Ensure the return value of ast_bridge_call + is passed back up as the application return value. This is needed + for transfers to function so the PBX core knows to continue + execution. (closes issue #10327) Reported by: kkiely + +2008-01-11 15:52 +0000 [r98164] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_sip.c: Back out changes from revision 97077, since + it wasn't perfect + +2008-01-11 03:39 +0000 [r97976-98082] Russell Bryant <russell@digium.com> + + * main/frame.c: Fix samples vs. length calculations for g722 + + * main/translate.c: Simplify this code with a suggestion from Luigi + on the asterisk-dev list. Instead of using is16kHz(), implement a + format_rate() function. + + * main/translate.c: Fix various timing calculations that made + assumptions that the audio being processed was at a sample rate + of 8 kHz. + +2008-01-10 23:08 +0000 [r97973] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_sip.c, main/translate.c: 1) When we get a + translated frame out, clone it, because if the translator pvt is + freed before we use the frame, bad things happen. 2) Getting a + failure from ast_sched_delete means that the schedule ID is + currently running. Don't just ignore it. (Closes issue #11698) + +2008-01-10 21:57 +0000 [r97925] Mark Michelson <mmichelson@digium.com> + + * apps/app_voicemail.c: Let us leave a voicemail for ourself if we + have logged into VoiceMailMain and chosen to leave a message. + (closes issue #11735, reported and patched by jamessan) + +2008-01-10 21:37 +0000 [r97849-97889] Steve Murphy <murf@digium.com> + + * pbx/ael/ael_lex.c, pbx/Makefile, pbx/ael/ael.flex: Applied the + same fixes for ael.flex as was done in 97849 for ast_expr2.fl; + overrode the normally generate yyfree func with our own version + that checks the pointer for non-null before passing to free(). + Also takes care of a little problem with 2.5.33 and the use of + the __STDC_VERSION__ macro. + + * main/ast_expr2.fl, main/Makefile, main/ast_expr2f.c: This is a + fix for 2 things: a problem Terry was having in OSX with null + pointers, which was my fault, as I probably forgot to run the sed + script last time I made mods. So, I moved the fix into the flex + input itself. Then, I found when I used flex 2.5.33, that it was + using __STDC_VERSION__, and that's not real good; so I added back + in a DIFFERENT sed script to fix that little mess. Tested + everything, a couple different ways. Hope I did no harm, at the + least. + +2008-01-10 20:12 +0000 [r97847] Jason Parker <jparker@digium.com> + + * include/asterisk/frame.h: Fix a comment that is no longer true. + +2008-01-10 16:19 +0000 [r97734-97753] Russell Bryant <russell@digium.com> + + * pbx/pbx_kdeconsole.h (removed), configs/modules.conf.sample, + pbx/kdeconsole_main.cc (removed): Remove other remnants of + pbx_kdeconsole + + * pbx/pbx_kdeconsole.cc (removed), build_tools/menuselect-deps.in, + configure, include/asterisk/autoconfig.h.in, configure.ac, + makeopts.in: Remove pbx_kdeconsole from the tree. It hasn't + worked in ages, and nobody has complained. (closes issue #11706, + reported by caio1982) + +2008-01-10 15:07 +0000 [r97697] Joshua Colp <jcolp@digium.com> + + * funcs/func_groupcount.c: Don't try to copy the category from the + group if no category exists. (closes issue #11724) Reported by: + IgorG Patches: group_count.v1.patch uploaded by IgorG (license + 20) + +2008-01-09 23:01 +0000 [r97640-97645] Russell Bryant <russell@digium.com> + + * pbx/pbx_gtkconsole.c: Strip terminal sequences from the verbose + messages + + * pbx/pbx_gtkconsole.c: Make pbx_gtkconsole build ... but doesn't + actually load on my system still (related to issue #11706) + +2008-01-09 20:28 +0000 [r97618-97622] Jason Parker <jparker@digium.com> + + * main/cli.c: Correctly display a message if a command could not be + found. Also fix a comment which may have led to this happening. + Issue 11718, reported by kshumard. + + * main/cli.c: Fix some locking and return value funkiness. We + really shouldn't be unlocking this lock inside of a function, + unless we locked it there too. + +2008-01-09 18:48 +0000 [r97575] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: Part 2 of app_queue doxygen improvements. Some + smaller functions this time + +2008-01-09 18:02 +0000 [r97529] Russell Bryant <russell@digium.com> + + * res/res_features.c: Fix saying the parking space number to the + caller doing the parking ... + +2008-01-09 17:21 +0000 [r97491] Kevin P. Fleming <kpfleming@digium.com> + + * codecs/codec_zap.c: report the same message whether Zaptel does + not have transcoder support loaded or no transcoders were found + +2008-01-09 16:44 +0000 [r97489] Philippe Sultan <philippe.sultan@gmail.com> + + * channels/chan_gtalk.c: Set the caller id within the gtalk_alloc + function. As underlined in issue #10437 by Josh, we need to + prevent a possible memory leak. We only set the name part of the + caller id, the number part is not relevant when dealing with + JIDs. Closes issue #11549. + +2008-01-09 16:11 +0000 [r97450] Joshua Colp <jcolp@digium.com> + + * apps/app_meetme.c: Don't do conferencing totally in Zaptel if + Monitor is running on the channel. (closes issue #11709) Reported + by: BigJimmy Patches: patch-meetmerec uploaded by BigJimmy + (license 371) + +2008-01-09 15:43 +0000 [r97410-97448] Kevin P. Fleming <kpfleming@digium.com> + + * channels/chan_zap.c: pass the right variable to get an error + string... oops + + * channels/chan_zap.c: add error number output to ioctl failure + messages to help with debugging + +2008-01-09 00:44 +0000 [r97350] Tilghman Lesher <tlesher@digium.com> + + * main/cli.c, main/editline/readline.c: Allow filename completion + on zero-length modules, remove a memory leak, remove a file + descriptor leak, and make filename completion thread-safe. + Patched and tested by tilghman. (Closes issue #11681) + +2008-01-09 00:17 +0000 [r97206-97308] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: use the \retval doxygen command properly + + * apps/app_queue.c: Part 1 of N of adding doxygen comments to + app_queue. I picked some of the most common functions used (which + also happen to be some the biggest/ugliest functions too) to + document first. I'm pretty new to doxygen so criticism is + welcome. + + * apps/app_queue.c: Some coding guidelines-related cleanup + +2008-01-08 20:48 +0000 [r97195] Joshua Colp <jcolp@digium.com> + + * channels/chan_mgcp.c: Fix various DTMF issues in chan_mgcp. + (closes issue #11443) Reported by: eferro Patches: + dtmf_control_hybrid-inband-mode.patch uploaded by eferro (license + 337) + +2008-01-08 20:47 +0000 [r97194] Tilghman Lesher <tlesher@digium.com> + + * main/autoservice.c, main/utils.c: Increase constants to where + we're less likely to hit them while debugging. (Closes issue + #11694) + +2008-01-08 20:42 +0000 [r97192] Mark Michelson <mmichelson@digium.com> + + * apps/app_voicemail.c: Making some changes designed to not allow + for a corrupted mailstream for a vm_state. 1. Add locking to the + vm_state retrieval functions so that no linked list corruption + occurs. 2. Make sure to always grab the persistent vm_state when + mailstream access is necessary. 3. Correct an incorrect return + value in the init_mailstream function. (closes issue #11304, + reported by dwhite) + +2008-01-08 19:53 +0000 [r97093-97152] Joshua Colp <jcolp@digium.com> + + * funcs/func_groupcount.c: If no group has been provided to the + GROUP_COUNT dialplan function then use the first one specific to + the channel. (closes issue #11077) Reported by: m4him + + * apps/app_queue.c: Make app_queue calls work with directed pickup. + (closes issue #11700) Reported by: jbauer + +2008-01-08 18:02 +0000 [r97077] Tilghman Lesher <tlesher@digium.com> + + * main/asterisk.c, channels/chan_sip.c: Apply multiple crash fixes, + found in issue #11386, but not completely closing that issue. + +2008-01-07 20:47 +0000 [r96884-96932] Russell Bryant <russell@digium.com> + + * configs/extensions.conf.sample, /: Merged revisions 96931 via + svnmerge from + https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ + r96931 | russell | 2008-01-07 14:46:22 -0600 (Mon, 07 Jan 2008) | + 2 lines Change misery.digium.com to pbx.digium.com ........ + + * res/res_smdi.c: Don't crash if something happens when setting up + an SMDI interface and it gets destroyed before the SMDI port + handling thread gets created. + +2008-01-07 14:34 +0000 [r96797-96815] Philippe Sultan <philippe.sultan@gmail.com> + + * res/res_jabber.c: Indentation fix, makes the code easier to read + + * res/res_jabber.c: Compute the base64 value over the + [authzid]\0authcid\0password string, thus excluding the trailing + NULL byte. This change has already been committed to trunk, see + #11644. + +2008-01-05 02:09 +0000 [r96644] Russell Bryant <russell@digium.com> + + * main/devicestate.c: Don't pass an empty string as the device + name. + +2008-01-04 23:03 +0000 [r96575] Tilghman Lesher <tlesher@digium.com> + + * main/devicestate.c: Fix the problem of notification of a device + state change to a device with a '-' in the name. Could probably + do with a better fix in trunk, but this bug has been open way too + long without a better solution. Reported by: stevedavies Patch + by: tilghman (Closes issue #9668) + +2008-01-04 22:55 +0000 [r96573] Jason Parker <jparker@digium.com> + + * res/res_features.c: Properly continue in the dialplan if using + PARKINGEXTEN and the slot is full. Issue 11237, patch by me. + +2008-01-04 19:27 +0000 [r96525] Tilghman Lesher <tlesher@digium.com> + + * channels/chan_sip.c: If you change the bindaddr in sip.conf to a + non-bound address and reload, sip goes kablooie. Reported and + patched by: one47 (Closes issue #11535) + +2008-01-04 16:19 +0000 [r96394-96449] Russell Bryant <russell@digium.com> + + * channels/chan_zap.c: Make use of the temporary channel pointer + while the pvt is unlocked. (closes issue #11675) Reported by: + flefoll Patches: chan_zap.c.patch-store-owner-before-unlock + uploaded by flefoll (license 244) + + * channels/chan_iax2.c: Don't crash if the iax2 pvt structure has + been destroyed before we get to this point (closes issue #11672, + reported by snuffy, patched by me) + +2008-01-03 21:37 +0000 [r96318] Tilghman Lesher <tlesher@digium.com> + + * res/res_config_pgsql.c: Missed initialization caused crash. + Reported and fixed by: tiziano (Closes issue #11671) + +2008-01-03 12:12 +0000 [r96198-96199] Christian Richter <christian.richter@beronet.com> + + * channels/chan_misdn.c: make sure frame is completely clean, + before we send it to asterisk as DTMF. If we don't make it clean, + it happens that one way audio occurs.. + + * channels/chan_misdn.c: when overlapdial was used and no number + was dialed, the call was dropped, now we just jump into the s + extension, which makes a lot more sense. + +2008-01-02 23:46 +0000 [r96102] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: We need to reset the membername to NULL on each + iteration of this loop, otherwise the result is that multiple + members can have the same name, since the variable was not reset + on each iteration of the loop. + +2008-01-02 22:14 +0000 [r96020-96024] Russell Bryant <russell@digium.com> + + * pbx/pbx_config.c: Convert locks of the contexts list in + pbx_config to the appropriate rdlock or wrlock + + * pbx/pbx_dundi.c: pbx_dundi only needs a rdlock on the contexts + list. + + * apps/app_macro.c: app_macro only needs a rdlock on the contexts + list. + +2008-01-02 Russell Bryant <russell@digium.com> + + * Asterisk 1.4.17 released. + +2008-01-02 20:24 +0000 [r95946] Joshua Colp <jcolp@digium.com> + + * channels/chan_sip.c: Allocate a SIP refer structure when + performing a transfer using BYE with Also so that the transfer + information is properly stored. (AST-2008-028) (closes issue + #11637) Reported by: greyvoip + +2008-01-02 17:51 +0000 [r95890] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: A change to improve the accuracy of queue + logging in the case where a member does not answer during the + specified timeout period. Prior to this change, there was a small + chance that the member name recorded in this case would be blank. + Also prior to this change, if using the ringall strategy, if no + one answered the call during the specified timeout, the member + name listed in the queue log would randomly be one of the members + that was rung. (closes issue #11498, reported and tested by + hloubser, patched by me) + +2007-12-31 23:43 +0000 [r95577] Mark Michelson <mmichelson@digium.com> + + * main/pbx.c: Avoiding a potentially bad locking situation. + ast_merge_contexts_and_delete writelocks the conlock, then calls + ast_hint_extension, which attempts to readlock the same lock. + Recursion with read-write locks is dangerous, so the inner lock + needs to be removed. I did this by copying the "guts" of + ast_hint_extension into ast_merge_contexts_and_delete (sans the + extra lock). (this change is inspired by the locking problems + seen in issue #11080, but I have no idea if this is the + problematic area experienced by the reporters of that issue) + +2007-12-31 20:27 +0000 [r95470] Tilghman Lesher <tlesher@digium.com> + + * funcs/func_env.c: Allow the default "0" to be returned if the + STAT fails (Closes issue #11659) + +2007-12-28 18:24 +0000 [r95191] Russell Bryant <russell@digium.com> + + * channels/chan_sip.c: Remove duplicate increment of the header + count in the add_header() function. (closes issue #11648) + Reported by: makoto Patch provided by sergee, committed patch by + me, inspired by comments from putnopvut + +2007-12-28 00:16 +0000 [r95095] Mark Michelson <mmichelson@digium.com> + + * apps/app_queue.c: I found a bug while browsing the queue code and + managed to reproduce it in a small setup. If a queue uses the + ringall strategy, it was possible through unfortunate coincidence + for a single member at a given penalty level to make app_queue + think that all members at that penalty level were unavailable and + cause the members at the next penalty level to be rung. With this + patch, we will only move to the next penalty level if ALL the + members at a given penalty level are unreachable. + +2007-12-27 21:40 +0000 [r95024] Russell Bryant <russell@digium.com> + + * main/channel.c: Don't report a syntax error when an empty string + is passed to ast_get_group. Just return 0. (closes issue #11540) + Reported by: tzafrir Patches: group_empty.diff uploaded by + tzafrir (license 46) -- slightly changed by me + +2007-12-27 20:09 +0000 [r94977] Mark Michelson <mmichelson@digium.com> + + * main/io.c: Fixing a typo in a comment. + +2007-12-27 17:32 +0000 [r94905-94924] Joshua Colp <jcolp@digium.com> + + * channels/chan_h323.c: Include types.h in chan_h323 as without it + it can not be compiled on some operating systems like FreeBSD to + name one. (closes issue #11585) Reported by: sobomax Patches: + chan_h323.c.diff uploaded by sobomax (license 359) + + * channels/chan_sip.c: Use ast_strlen_zero to see if our_contact is + set or not on the dialog. It is possible for it to be a pointer + to NULL. (closes issue #11557) Reported by: FuriousGeorge + +2007-12-27 15:16 +0000 [r94828-94831] Russell Bryant <russell@digium.com> + + * main/pbx.c: Now that the contexts lock is a read/write lock, it + should not be locked here in ast_hint_state_changed(). This makes + it get locked recursively which now causes a deadlock. (closes + issue #11080, thanks to callguy for the access to a deadlocked + machine) + + * include/asterisk/translate.h, main/translate.c: Use the constant + that I really meant to use here ... + + * main/translate.c: Change ast_translator_best_choice() to only pay + attention to audio formats. This fixes a problem where Asterisk + claims that a translation path can not be found for channels + involving video. (closes issue #11638) Reported by: cwhuang + Tested by: cwhuang Patch suggested by cwhuang, with some + additional changes by me. + +2007-12-27 01:01 +0000 [r94824] Kevin P. Fleming <kpfleming@digium.com> + + * main/manager.c: make this comment explain the situation in an + even more explicit fashion + +2007-12-26 20:43 +0000 [r94808] Tilghman Lesher <tlesher@digium.com> + + * main/manager.c: Workaround for what is probably a glibc bug (but + we'll see this crop up again and again, if we don't add the + workaround). Reported by: rolek Patch by: tilghman (Closes issue + #11601, closes iss |