Changes since Asterisk 1.2: * over 4,000 commits since 1.2 * queue member naming * CLI commands rework o Change the way CLI commands are structured. o Most commands are now * chan_h323 update * RTP packetization * SLA (Shared Line Appearance) support * T.38 Passthrough Support for faxing in SIP * Generic channel jitterbuffer (spawned from RTP) * Variable Length DTMF for better DTMF compatibility * Improved chan_iax2 scalability by using multithreading * AEL2 has replaced the original implementation of AEL. The "2" is removed. For more details, read: http://www.voip-info.org/wiki/view/Asterisk+AEL2 AEL is no longer considered experimental. * New sounds; English, Spanish, and French prompts, as well as music on hold files, in multiple Asterisk native formats. * IMAP storage of voicemail * Jabber/GoogleTalk integration * New speech recognition API for interfacing to different Voice Recognition software packages * much more customizable and portable build system o also for asterisk-addons * Radius CDR logging * SNMP support * SMDI (Simplified Message Desk Interface) support * Redesign of MusicOnHold configuration settings * Manager over HTTP * Significant chan_skinny updates * Significant chan_misdn updates * Improved SIP transfers * SIP MWI subscription support * Much improved support for SIP video * Control over SIP transfers and subscriptions (enable/disable per device) * ChanSpy whisper mode (Whisper Paging) * Configurable language support for saying dates and times * Significant architecture improvements for memory usage and performance * Media-only IAX2 transfers * Updates to the Radio Repeater app code * Deprecation of AgentCallbackLogin in favor of a dialplan-based solution * uClibc builds supported * Work done for freeBSD portability * Work done for Solaris portability * FreeTDS-based database can be used with Realtime * New internal data structure, stringfields, is implemented in IAX and SIP, reducing memory consumption by about 50%. * Use of thread local storage for reduced memory allocation/freeing and lower stack consumption * Reorganized files into docs/ main/ configs/, including name changes in some cases * Much effort was expended in arranging documentation in source files in doxygen format * Improved IP TOS support for IAX and SIP * Builtin mini HTTP server * Added support for Sigma Designs cards. * Frame header caching to reduce memory allocation/freeing * Passthrough and record/playback support for G.722 wideband audio * using mpg123 to play MP3 files for music-on-hold will be deprecated in 1.4 (start using the "native support") * New Apps: 1. AMD() ;; Answering Machine Detection 2. ChannelRedirect() ;; asynch goto, redirect chan to context/exten/priority 3. ContinueWhile() ;; Addition to the While() suite. Acts like "continue". 4. ExitWhile() ;; Addition to the While() suite. Acts like "break". 5. ExtenSpy() ;; A close cousin to ChanSpy(). 6. FollowMe() ;; findme/followme call redirect app 7. Log() ;; Send a message to the log, based on severity level. 8. MacroExclusive() ;; No more than one invocation of this macro allowed at any one time. 9. MorseCode() ;; turns strings into dits and dahs. A playground for ham radio licensees! 10. OSPAuth() ;; OSP authentication 11. QueueLog() ;; allows you to write your own events into the queue log 12. SLAStation() ;; Shared Line Appearance 13. SLATrunk() ;; Shared Line Appearance 14. SpeechCreate() ;; Voice Recognition Engine interface... 15. SpeechActivateGrammar() 16. SpeechStart() 17. SpeechBackground 18. SpeechDeactivateGrammar() 19. SpeechProcessingSound() 20. SpeechDestroy() 21. SpeechLoadGrammar() 22. SpeechUnloadGrammar() 23. StopMixMonitor() ;; to stop the MixMonitor App. 24. TryExec() ;; execute dialplan app without fatal consequences * Apps removed: 1. CheckGroup -- do a comparison to ${GROUP()} 2. Curl -- use the function CURL() instead 3. Cut -- use the function CUT() instead 4. DateTime -- use sayunixtime() app instead. 5. DBget -- deprecated in 1.2, now removed. 6. DBput -- deprecated in 1.2, now removed. 7. Enumlookup -- use the function ENUMLOOKUP() instead 8. Eval -- use the function EVAL() instead 9. GetGroupCount -- use the function GROUP_COUNT() instead 10. GetGroupMatchCount -- use the function GROUP_MATCH_COUNT() instead 11. Intercom -- use the chan_oss module instead 12. Math -- use the function MATH() instead 13. MD5 -- use the function MD5() instead 14. SetCIDname -- use the function CALLERID(name) instead 15. SetCIDnum -- use the function CALLERID(number) instead 16. SetGroup -- use Set(GROUP=group) instead 17. SetRDNIS -- use the function CALLERID(rdnis) instead 18. Sql_postgres -- was deprecated in 1.2, now removed 19. Txtcidname -- use the function TXTCIDNAME instead * New Dialplan Functions: 1. ARRAY() 2. BASE_64_DECODE() 3. BASE_64_ENCODE() 4. CHANNEL() 5. CURL() 6. CUT() 7. DB_DELETE() 8. FILTER() 9. GLOBAL() 10. IFTIME() 11. KEYPADHASH() 12. ODBC() 13. QUOTE() 14. RAND() 15. REALTIME() 16. SHA1() 17. SORT() 18. SPRINTF() 19. SQL_ESC() 20. STAT() 21. STRPTIME() * Apps that have changes to their interface: 1. Authenticate() -- optional maxdigits argument added. 2. ChanSpy() -- new options: o w -- Enable 'whisper' mode, so the spying channel can talk to... o W -- Enable 'private whisper' mode, so the spying channel can... 3. DBdel() -- now marked as DEPRECATED in favor of the DB_DELETE func 4. Dial() o New Option: O([x]) for Zaptel operator mode o New Option: K/k parking via dtmf tones 5. Dictate() -- optional filename argument added. 6. Directory() -- new option: e - In addition to the name, also read the extension number... 7. Meetme() -- new options: o 'I' -- announce user join/leave without review o 'l' -- set listen only mode (Listen only, no talking) o 'o' -- set talker optimization - treats talkers who aren't speaking as... o '1' -- do not play message when first person enters 8. MeetmeAdmin() -- new options: o 'r' -- Reset one user's volume settings o 'R' -- Reset all users volume settings o 's' -- Lower entire conference speaking volume o 'S' -- Raise entire conference speaking volume o 't' -- Lower one user's talk volume o 'T' -- Lower all users talk volume o 'u' -- Lower one user's listen volume o 'U' -- Lower all users listen volume o 'v' -- Lower entire conference listening volume o 'V' -- Raise entire conference listening volume 9. OSPFinish() : now also can return ERROR result. 10. OSPLookup() : Sets more variables, also now returns ERROR result. 11. Page() -- New option: r - record the page into a file (see 'r' for app_meetme) 12. Pickup() -- multiple extensions, PICKUPMARK; read the description! 13. Queue() o New Argument: AGI o New option: i 14. Random() -- is now deprecated in 1.4 15. Read() -- replace 'skip' and 'noanswer' options with 's', 'n', add 'i' option. 16. Record() -- New option: 'x' : ignore all terminator keys (DTMF) and keep recording until hangup 17. UserEvent() -- slight change in behavior. Read the description. 18. VoiceMailMain() -- new a(#) option, goes to folder # directly. 19. WaitForSilence() -- new optional 3rd arg, time delay before returning. * Functions that have changes to their interfaces: 1. CDR -- new option: u 2. LANGUAGE -- Deprecated. Use CHANNEL(language) instead. 3. MUSICCLASS -- Deprecated. Use CHANNEL(musicclass) instead. * Configuration File Changes: 1. NEW config files: 1. amd.conf -- Answering Machine Detection parameters 2. followme.conf -- parameters for the findme/followme call forwarding 3. func_odbc.conf -- define sql access functions here 4. gtalk.conf -- how to handle gtalk protocol calls 5. h323.conf -- h323 configuration 6. http.conf -- config for the builtin mini-http server in asterisk 7. jabber.conf -- jabber interface 8. jingle.conf -- jingle protocol interface config 10. res_snmp.conf -- to enable snmp in asterisk, and define full/sub agent status 11. say.conf -- define per-language rules for numbers, dates, etc. 12. skinny.conf -- for those special skinny phones you want to use... 13. sla.conf -- Shared Line Appearance config 14. smdi.conf -- SMDI messaging config 15. udptl.conf -- T38's udptl transport config 16. users.conf -- user config 2. Changes to Existing Config files: 1. In General: o Jitterbuffer support added to several channels. Usually adds these variables to a config file: 1. jbenable 2. jbmaxsize 3. jbresyncthreshold 4. jbimpl 5. jblog o MusicOnHold upgrade introduces two new variables: 1. mohinterpret 2. mohsuggest 2. agents.conf o maxlogintries variable added o autologoffunavail variable added o endcall variable added o agentgoodbye variable added o createlink variable REMOVED 3. alsa.conf o mohinterpret variable added o Jitterbuffer variables added 4. cdr.conf o endbeforehexten variable added o sections for csv and radius added, with variables usegmtime, loguniqueid, loguserfield, and radiuscfg variables. 5. cdr_tds.conf o table variable added 6. extensions.ael o Many upgrades. See the info at http://www.voip-info.org/wiki/view/Asterisk+AEL2 7. extensions.conf o autofallthru now set to "yes" by default o userscontext variable added o added info/examples on paging and hints. 8. features.conf o parkedplay variable added (who to beep at) o parkedmusicclass o atxfernoanswertimeout variable added o parkcall variable added (one step parking) o improved documentation for dynamic feature declarations! 9. iax.conf o adsi variable added o mohinterpret variable added o mohsuggest variable added o jitterbuffer updates o iaxthreadcount variable added o iaxmaxthreadcount variable added o the way to specify TOS has changed. o mailboxdetail variable has been REMOVED. 10. indications.conf o [bg] entry added (Bulgaria). o [il] entry added (Israel) o [in] entry added (India) o [jp] entry added (Japan) o [my] entry added (Malaysia) o [th] entry added (Thailand) 11. manager.conf o webenabled variable added o httptimeout variable added o timestampevents variable added 12. mgcp.conf o Jitterbuffer support added 13. misdn.conf o l1watcher_timeout variable added o pp_l2_check variable added o echocancelwhenbridged variable added o echotraining variable added o max_incoming variable added o max_outgoing variable added 14. modules.conf o a comment for preloading res_speech.so is added o mention of global symbols is removed o obsolesced entries for chan_modem_* and app_intercom have been removed 15. musiconhold.conf o the default is now to do native moh from /var/lib/asterisk/moh 16. osp.conf o authpolicy variable added 17. oss.conf o debug variable added o device variable added o mixer variable added o boost variable added o callerid variable added o autohangup variable added o queuesize variable added o frags variable added o JitterBuffer support o sections to define alternate sound cards 18. queues.conf o autofill variable added o monitor-type variable added o musiconhold is now musicclass, with a difference in interpretation o autofill variable added o autopause variable added o setinterfacevar variable added o ringinuse variable added 19. res_odbc.conf o pooling variable added 20. rpt.conf o duplex variable added o tailmessagetime variable added o tailsquashedtime variable added o tailmessages variable added 21. rtp.conf o rtcpinterval varaible added 22. sip.conf o allowoverlap variable added o allowtransfer variable added o tos variable REMOVED o tos_sip variable added o tos_audio variable added o tos_video variable added o minexpiry variable added o t1min variable added o musicclass variable REMOVED o mohinterpret variable added o maxcallbitratesuggest variable added o allowsubscribe variable added o videosupport variable added o maxcallbitrate variable added o g726nonstandard variable added o dumphistory variable added o allowsubscribe variable added o t38pt_udptl variable added o canreinvite variable can also now be set to 'nonat' o rtsavesysname variable added o JitterBuffer support added o t38pt_usertpsource variable added 23. skinny.conf o port variable renamed to bindport o JitterBuffer support added o model variable REMOVED o mohinterpret variable added o mohsuggest variable added o speeddial variable added o addon variable added 24. voicemail.conf o userscontext variable added o smdiport variable added o attachfmt variable added o volgain variable added o tempgreetwarn variable added 25. zapata.conf o pritimer variable has improved documentation o New signalling method: fgccama o New signalling method: fgccamamf o outsignalling variable added o distinctiveringaftercid variable added o cidsignalling now also accepts v23_jp, and smdi o usesmdi variable added o smdiport variable added o mohinterpret variable added o mohsuggest variable added o JitterBuffer support added * Removed Codecs/Channels: 1. codec_g723 was removed because the actual codec implementation it was designed to use is not distributable 2. chan_modem_* and related modules are gone because the kernel support for those interfaces is old, buggy and unsupported * New Utils: 1. aelparse -- compile .ael files outside of asterisk * New manager events: 1. OriginateResponse event comes to replace OriginateSuccess and OriginateFailure * iLBC source code no longer included (see UPGRADE.txt for details) * New CLI command "pri show version" that shows the current version of libpri that the library was built against (requires a version of libpri since this API feature was added).