don't register channel type until we are ready, coding format updates
[asterisk/asterisk.git] / ChangeLog
1 2005-11-16  Jeremy McNamara <jj@nufone.net>
2
3         * apps/app_voicemail.c (load_config): do not terminate asterisk if no voicemail config file
4         * channels/chan_skinny:  Don't register channel type until ready, code formatting updates
5
6 2005-11-16  Josh Roberson <josh@asteriasgi.com>
7
8         * Makefile:  Update to fix non-responsive remote console on Darwin (OSX)(issue #5757)
9
10 2005-11-16  Kevin P. Fleming  <kpfleming@digium.com>
11
12         * channels/Makefile: don't build chan_modem and sub-modules by default
13
14         * res/Makefile: issue mpg123 not-installed warning at 'make install' time, not 'make'
15
16         * 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)
17
18         * channel.c (ast_queue_hangup): ensure that the channel lock is held before changing its fields... (issue #5770)
19
20         * res/res_musiconhold.c: don't spit out incorrect log messages (and leak memory) during reload (issue #5766)
21
22         * 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)
23
24         * pbx/pbx_ael.c (match_assignment): properly parse equal signs surrounded by whitespace (issue #5761)
25
26         * doc/README.realtime: document the limitations of using FreeTDS with Realtime (issue #5767)
27
28 2005-11-15  Kevin P. Fleming  <kpfleming@digium.com>
29
30         * Makefile: use -g3 for compiler to include macro information for debugger
31
32         * astmm.c (__ast_vasprintf): don't re-use the ap list without copying it; that's not safe on some platforms (issue #5035)
33
34         * doc/README.backtrace: add note about properly building Asterisk to be able to produce backtraces; wrap text and remove DOS line endings
35
36         * channels/chan_sip.c (add_codec_to_sdp): add 'annexb=no' to G.729A SDP (issue #5539)
37
38         * channels/chan_alsa.c (alsa_hangup): handle autohangup properly (issue #5672)
39
40         * channels/chan_misdn.c (and other files): various fixes (issue #5739)
41
42         * channels/chan_sip.c (handle_request_info): properly forward 'flash' events received via SIP INFO (issue #5751, different patch)
43
44         * apps/app_disa.c (disa_exec): don't duplicate constant strings when not needed
45
46         * apps/app_playback.c (playback_exec): use correct logic tests for options (issue #5752)
47
48         * apps/app_disa.c (disa_exec): use standard arg parsing routines (issue #5736)
49
50 2005-11-15  Russell Bryant <russell@digium.com>
51
52         * 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)
53
54         * doc/README.variables: Add application exit status variables
55
56 2005-11-14  Josh Roberson <josh@asteriasgi.com>
57         
58         * manager.c: Fix crash on variable passing from AMI originate (issue #5737)
59
60 2005-11-14  Russell Bryant  <russell@digium.com>
61
62         * many files: Merge doxygen documentation updates. (issue #5605)
63
64         * apps/app_dial.c: Fix typo in RetryDial description.
65
66 2005-11-12  Russell Bryant  <russell@digium.com>
67
68         * channels/chan_oss.c: Fix a typo in an error message.
69
70 2005-11-11  Kevin P. Fleming  <kpfleming@digium.com>
71
72         * Asterisk 1.2.0-rc2 released.
73         
74 2005-11-11  Kevin P. Fleming  <kpfleming@digium.com>
75
76         * channels/chan_sip.c (thread_safe_rand): ensure that threads don't get the same random number (issue #5712)
77
78         * apps/app_voicemail.c (forward_message): correct bugs in message forwarding (issue #5718)
79         (copy_message): use correct path for locking (issue #5704)
80
81         * apps/app_dial.c (wait_for_answer): correct flag copying for automon feature (issue #5720)
82
83         * channels/chan_iax2.c: correct comment
84
85         * apps/app_voicemail.c (close_mailbox): correct previous commit (issue #5663)
86         (vm_change_password): fix password change writing (issue #5721)
87
88         * channels/chan_sip.c (transmit_invite): remove useless debug message; don't try to add OSP tokens to OPTIONS pings
89
90         * apps/app_voicemail.c (close_mailbox): properly remove deleted messages at mailbox close time (issue #5663)
91
92 2005-11-11  Mark Spencer <markster@digium.com>
93
94         * channels/chan_zap.c (zt_bridge): only enable/disable DTMF detection on SUB_REAL channels
95
96 2005-11-10  Kevin P. Fleming  <kpfleming@digium.com>
97
98         * channels/chan_iax2.c: ensure that system headers that provide basic types are included first (issue #5713)
99
100 2005-11-11  Russell Bryant  <russell@digium.com>
101
102         * many files in apps/: Clean up application descriptions. Clarify some wording and make sure they wrap at 80 characters.
103
104 2005-11-10  Mark Spencer <markster@digium.com>
105
106         * rtp.c (ast_rtp_raw_write): use unsigned int for return value from calc_txstamp() (issue #5595)
107         (calc_txstamp): never return a value that was less than zero before being turned into 'unsigned int' (issue #5595)
108
109 2005-11-10  Kevin P. Fleming  <kpfleming@digium.com>
110
111         * include/asterisk/chanspy.h: move spy-related stuff into separate header so chan_h323 can build (issue #5590)
112
113         * include/asterisk/linkedlists.h (AST_LIST_HEAD_SET_NOLOCK): properly initialize tail pointer when list head is directly set (issue #5669)
114
115         * 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)
116
117         * apps/app_disa.c (disa_exec): correct password file parsing (issue #5676)
118
119         * apps/app_meetme.c (conf_run): don't restrict admin users from joining a locked conference (issue #5680)
120
121         * channels/chan_misdn.c: include stdio.h (issue #5671)
122         * channels/chan_misdn_config.c: fix prototype warning (issue #5671)
123
124         * pbx.c: remove apps that were deprecated before 1.0 was released (issue #5673)
125
126         * apps/app_striplsd.c, apps/app_substring.c: remove apps that were deprecated before 1.0 was released (issue #5673)
127
128         * include/asterisk/lock.h (PTHREAD_MUTEX_RECURSIVE_NP): work around header problems on Cygwin (issue #5668)
129
130         * pbx/pbx_ael.c: handle switch default cases inside macros properly (issue #5354)
131
132         * configs/voicemail.conf.sample (format): add strong warning about changing format list when mailboxes contain messages (issue #5689)
133
134         * many files: ensure that system headers are included before Asterisk headers (issue #5693)
135
136         * channels/chan_iax2.c (complete_iax2_show_peer): don't return from function without releasing lock (issue #5685)
137
138         * channels/iax2-provision.c (iax_provision_reload): don't leak memory (issue #5700)
139
140         * pbx/pbx_ael.c (handle_macro): don't leak memory (issue #5701)
141         (handle_context): ditto
142
143         * res/res_features.c (load_config): properly initialize referenced variable (issue #5703)
144
145         * apps/app_queue.c (rqm_exec): correct segfault problem (issue #5705)
146         (aqm_exec): ditto
147
148         * app.c (ast_app_parse_options): don't increment 's' until after checking for NULL (related to issue #5630)
149
150         * apps/app_rpt.c: solve a memory leak (config structure was not freed) (issue #5706)
151
152 2005-11-10  Russell Bryant <russell@digium.com>
153
154         * app.c (ast_app_separate_args): Don't consider the open parenthesis as part of the arguments to an option. (issue #5630)
155
156         * many files: Change all references to ast_separate_app_args to ast_app_separate_args
157
158         * many files in apps/: Clean up some application descriptions. Make sure all descriptions in changed files are wrapped at 80 characters.
159
160 2005-11-09  Russell Bryant <russell@digium.com>
161
162         * pbx.c: Clean up descriptions of built-in dialplan applications. Changes include clearer wording and not referring to return values.
163
164 2005-11-09  Kevin P. Fleming  <kpfleming@digium.com>
165
166         * channels/chan_iax2.c (update_registry): don't complain about unspecifed registration expiration intervals, just use the minimum
167
168 2005-11-08  Kevin P. Fleming  <kpfleming@digium.com>
169
170         * Asterisk 1.2.0-rc1 released.
171
172         * include/asterisk/file.h: add test to ensure that stdio.h is included before this file (issue #5658)
173
174         * res/res_odbc.c (odbc_prepare_and_execute): add new API call for use to properly handle prepared statements across server disconnects (issue #5563)
175
176         * pbx.c (pbx_substitute_variables_helper_full): use already-substituted buffer for parsing variable name (issue #5664)
177
178         * 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)
179         * channels/chan_iax2.c (create_addr): treat UNREACHABLE as AST_CAUSE_UNREGISTERED so that it will generate CHANUNAVAIL from app_dial (issue #3360)
180
181         * 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)
182
183         * pbx.c (pbx_builtin_pushvar_helper): add new API function for setting variables that can exist multiple times (issue #2720)
184         * apps/Makefile (APPS): add app_stack (issue #2720)
185         * apps/app_stack.c: new applications (issue #2720)
186
187         * apps/app_meetme.c: fix two audio delay problems related to using non-Zap channels in conferences (issues #3599 and #4252)
188         * configs/meetme.conf.sample: add documentation of new 'audiobuffers' setting to control buffering on incoming audio from non-Zap channels
189
190         * channels/chan_local.c (local_call): move channel variables from incoming to outgoing instead of inheriting them (issue #5604)
191
192         * many files: add explicit include of stdio.h (issue #5650)
193
194 2005-11-07  Kevin P. Fleming  <kpfleming@digium.com>
195
196         * UPGRADE.txt (Parking): add note about new parking behavior (issue #5532)
197
198         * many files: more Cygwin compatibility, and proper getloadavg() prototype/macro (issue #5569)
199
200         * include/asterisk/lock.h (__ast_pthread_mutex_lock): correct build with DETECT_DEADLOCKS defined (issue #5570)
201
202 2005-11-07  Russell Bryant  <russell@digium.com>
203
204         * apps/app_queue.c: upgrade to new arg/option API and implement priority jumping control (issue #5580)
205         * many files: Add missing include of stdio.h, and remove some duplicate and unused header includes
206
207         * include/asterisk/app.h: Increment the arg_index in the options structure to fix applicaiton options that have arguments to them
208
209 2005-11-07  Kevin P. Fleming  <kpfleming@digium.com>
210
211         * cryptostub.c: include necessary headers
212         * include/asterisk/crypto.h: don't include unnecessary headers
213
214         * manager.c (action_setvar): add support for setting global variables (issue #5571)
215
216         * Makefile: correct cross-compilation issue introduced in Cygwin patches (issue #5572)
217
218         * apps/app_voicemail.c: upgrade to new arg/option API and implement priority jumping control (issue #5649)
219
220         * asterisk.c (main): setpriority() failure is not a reason to stop the process (issue #5581)
221
222         * say.c (ast_say_date_with_format_da): say hours properly (issue #5576)
223
224         * manager.c (astman_get_variables): restore old multiple-variable behavior for "Variable" header (issue #5585)
225
226         * many files: don't check for NULL before calling ast_strlen_zero, it can do it itself (issue #5648)
227
228         * pbx.c (handle_show_hints): use proper state-to-string function for hint state (issue #5583)
229
230         * rtp.c: use unsigned format for debug packet output (issue #5595)
231
232         * asterisk.c (main): force a dnsmgr background refresh after all other modules are initialized (issue #5599)
233         * dnsmgr.c: add ability to start a background refresh on demand (issue #5599)
234
235         * apps/app_dial.c (HANDLE_CAUSE): set CDR disposition to match cause code (issue #5602)
236
237         * asterisk.c: support 'runuser' and 'rungroup' options in asterisk.conf (issue #5621)
238
239         * res/Makefile, apps/Makefile, channels/Makefile, Makefile: support WITHOUT_ZAPTEL define to forcibly avoid building Zaptel support (issue #5634)
240
241         * Makefile: various fixes (issue #5633)
242
243         * apps/app_osplookup.c: upgrade to new arg/option API and implement priority jumping control
244
245         * channels/chan_misdn.c: various fixes (issue #5639)
246         * channels/misdn/isdn_lib.c: various fixes (issue #5639)
247
248         * apps/app_playback.c: upgrade to new arg/option API and implement priority jumping control
249
250         * apps/app_privacy.c: upgrade to new arg/option API and implement priority jumping control
251
252         * apps/app_sendtext.c: upgrade to new arg/option API and implement priority jumping control
253
254         * apps/app_transfer.c: upgrade to new arg/option API and implement priority jumping control
255
256         * apps/app_txtcidname.c: upgrade to new arg/option API and implement priority jumping control
257
258         * Makefile: restore function of 'dont-optimize'
259
260         * config.c (config_text_file_load): don't generate log message when stat() fails
261
262         * 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)
263
264 2005-11-06  Russell Bryant <russell@digium.com>
265
266         * many files: alphabetize options in applicaiton descriptions
267
268         * 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.
269
270         * sounds.txt: Add missing words from the description of the vm-opts prompt
271
272         * apps/app_externalivr.c: Add a space that fixes building on older versions of gcc
273
274         * 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.
275
276         * many files: Update applications to add an exit status variable, make priority jumping optional, and use new args parsing macros
277
278         * 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.
279
280         * channels/chan_agent.c: Don't loop forever on an invalid options string
281
282         * apps/app_disa.c apps/app_forkcdr.c: Fix to use correct arguments to ast_cdr_reset
283
284 2005-11-05  Kevin P. Fleming  <kpfleming@digium.com>
285
286         * 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
287         * asterisk.c: don't include asterisk/build.h (it's unnecessary)
288         * cli.c: don't include asterisk/build.h, use extern references to buildinfo.c
289         * buildinfo.c: new file to hold version info strings
290
291 2005-11-04  Kevin P. Fleming  <kpfleming@digium.com>
292
293         * apps/app_mixmonitor.c (mixmonitor_exec): correct app name in an error message
294
295 2005-11-04  Russell Bryant  <russell@digium.com>
296
297         * 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.
298
299 2005-11-04  Kevin P. Fleming  <kpfleming@digium.com>
300
301         * include/asterisk/compiler.h: don't try to use always_inline on old compilers
302
303 2005-11-03  Russell Bryant  <russell@digium.com>
304
305         * res/res_agi.c: initialize buffer for result so that the contents are always valid in the response to GET FULL VARIABLE
306
307 2005-11-03  Kevin P. Fleming  <kpfleming@digium.com>
308
309         * doc/README.variables: document DYNAMIC_FEATURES
310
311         * res/res_features.c (ast_bridge_call): remove unused variables
312
313         * apps/app_dial.c (dial_exec_full): simplify options and flag usage
314
315         * include/asterisk/app.h: re-work application arg/option parsing APIs for consistent naming, add doxygen docs for option API
316         * many files: update to new APIs
317
318 2005-11-02  Kevin P. Fleming  <kpfleming@digium.com>
319
320         * apps/app_dial.c (dial_exec_full): convert to use API calls for argument/option parsing
321
322         * include/asterisk/channel.h: add doxygen docs for silence generator APIs
323
324         * channel.c (ast_channel_bridge): simplify native-bridge return logic, remove 'unsuccessful' message since it causes too many questions :-)
325
326 2005-11-01  Kevin P. Fleming  <kpfleming@digium.com>
327
328         * stdtime/localtime.c: fix build failure on uClibc systems (issue #5558)
329         * devicestate.c: same
330
331         * many files: make chan_misdn actually build (issue #5566)
332
333         * many files: more Cygwin build system support (issue #4678)
334
335         * apps/app_parkandannounce.c (parkandannounce_exec): supply parent channel to ast_request_and_dial so channel variables can be inherited (issue #5564)
336         * include/asterisk/channel.h: add parent_channel field
337         * channel.c (__ast_request_and_dial): use parent_channel field to inherit variables into new channel
338
339         * apps/app_cut.c (cut_internal): use ast_app_separate_args() instead of open code (issue #5560)
340
341         * apps/app_mixmonitor.c (launch_monitor_thread): ast_strlen_zero can handle NULL input (issue #5561)
342         (mixmonitor_exec): same
343
344         * res/res_features.c (ast_feature_request_and_dial): ensure that channel variables are inherited from the channel placing the call (issue #5499)
345
346         * utils.c (getloadavg): change to using _BSD_SOURCE as the indicator for whether this function is present or not (issue #5549)
347         
348         * include/asterisk/utils.h (ast_slinear_saturated_add): force to be inlined whenever possible
349         (ast_slinear_saturated_multiply): same
350         (ast_slinear_saturated_divide): same
351         (inaddrcmp): same
352         * include/asterisk/strings.h (ast_strlen_zero): force to be inlined whenever possible
353         * include/asterisk/compiler.h (force_inline): add macro to force inlining of functions
354         
355         * app.c (ast_play_and_record): use ast_silence_generator during recording if requested
356         * asterisk.c: add global option to enable silence-during-record (issue #5135)
357         * channel.c (silence_generator_alloc): new
358         (silence_generator_release): new
359         (silence_generator_generate): new
360         (ast_channel_start_silence_generator): new API call to start generating silence on a channel
361         (ast_channel_stop_silence_generator): parallel call to stop silence generation
362         * apps/app_record.c (record_exec): use ast_silence_generator during recording if requested
363
364 2005-11-01  Kevin P. Fleming  <kpfleming@digium.com>
365
366         * Asterisk 1.2.0-beta2 released.
367