Fix some bogus scheduler usage in chan_sip. This code used the return value
[asterisk-bristuff.git] / CHANGES
blob02919617a67e8ff999961ad6c001efe207b2f27d
1 Changes since Asterisk 1.2:
3     * over 4,000 commits since 1.2
4     * queue member naming
5     * CLI commands rework
6           o Change the way CLI commands are structured.
7           o Most commands are now <module> <verb> <args>
8     * chan_h323 update
9     * RTP packetization
10     * SLA (Shared Line Appearance) support
11     * T.38 Passthrough Support for faxing in SIP
12     * Generic channel jitterbuffer (spawned from RTP)
13     * Variable Length DTMF for better DTMF compatibility
14     * Improved chan_iax2 scalability by using multithreading
15     * AEL2 has replaced the original implementation of AEL. The "2" is removed. For more details, 
16       read: http://www.voip-info.org/wiki/view/Asterisk+AEL2
17       AEL is no longer considered experimental.
18     * New sounds; English, Spanish, and French prompts, as well as music on hold files, in 
19       multiple Asterisk native formats.
20     * IMAP storage of voicemail
21     * Jabber/GoogleTalk integration
22     * New speech recognition API for interfacing to different Voice Recognition software packages
23     * much more customizable and portable build system
24           o also for asterisk-addons
25     * Radius CDR logging
26     * SNMP support
27     * SMDI (Simplified Message Desk Interface) support
28     * Redesign of MusicOnHold configuration settings
29     * Manager over HTTP
30     * Significant chan_skinny updates
31     * Significant chan_misdn updates
32     * Improved SIP transfers
33     * SIP MWI subscription support
34     * Much improved support for SIP video
35     * Control over SIP transfers and subscriptions (enable/disable per device)
36     * ChanSpy whisper mode (Whisper Paging)
37     * Configurable language support for saying dates and times
38     * Significant architecture improvements for memory usage and performance
39     * Media-only IAX2 transfers
40     * Updates to the Radio Repeater app code
41     * Deprecation of AgentCallbackLogin in favor of a dialplan-based solution
42     * uClibc builds supported
43     * Work done for freeBSD portability
44     * Work done for Solaris portability
45     * FreeTDS-based database can be used with Realtime
46     * New internal data structure, stringfields, is implemented in IAX and SIP, reducing memory consumption by about 50%.
47     * Use of thread local storage for reduced memory allocation/freeing and lower stack consumption
48     * Reorganized files into docs/ main/ configs/, including name changes in some cases
49     * Much effort was expended in arranging documentation in source files in doxygen format
50     * Improved IP TOS support for IAX and SIP
51     * Builtin mini HTTP server
52     * Added support for Sigma Designs cards.
53     * Frame header caching to reduce memory allocation/freeing
54     * Passthrough and record/playback support for G.722 wideband audio
55     * using mpg123 to play MP3 files for music-on-hold will be deprecated in 1.4 (start using the "native support")
56     * New Apps:
57          1. AMD() ;; Answering Machine Detection
58          2. ChannelRedirect() ;; asynch goto, redirect chan to context/exten/priority
59          3. ContinueWhile() ;; Addition to the While() suite. Acts like "continue".
60          4. ExitWhile() ;; Addition to the While() suite. Acts like "break".
61          5. ExtenSpy() ;; A close cousin to ChanSpy().
62          6. FollowMe() ;; findme/followme call redirect app
63          7. Log() ;; Send a message to the log, based on severity level.
64          8. MacroExclusive() ;; No more than one invocation of this macro allowed at any one time.
65          9. MorseCode() ;; turns strings into dits and dahs. A playground for ham radio licensees!
66         10. OSPAuth() ;; OSP authentication
67         11. QueueLog() ;; allows you to write your own events into the queue log
68         12. SLAStation() ;; Shared Line Appearance
69         13. SLATrunk() ;; Shared Line Appearance
70         14. SpeechCreate() ;; Voice Recognition Engine interface...
71         15. SpeechActivateGrammar()
72         16. SpeechStart()
73         17. SpeechBackground
74         18. SpeechDeactivateGrammar()
75         19. SpeechProcessingSound()
76         20. SpeechDestroy()
77         21. SpeechLoadGrammar()
78         22. SpeechUnloadGrammar()
79         23. StopMixMonitor() ;; to stop the MixMonitor App.
80         24. TryExec() ;; execute dialplan app without fatal consequences
81     * Apps removed:
82          1. CheckGroup -- do a comparison to ${GROUP()}
83          2. Curl -- use the function CURL() instead
84          3. Cut -- use the function CUT() instead
85          4. DateTime -- use sayunixtime() app instead.
86          5. DBget -- deprecated in 1.2, now removed.
87          6. DBput -- deprecated in 1.2, now removed.
88          7. Enumlookup -- use the function ENUMLOOKUP() instead
89          8. Eval -- use the function EVAL() instead
90          9. GetGroupCount -- use the function GROUP_COUNT() instead
91         10. GetGroupMatchCount -- use the function GROUP_MATCH_COUNT() instead
92         11. Intercom -- use the chan_oss module instead
93         12. Math -- use the function MATH() instead
94         13. MD5 -- use the function MD5() instead
95         14. SetCIDname -- use the function CALLERID(name) instead
96         15. SetCIDnum -- use the function CALLERID(number) instead
97         16. SetGroup -- use Set(GROUP=group) instead
98         17. SetRDNIS -- use the function CALLERID(rdnis) instead
99         18. Sql_postgres -- was deprecated in 1.2, now removed
100         19. Txtcidname -- use the function TXTCIDNAME instead
101     * New Dialplan Functions:
102          1. ARRAY()
103          2. BASE_64_DECODE()
104          3. BASE_64_ENCODE()
105          4. CHANNEL()
106          5. CURL()
107          6. CUT()
108          7. DB_DELETE()
109          8. FILTER()
110          9. GLOBAL()
111         10. IFTIME()
112         11. KEYPADHASH()
113         12. ODBC()
114         13. QUOTE()
115         14. RAND()
116         15. REALTIME()
117         16. SHA1()
118         17. SORT()
119         18. SPRINTF()
120         19. SQL_ESC()
121         20. STAT()
122         21. STRPTIME()
123     * Apps that have changes to their interface:
124          1. Authenticate() -- optional maxdigits argument added.
125          2. ChanSpy() -- new options:
126                 o w -- Enable 'whisper' mode, so the spying channel can talk to...
127                 o W -- Enable 'private whisper' mode, so the spying channel can...
128          3. DBdel() -- now marked as DEPRECATED in favor of the DB_DELETE func
129          4. Dial()
130                 o New Option: O([x]) for Zaptel operator mode
131                 o New Option: K/k parking via dtmf tones
132          5. Dictate() -- optional filename argument added.
133          6. Directory() -- new option: e - In addition to the name, also read the extension number...
134          7. ForkCDR() -- new options: 
135                 o 'a' -- update answer time on new cdr
136                 o 'A' -- Lock the orig CDR answer time against changes.
137                 o 'D' -- Copy the disposition from the orig to the new CDR.
138                 o 'd' -- clear the dstcannel field in the new CDR.
139                 o 'e' -- set the end time of the original CDR.
140                 o 'R' -- do NOT reset the new CDR.
141                 o 's' -- Add/change var in orig CDR.
142                 o 'T' -- Force ast_cdr_end, answer to obey LOCKED flag for the orig. CDR.
143                       -- ast_cdr_setvar will be forced also (used by the CDR() func in write mode)
144          8. Meetme() -- new options:
145                 o 'I' -- announce user join/leave without review
146                 o 'l' -- set listen only mode (Listen only, no talking)
147                 o 'o' -- set talker optimization - treats talkers who aren't speaking as...
148                 o '1' -- do not play message when first person enters
149          9. MeetmeAdmin() -- new options:
150                 o 'r' -- Reset one user's volume settings
151                 o 'R' -- Reset all users volume settings
152                 o 's' -- Lower entire conference speaking volume
153                 o 'S' -- Raise entire conference speaking volume
154                 o 't' -- Lower one user's talk volume
155                 o 'T' -- Lower all users talk volume
156                 o 'u' -- Lower one user's listen volume
157                 o 'U' -- Lower all users listen volume
158                 o 'v' -- Lower entire conference listening volume
159                 o 'V' -- Raise entire conference listening volume
160         10. OSPFinish() : now also can return ERROR result.
161         11. OSPLookup() : Sets more variables, also now returns ERROR result.
162         12. Page() -- New option: r - record the page into a file (see 'r' for app_meetme)
163         13. Pickup() -- multiple extensions, PICKUPMARK; read the description!
164         14. Queue()
165                 o New Argument: AGI
166                 o New option: i
167         15. Random() -- is now deprecated in 1.4
168         16. Read() -- replace 'skip' and 'noanswer' options with 's', 'n', add 'i' option.
169         17. Record() -- New option: 'x' : ignore all terminator keys (DTMF) and keep recording until hangup
170         18. UserEvent() -- slight change in behavior. Read the description.
171         19. VoiceMailMain() -- new a(#) option, goes to folder # directly.
172         20. WaitForSilence() -- new optional 3rd arg, time delay before returning.
173     * Functions that have changes to their interfaces:
174          1. CDR -- new options: u and s
175          2. LANGUAGE -- Deprecated. Use CHANNEL(language) instead.
176          3. MUSICCLASS -- Deprecated. Use CHANNEL(musicclass) instead.
177     * Configuration File Changes:
178          1. NEW config files:
179                1. amd.conf -- Answering Machine Detection parameters
180                2. followme.conf -- parameters for the findme/followme call forwarding
181                3. func_odbc.conf -- define sql access functions here
182                4. gtalk.conf -- how to handle gtalk protocol calls
183                5. h323.conf -- h323 configuration
184                6. http.conf -- config for the builtin mini-http server in asterisk
185                7. jabber.conf -- jabber interface
186                8. jingle.conf -- jingle protocol interface config
187               10. res_snmp.conf -- to enable snmp in asterisk, and define full/sub agent status
188               11. say.conf -- define per-language rules for numbers, dates, etc.
189               12. skinny.conf -- for those special skinny phones you want to use...
190               13. sla.conf -- Shared Line Appearance config
191               14. smdi.conf -- SMDI messaging config
192               15. udptl.conf -- T38's udptl transport config
193               16. users.conf -- user config
194          2. Changes to Existing Config files:
195                1. In General:
196                       o Jitterbuffer support added to several channels. Usually adds these variables to a config file:
197                            1. jbenable
198                            2. jbmaxsize
199                            3. jbresyncthreshold
200                            4. jbimpl
201                            5. jblog
202                       o MusicOnHold upgrade introduces two new variables:
203                            1. mohinterpret
204                            2. mohsuggest
205                2. agents.conf
206                       o maxlogintries variable added
207                       o autologoffunavail variable added
208                       o endcall variable added
209                       o agentgoodbye variable added
210                       o createlink variable REMOVED
211                3. alsa.conf
212                       o mohinterpret variable added
213                       o Jitterbuffer variables added
214                4. cdr.conf
215                       o endbeforehexten variable added
216                       o sections for csv and radius added, with variables usegmtime, loguniqueid, 
217                         loguserfield, and radiuscfg variables.
218                5. cdr_tds.conf
219                       o table variable added
220                6. extensions.ael
221                       o Many upgrades. See the info at http://www.voip-info.org/wiki/view/Asterisk+AEL2
222                7. extensions.conf
223                       o autofallthru now set to "yes" by default
224                       o userscontext variable added
225                       o added info/examples on paging and hints.
226                8. features.conf
227                       o parkedplay variable added (who to beep at)
228                       o parkedmusicclass
229                       o atxfernoanswertimeout variable added
230                       o parkcall variable added (one step parking)
231                       o improved documentation for dynamic feature declarations!
232                9. iax.conf
233                       o adsi variable added
234                       o mohinterpret variable added
235                       o mohsuggest variable added
236                       o jitterbuffer updates
237                       o iaxthreadcount variable added
238                       o iaxmaxthreadcount variable added
239                       o the way to specify TOS has changed.
240                       o mailboxdetail variable has been REMOVED.
241               10. indications.conf
242                       o [bg] entry added (Bulgaria).
243                       o [il] entry added (Israel)
244                       o [in] entry added (India)
245                       o [jp] entry added (Japan)
246                       o [my] entry added (Malaysia)
247                       o [th] entry added (Thailand)
248               11. manager.conf
249                       o webenabled variable added
250                       o httptimeout variable added
251                       o timestampevents variable added
252               12. mgcp.conf
253                       o Jitterbuffer support added
254               13. misdn.conf
255                       o l1watcher_timeout variable added
256                       o pp_l2_check variable added
257                       o echocancelwhenbridged variable added
258                       o echotraining variable added
259                       o max_incoming variable added
260                       o max_outgoing variable added
261               14. modules.conf
262                       o a comment for preloading res_speech.so is added
263                       o mention of global symbols is removed
264                       o obsolesced entries for chan_modem_* and app_intercom have been removed
265               15. musiconhold.conf
266                       o the default is now to do native moh from /var/lib/asterisk/moh
267               16. osp.conf
268                       o authpolicy variable added
269               17. oss.conf
270                       o debug variable added
271                       o device variable added
272                       o mixer variable added
273                       o boost variable added
274                       o callerid variable added
275                       o autohangup variable added
276                       o queuesize variable added
277                       o frags variable added
278                       o JitterBuffer support
279                       o sections to define alternate sound cards
280               18. queues.conf
281                       o autofill variable added
282                       o monitor-type variable added
283                       o musiconhold is now musicclass, with a difference in interpretation
284                       o autofill variable added
285                       o autopause variable added
286                       o setinterfacevar variable added
287                       o ringinuse variable added
288               19. res_odbc.conf
289                       o pooling variable added
290               20. rpt.conf
291                       o duplex variable added
292                       o tailmessagetime variable added
293                       o tailsquashedtime variable added
294                       o tailmessages variable added
295               21. rtp.conf
296                       o rtcpinterval varaible added
297               22. sip.conf
298                       o allowoverlap variable added
299                       o allowtransfer variable added
300                       o tos variable REMOVED
301                       o tos_sip variable added
302                       o tos_audio variable added
303                       o tos_video variable added
304                       o minexpiry variable added
305                       o t1min variable added
306                       o musicclass variable REMOVED
307                       o mohinterpret variable added
308                       o maxcallbitratesuggest variable added
309                       o allowsubscribe variable added
310                       o videosupport variable added
311                       o maxcallbitrate variable added
312                       o g726nonstandard variable added
313                       o dumphistory variable added
314                       o allowsubscribe variable added
315                       o t38pt_udptl variable added
316                       o canreinvite variable can also now be set to 'nonat'
317                       o rtsavesysname variable added
318                       o JitterBuffer support added
319                       o t38pt_usertpsource variable added
320               23. skinny.conf
321                       o port variable renamed to bindport
322                       o JitterBuffer support added
323                       o model variable REMOVED
324                       o mohinterpret variable added
325                       o mohsuggest variable added
326                       o speeddial variable added
327                       o addon variable added
328               24. voicemail.conf
329                       o userscontext variable added
330                       o smdiport variable added
331                       o attachfmt variable added
332                       o volgain variable added
333                       o tempgreetwarn variable added
334               25. zapata.conf
335                       o pritimer variable has improved documentation
336                       o New signalling method: fgccama
337                       o New signalling method: fgccamamf
338                       o outsignalling variable added
339                       o distinctiveringaftercid variable added
340                       o cidsignalling now also accepts v23_jp, and smdi
341                       o usesmdi variable added
342                       o smdiport variable added
343                       o mohinterpret variable added
344                       o mohsuggest variable added
345                       o JitterBuffer support added
346     * Removed Codecs/Channels:
347          1. codec_g723 was removed because the actual codec implementation it was designed to use is not distributable
348          2. chan_modem_* and related modules are gone because the kernel support for those interfaces is old, buggy and unsupported
349     * New Utils:
350          1. aelparse -- compile .ael files outside of asterisk
351     * New manager events:
352          1. OriginateResponse event comes to replace OriginateSuccess and OriginateFailure
353     * iLBC source code no longer included (see UPGRADE.txt for details)
354         * New CLI command "pri show version" that shows the current version of libpri
355           that the library was built against (requires a version of libpri since this API
356           feature was added).