asterisk / CHANGES

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 <module> <verb> <args>
    * 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, 
      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
               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 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
              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