2005-11-16  Kevin P. Fleming  <kpfleming@digium.com>

	* Asterisk 1.2.0 released.
	
2005-11-16  Jeremy McNamara <jj@nufone.net>

	* apps/app_voicemail.c (load_config): do not terminate asterisk if no voicemail config file
	* channels/chan_skinny:  Don't register channel type until ready, code formatting updates

2005-11-16  Josh Roberson <josh@asteriasgi.com>

	* Makefile:  Update to fix non-responsive remote console on Darwin (OSX)(issue #5757)

2005-11-16  Kevin P. Fleming  <kpfleming@digium.com>

	* channels/Makefile: don't build chan_modem and sub-modules by default
	* configs/modules.conf.sample: explicitly 'noload' chan_modem.so and submodules, in case old versions exist
	
	* res/Makefile: issue mpg123 not-installed warning at 'make install' time, not 'make'

	* apps/app_forkcdr.c (forkcdr_exec): issue warning (and don't segfault) if ForkCDR is called on a channel that doesn't have a CDR (issue #5763)

	* channel.c (ast_queue_hangup): ensure that the channel lock is held before changing its fields... (issue #5770)

	* res/res_musiconhold.c: don't spit out incorrect log messages (and leak memory) during reload (issue #5766)

	* channels/chan_sip.c (process_sdp): don't pass video codec number into ast_getformatname(), it is not valid input for that function (issue #5764)

	* pbx/pbx_ael.c (match_assignment): properly parse equal signs surrounded by whitespace (issue #5761)

	* doc/README.realtime: document the limitations of using FreeTDS with Realtime (issue #5767)

2005-11-15  Kevin P. Fleming  <kpfleming@digium.com>

	* Makefile: use -g3 for compiler to include macro information for debugger

	* astmm.c (__ast_vasprintf): don't re-use the ap list without copying it; that's not safe on some platforms (issue #5035)

	* doc/README.backtrace: add note about properly building Asterisk to be able to produce backtraces; wrap text and remove DOS line endings

	* channels/chan_sip.c (add_codec_to_sdp): add 'annexb=no' to G.729A SDP (issue #5539)

	* channels/chan_alsa.c (alsa_hangup): handle autohangup properly (issue #5672)

	* channels/chan_misdn.c (and other files): various fixes (issue #5739)

	* channels/chan_sip.c (handle_request_info): properly forward 'flash' events received via SIP INFO (issue #5751, different patch)

	* apps/app_disa.c (disa_exec): don't duplicate constant strings when not needed

	* apps/app_playback.c (playback_exec): use correct logic tests for options (issue #5752)

	* apps/app_disa.c (disa_exec): use standard arg parsing routines (issue #5736)

2005-11-15  Russell Bryant <russell@digium.com>

	* manager.c: Don't crash on a SetVar action if the channel name is not set, or variable's value is not set (issue #5760)

	* doc/README.variables: Add application exit status variables

2005-11-14  Josh Roberson <josh@asteriasgi.com>
	
	* manager.c: Fix crash on variable passing from AMI originate (issue #5737)

2005-11-14  Russell Bryant  <russell@digium.com>

	* many files: Merge doxygen documentation updates. (issue #5605)

	* apps/app_dial.c: Fix typo in RetryDial description.

2005-11-12  Russell Bryant  <russell@digium.com>

	* channels/chan_oss.c: Fix a typo in an error message.

2005-11-11  Kevin P. Fleming  <kpfleming@digium.com>

	* Asterisk 1.2.0-rc2 released.
	
2005-11-11  Kevin P. Fleming  <kpfleming@digium.com>

	* channels/chan_sip.c (thread_safe_rand): ensure that threads don't get the same random number (issue #5712)

	* apps/app_voicemail.c (forward_message): correct bugs in message forwarding (issue #5718)
	(copy_message): use correct path for locking (issue #5704)

	* apps/app_dial.c (wait_for_answer): correct flag copying for automon feature (issue #5720)

	* channels/chan_iax2.c: correct comment

	* apps/app_voicemail.c (close_mailbox): correct previous commit (issue #5663)
	(vm_change_password): fix password change writing (issue #5721)

	* channels/chan_sip.c (transmit_invite): remove useless debug message; don't try to add OSP tokens to OPTIONS pings

	* apps/app_voicemail.c (close_mailbox): properly remove deleted messages at mailbox close time (issue #5663)

2005-11-11  Mark Spencer <markster@digium.com>

	* channels/chan_zap.c (zt_bridge): only enable/disable DTMF detection on SUB_REAL channels

2005-11-10  Kevin P. Fleming  <kpfleming@digium.com>

	* channels/chan_iax2.c: ensure that system headers that provide basic types are included first (issue #5713)

2005-11-11  Russell Bryant  <russell@digium.com>

	* many files in apps/: Clean up application descriptions. Clarify some wording and make sure they wrap at 80 characters.

2005-11-10  Mark Spencer <markster@digium.com>

	* rtp.c (ast_rtp_raw_write): use unsigned int for return value from calc_txstamp() (issue #5595)
	(calc_txstamp): never return a value that was less than zero before being turned into 'unsigned int' (issue #5595)

2005-11-10  Kevin P. Fleming  <kpfleming@digium.com>

	* include/asterisk/chanspy.h: move spy-related stuff into separate header so chan_h323 can build (issue #5590)

	* include/asterisk/linkedlists.h (AST_LIST_HEAD_SET_NOLOCK): properly initialize tail pointer when list head is directly set (issue #5669)

	* app.c (ast_app_parse_options): ok, so we aren't all perfect... let's make the while loop actually work properly here (issue #5684)

	* apps/app_disa.c (disa_exec): correct password file parsing (issue #5676)

	* apps/app_meetme.c (conf_run): don't restrict admin users from joining a locked conference (issue #5680)

	* channels/chan_misdn.c: include stdio.h (issue #5671)
	* channels/chan_misdn_config.c: fix prototype warning (issue #5671)

	* pbx.c: remove apps that were deprecated before 1.0 was released (issue #5673)

	* apps/app_striplsd.c, apps/app_substring.c: remove apps that were deprecated before 1.0 was released (issue #5673)

	* include/asterisk/lock.h (PTHREAD_MUTEX_RECURSIVE_NP): work around header problems on Cygwin (issue #5668)

	* pbx/pbx_ael.c: handle switch default cases inside macros properly (issue #5354)

	* configs/voicemail.conf.sample (format): add strong warning about changing format list when mailboxes contain messages (issue #5689)

	* many files: ensure that system headers are included before Asterisk headers (issue #5693)

	* channels/chan_iax2.c (complete_iax2_show_peer): don't return from function without releasing lock (issue #5685)

	* channels/iax2-provision.c (iax_provision_reload): don't leak memory (issue #5700)

	* pbx/pbx_ael.c (handle_macro): don't leak memory (issue #5701)
	(handle_context): ditto

	* res/res_features.c (load_config): properly initialize referenced variable (issue #5703)

	* apps/app_queue.c (rqm_exec): correct segfault problem (issue #5705)
	(aqm_exec): ditto

	* app.c (ast_app_parse_options): don't increment 's' until after checking for NULL (related to issue #5630)

	* apps/app_rpt.c: solve a memory leak (config structure was not freed) (issue #5706)

2005-11-10  Russell Bryant <russell@digium.com>

	* app.c (ast_app_separate_args): Don't consider the open parenthesis as part of the arguments to an option. (issue #5630)

	* many files: Change all references to ast_separate_app_args to ast_app_separate_args

	* many files in apps/: Clean up some application descriptions. Make sure all descriptions in changed files are wrapped at 80 characters.

2005-11-09  Russell Bryant <russell@digium.com>

	* pbx.c: Clean up descriptions of built-in dialplan applications. Changes include clearer wording and not referring to return values.

2005-11-09  Kevin P. Fleming  <kpfleming@digium.com>

	* channels/chan_iax2.c (update_registry): don't complain about unspecifed registration expiration intervals, just use the minimum

2005-11-08  Kevin P. Fleming  <kpfleming@digium.com>

	* Asterisk 1.2.0-rc1 released.

	* include/asterisk/file.h: add test to ensure that stdio.h is included before this file (issue #5658)

	* res/res_odbc.c (odbc_prepare_and_execute): add new API call for use to properly handle prepared statements across server disconnects (issue #5563)

	* pbx.c (pbx_substitute_variables_helper_full): use already-substituted buffer for parsing variable name (issue #5664)

	* channels/chan_zap.c (zt_request): return AST_CAUSE_CONGESTION when a group-channel is requested and the group exists but all channels are busy (issue #3360, related fix)
	* channels/chan_iax2.c (create_addr): treat UNREACHABLE as AST_CAUSE_UNREGISTERED so that it will generate CHANUNAVAIL from app_dial (issue #3360)

	* res/res_features.c (ast_bridge_call_thread_launch): set SCHED_RR separately from thread creation, so it won't fail when running as non-root (issue #5601, different fix)

	* pbx.c (pbx_builtin_pushvar_helper): add new API function for setting variables that can exist multiple times (issue #2720)
	* apps/Makefile (APPS): add app_stack (issue #2720)
	* apps/app_stack.c: new applications (issue #2720)

	* apps/app_meetme.c: fix two audio delay problems related to using non-Zap channels in conferences (issues #3599 and #4252)
	* configs/meetme.conf.sample: add documentation of new 'audiobuffers' setting to control buffering on incoming audio from non-Zap channels

	* channels/chan_local.c (local_call): move channel variables from incoming to outgoing instead of inheriting them (issue #5604)

	* many files: add explicit include of stdio.h (issue #5650)

2005-11-07  Kevin P. Fleming  <kpfleming@digium.com>

	* UPGRADE.txt (Parking): add note about new parking behavior (issue #5532)

	* many files: more Cygwin compatibility, and proper getloadavg() prototype/macro (issue #5569)

	* include/asterisk/lock.h (__ast_pthread_mutex_lock): correct build with DETECT_DEADLOCKS defined (issue #5570)

2005-11-07  Russell Bryant  <russell@digium.com>

	* apps/app_queue.c: upgrade to new arg/option API and implement priority jumping control (issue #5580)
	* many files: Add missing include of stdio.h, and remove some duplicate and unused header includes

	* include/asterisk/app.h: Increment the arg_index in the options structure to fix applicaiton options that have arguments to them

2005-11-07  Kevin P. Fleming  <kpfleming@digium.com>

	* cryptostub.c: include necessary headers
	* include/asterisk/crypto.h: don't include unnecessary headers

	* manager.c (action_setvar): add support for setting global variables (issue #5571)

	* Makefile: correct cross-compilation issue introduced in Cygwin patches (issue #5572)

	* apps/app_voicemail.c: upgrade to new arg/option API and implement priority jumping control (issue #5649)

	* asterisk.c (main): setpriority() failure is not a reason to stop the process (issue #5581)

	* say.c (ast_say_date_with_format_da): say hours properly (issue #5576)

	* manager.c (astman_get_variables): restore old multiple-variable behavior for "Variable" header (issue #5585)

	* many files: don't check for NULL before calling ast_strlen_zero, it can do it itself (issue #5648)

	* pbx.c (handle_show_hints): use proper state-to-string function for hint state (issue #5583)

	* rtp.c: use unsigned format for debug packet output (issue #5595)

	* asterisk.c (main): force a dnsmgr background refresh after all other modules are initialized (issue #5599)
	* dnsmgr.c: add ability to start a background refresh on demand (issue #5599)

	* apps/app_dial.c (HANDLE_CAUSE): set CDR disposition to match cause code (issue #5602)

	* asterisk.c: support 'runuser' and 'rungroup' options in asterisk.conf (issue #5621)

	* res/Makefile, apps/Makefile, channels/Makefile, Makefile: support WITHOUT_ZAPTEL define to forcibly avoid building Zaptel support (issue #5634)

	* Makefile: various fixes (issue #5633)

	* apps/app_osplookup.c: upgrade to new arg/option API and implement priority jumping control

	* channels/chan_misdn.c: various fixes (issue #5639)
	* channels/misdn/isdn_lib.c: various fixes (issue #5639)

	* apps/app_playback.c: upgrade to new arg/option API and implement priority jumping control

	* apps/app_privacy.c: upgrade to new arg/option API and implement priority jumping control

	* apps/app_sendtext.c: upgrade to new arg/option API and implement priority jumping control

	* apps/app_transfer.c: upgrade to new arg/option API and implement priority jumping control

	* apps/app_txtcidname.c: upgrade to new arg/option API and implement priority jumping control

	* Makefile: restore function of 'dont-optimize'

	* config.c (config_text_file_load): don't generate log message when stat() fails

	* many files: clean up application documentation to not refer to return values, since they cannot be used in the dialplan (work done by Neil Lewis)

2005-11-06  Russell Bryant <russell@digium.com>

	* many files: alphabetize options in applicaiton descriptions

	* channels/chan_iax2.c: Use an enum to define iax peer/user flags as well as the pvt structure state.  Use the ast_flags macros for checking or setting the state.

	* sounds.txt: Add missing words from the description of the vm-opts prompt

	* apps/app_externalivr.c: Add a space that fixes building on older versions of gcc

	* many files: Add doxygen updates to categorize modules into groups. Convert a lot of comments over to doxygen style. Add some text giving a basic overview of channels.

	* many files: Update applications to add an exit status variable, make priority jumping optional, and use new args parsing macros

	* pbx.c cdr.c res/res_features.c apps/app_dial.c include/asterisk/cdr.h: Convert some built-in applications to use new args parsing macros.  Change ast_cdr_reset to take a pointer to an ast_flags structure instead of an integer for flags.

	* channels/chan_agent.c: Don't loop forever on an invalid options string

	* apps/app_disa.c apps/app_forkcdr.c: Fix to use correct arguments to ast_cdr_reset

2005-11-05  Kevin P. Fleming  <kpfleming@digium.com>

	* Makefile: don't rebuild asterisk/build.h unless the asterisk binary is going to be relinked for some other reason (stops spurious recompile/link every time 'make' is issued); clean up variable substitutions to use consistent syntax
	* asterisk.c: don't include asterisk/build.h (it's unnecessary)
	* cli.c: don't include asterisk/build.h, use extern references to buildinfo.c
	* buildinfo.c: new file to hold version info strings

2005-11-04  Kevin P. Fleming  <kpfleming@digium.com>

	* apps/app_mixmonitor.c (mixmonitor_exec): correct app name in an error message

2005-11-04  Russell Bryant  <russell@digium.com>

	* channels/chan_iax2.c: Create a function that stores a peer's status in a given buffer.  Use this function in "iax2 show peers" and "iax2 show peer <peername>".  Also, add the peer's status as an option to the IAXPEER dialplan function.

2005-11-04  Kevin P. Fleming  <kpfleming@digium.com>

	* include/asterisk/compiler.h: don't try to use always_inline on old compilers

2005-11-03  Russell Bryant  <russell@digium.com>

	* res/res_agi.c: initialize buffer for result so that the contents are always valid in the response to GET FULL VARIABLE

2005-11-03  Kevin P. Fleming  <kpfleming@digium.com>

	* doc/README.variables: document DYNAMIC_FEATURES

	* res/res_features.c (ast_bridge_call): remove unused variables

	* apps/app_dial.c (dial_exec_full): simplify options and flag usage

	* include/asterisk/app.h: re-work application arg/option parsing APIs for consistent naming, add doxygen docs for option API
	* many files: update to new APIs

2005-11-02  Kevin P. Fleming  <kpfleming@digium.com>

	* apps/app_dial.c (dial_exec_full): convert to use API calls for argument/option parsing

	* include/asterisk/channel.h: add doxygen docs for silence generator APIs

	* channel.c (ast_channel_bridge): simplify native-bridge return logic, remove 'unsuccessful' message since it causes too many questions :-)

2005-11-01  Kevin P. Fleming  <kpfleming@digium.com>

	* stdtime/localtime.c: fix build failure on uClibc systems (issue #5558)
	* devicestate.c: same

	* many files: make chan_misdn actually build (issue #5566)

	* many files: more Cygwin build system support (issue #4678)

	* apps/app_parkandannounce.c (parkandannounce_exec): supply parent channel to ast_request_and_dial so channel variables can be inherited (issue #5564)
	* include/asterisk/channel.h: add parent_channel field
	* channel.c (__ast_request_and_dial): use parent_channel field to inherit variables into new channel

	* apps/app_cut.c (cut_internal): use ast_app_separate_args() instead of open code (issue #5560)

	* apps/app_mixmonitor.c (launch_monitor_thread): ast_strlen_zero can handle NULL input (issue #5561)
	(mixmonitor_exec): same

	* res/res_features.c (ast_feature_request_and_dial): ensure that channel variables are inherited from the channel placing the call (issue #5499)

	* utils.c (getloadavg): change to using _BSD_SOURCE as the indicator for whether this function is present or not (issue #5549)
	
	* include/asterisk/utils.h (ast_slinear_saturated_add): force to be inlined whenever possible
	(ast_slinear_saturated_multiply): same
	(ast_slinear_saturated_divide): same
	(inaddrcmp): same
	* include/asterisk/strings.h (ast_strlen_zero): force to be inlined whenever possible
	* include/asterisk/compiler.h (force_inline): add macro to force inlining of functions
	
	* app.c (ast_play_and_record): use ast_silence_generator during recording if requested
	* asterisk.c: add global option to enable silence-during-record (issue #5135)
	* channel.c (silence_generator_alloc): new
	(silence_generator_release): new
	(silence_generator_generate): new
	(ast_channel_start_silence_generator): new API call to start generating silence on a channel
	(ast_channel_stop_silence_generator): parallel call to stop silence generation
	* apps/app_record.c (record_exec): use ast_silence_generator during recording if requested

2005-11-01  Kevin P. Fleming  <kpfleming@digium.com>

	* Asterisk 1.2.0-beta2 released.

