This fixes a crash when LOW_MEMORY is turned on. Two allocations of the ast_rtp struc...
[asterisk-bristuff.git] / CHANGES
blob0ce4dc1920d8406ee8517b2ec0a8cae921951458
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. Meetme() -- new options:
135                 o 'I' -- announce user join/leave without review
136                 o 'l' -- set listen only mode (Listen only, no talking)
137                 o 'o' -- set talker optimization - treats talkers who aren't speaking as...
138                 o '1' -- do not play message when first person enters
139          8. MeetmeAdmin() -- new options:
140                 o 'r' -- Reset one user's volume settings
141                 o 'R' -- Reset all users volume settings
142                 o 's' -- Lower entire conference speaking volume
143                 o 'S' -- Raise entire conference speaking volume
144                 o 't' -- Lower one user's talk volume
145                 o 'T' -- Lower all users talk volume
146                 o 'u' -- Lower one user's listen volume
147                 o 'U' -- Lower all users listen volume
148                 o 'v' -- Lower entire conference listening volume
149                 o 'V' -- Raise entire conference listening volume
150          9. OSPFinish() : now also can return ERROR result.
151         10. OSPLookup() : Sets more variables, also now returns ERROR result.
152         11. Page() -- New option: r - record the page into a file (see 'r' for app_meetme)
153         12. Pickup() -- multiple extensions, PICKUPMARK; read the description!
154         13. Queue()
155                 o New Argument: AGI
156                 o New option: i
157         14. Random() -- is now deprecated in 1.4
158         15. Read() -- replace 'skip' and 'noanswer' options with 's', 'n', add 'i' option.
159         16. Record() -- New option: 'x' : ignore all terminator keys (DTMF) and keep recording until hangup
160         17. UserEvent() -- slight change in behavior. Read the description.
161         18. VoiceMailMain() -- new a(#) option, goes to folder # directly.
162         19. WaitForSilence() -- new optional 3rd arg, time delay before returning.
163     * Functions that have changes to their interfaces:
164          1. CDR -- new option: u
165          2. LANGUAGE -- Deprecated. Use CHANNEL(language) instead.
166          3. MUSICCLASS -- Deprecated. Use CHANNEL(musicclass) instead.
167     * Configuration File Changes:
168          1. NEW config files:
169                1. amd.conf -- Answering Machine Detection parameters
170                2. followme.conf -- parameters for the findme/followme call forwarding
171                3. func_odbc.conf -- define sql access functions here
172                4. gtalk.conf -- how to handle gtalk protocol calls
173                5. h323.conf -- h323 configuration
174                6. http.conf -- config for the builtin mini-http server in asterisk
175                7. jabber.conf -- jabber interface
176                8. jingle.conf -- jingle protocol interface config
177               10. res_snmp.conf -- to enable snmp in asterisk, and define full/sub agent status
178               11. say.conf -- define per-language rules for numbers, dates, etc.
179               12. skinny.conf -- for those special skinny phones you want to use...
180               13. sla.conf -- Shared Line Appearance config
181               14. smdi.conf -- SMDI messaging config
182               15. udptl.conf -- T38's udptl transport config
183               16. users.conf -- user config
184          2. Changes to Existing Config files:
185                1. In General:
186                       o Jitterbuffer support added to several channels. Usually adds these variables to a config file:
187                            1. jbenable
188                            2. jbmaxsize
189                            3. jbresyncthreshold
190                            4. jbimpl
191                            5. jblog
192                       o MusicOnHold upgrade introduces two new variables:
193                            1. mohinterpret
194                            2. mohsuggest
195                2. agents.conf
196                       o maxlogintries variable added
197                       o autologoffunavail variable added
198                       o endcall variable added
199                       o agentgoodbye variable added
200                       o createlink variable REMOVED
201                3. alsa.conf
202                       o mohinterpret variable added
203                       o Jitterbuffer variables added
204                4. cdr.conf
205                       o endbeforehexten variable added
206                       o sections for csv and radius added, with variables usegmtime, loguniqueid, 
207                         loguserfield, and radiuscfg variables.
208                5. cdr_tds.conf
209                       o table variable added
210                6. extensions.ael
211                       o Many upgrades. See the info at http://www.voip-info.org/wiki/view/Asterisk+AEL2
212                7. extensions.conf
213                       o autofallthru now set to "yes" by default
214                       o userscontext variable added
215                       o added info/examples on paging and hints.
216                8. features.conf
217                       o parkedplay variable added (who to beep at)
218                       o parkedmusicclass
219                       o atxfernoanswertimeout variable added
220                       o parkcall variable added (one step parking)
221                       o improved documentation for dynamic feature declarations!
222                9. iax.conf
223                       o adsi variable added
224                       o mohinterpret variable added
225                       o mohsuggest variable added
226                       o jitterbuffer updates
227                       o iaxthreadcount variable added
228                       o iaxmaxthreadcount variable added
229                       o the way to specify TOS has changed.
230                       o mailboxdetail variable has been REMOVED.
231               10. indications.conf
232                       o [bg] entry added (Bulgaria).
233                       o [il] entry added (Israel)
234                       o [in] entry added (India)
235                       o [jp] entry added (Japan)
236                       o [my] entry added (Malaysia)
237                       o [th] entry added (Thailand)
238               11. manager.conf
239                       o webenabled variable added
240                       o httptimeout variable added
241                       o timestampevents variable added
242               12. mgcp.conf
243                       o Jitterbuffer support added
244               13. misdn.conf
245                       o l1watcher_timeout variable added
246                       o pp_l2_check variable added
247                       o echocancelwhenbridged variable added
248                       o echotraining variable added
249                       o max_incoming variable added
250                       o max_outgoing variable added
251               14. modules.conf
252                       o a comment for preloading res_speech.so is added
253                       o mention of global symbols is removed
254                       o obsolesced entries for chan_modem_* and app_intercom have been removed
255               15. musiconhold.conf
256                       o the default is now to do native moh from /var/lib/asterisk/moh
257               16. osp.conf
258                       o authpolicy variable added
259               17. oss.conf
260                       o debug variable added
261                       o device variable added
262                       o mixer variable added
263                       o boost variable added
264                       o callerid variable added
265                       o autohangup variable added
266                       o queuesize variable added
267                       o frags variable added
268                       o JitterBuffer support
269                       o sections to define alternate sound cards
270               18. queues.conf
271                       o autofill variable added
272                       o monitor-type variable added
273                       o musiconhold is now musicclass, with a difference in interpretation
274                       o autofill variable added
275                       o autopause variable added
276                       o setinterfacevar variable added
277                       o ringinuse variable added
278               19. res_odbc.conf
279                       o pooling variable added
280               20. rpt.conf
281                       o duplex variable added
282                       o tailmessagetime variable added
283                       o tailsquashedtime variable added
284                       o tailmessages variable added
285               21. rtp.conf
286                       o rtcpinterval varaible added
287               22. sip.conf
288                       o allowoverlap variable added
289                       o allowtransfer variable added
290                       o tos variable REMOVED
291                       o tos_sip variable added
292                       o tos_audio variable added
293                       o tos_video variable added
294                       o minexpiry variable added
295                       o t1min variable added
296                       o musicclass variable REMOVED
297                       o mohinterpret variable added
298                       o maxcallbitratesuggest variable added
299                       o allowsubscribe variable added
300                       o videosupport variable added
301                       o maxcallbitrate variable added
302                       o g726nonstandard variable added
303                       o dumphistory variable added
304                       o allowsubscribe variable added
305                       o t38pt_udptl variable added
306                       o canreinvite variable can also now be set to 'nonat'
307                       o rtsavesysname variable added
308                       o JitterBuffer support added
309                       o t38pt_usertpsource variable added
310               23. skinny.conf
311                       o port variable renamed to bindport
312                       o JitterBuffer support added
313                       o model variable REMOVED
314                       o mohinterpret variable added
315                       o mohsuggest variable added
316                       o speeddial variable added
317                       o addon variable added
318               24. voicemail.conf
319                       o userscontext variable added
320                       o smdiport variable added
321                       o attachfmt variable added
322                       o volgain variable added
323                       o tempgreetwarn variable added
324               25. zapata.conf
325                       o pritimer variable has improved documentation
326                       o New signalling method: fgccama
327                       o New signalling method: fgccamamf
328                       o outsignalling variable added
329                       o distinctiveringaftercid variable added
330                       o cidsignalling now also accepts v23_jp, and smdi
331                       o usesmdi variable added
332                       o smdiport variable added
333                       o mohinterpret variable added
334                       o mohsuggest variable added
335                       o JitterBuffer support added
336     * Removed Codecs/Channels:
337          1. codec_g723 was removed because the actual codec implementation it was designed to use is not distributable
338          2. chan_modem_* and related modules are gone because the kernel support for those interfaces is old, buggy and unsupported
339     * New Utils:
340          1. aelparse -- compile .ael files outside of asterisk
341     * New manager events:
342          1. OriginateResponse event comes to replace OriginateSuccess and OriginateFailure
343     * iLBC source code no longer included (see UPGRADE.txt for details)
344         * New CLI command "pri show version" that shows the current version of libpri
345           that the library was built against (requires a version of libpri since this API
346           feature was added).